340 likes | 548 Views
Computer Systems . CS208. Major Components of a Computer System. Processor (CPU) Runs program instructions Main Memory Storage for running programs and current data Secondary Storage Long-term program & data storage (hard disk, CD, etc) Input Devices
E N D
Computer Systems CS208
Major Components of a Computer System • Processor (CPU) • Runs program instructions • Main Memory • Storage for running programs and current data • Secondary Storage • Long-term program & data storage (hard disk, CD, etc) • Input Devices • Communication from the user to the computer(e.g. keyboard, mouse) • Output Devices • Communication from the computer to the user (e.g. monitor, printer, speakers)
Parts of a PC • System Unit - the metal box that houses the processor, main memory, and secondary storage devices. • Input and output devices - attached to the system unit via a device controller. • The terms "input" and "output" tell you if data flow is into or out of the system unit. • Abbreviated to “I/O”
System Unit Output device Output device Output device Input device Input device Computer Systems
The Processor • The processor is the "brain" of the computer system. • Main processor is called the Central Processing Unit (CPU). • A particular computer will have a particular type of processor, such as a Pentium or a SPARC chip. • Co-processors assist the CPU with some of the processing functions. Examples: • Math co-processors handle heavy duty math processing • Graphics coprocessors speed up the display of graphics onto the monitor
Component Interaction The CPU controls all of the other resources within the system, in order to accomplish a task.
The CPU • The CPU is a silicon chip that contains millions of tiny electrical components. • The CPU’s three main parts are: • Control Unit • Arithmetic Logic Unit (ALU) • Registers
Central Processing Unit (CPU) Performs calculations and decisions Arithmetic / Logic Unit Coordinates processing steps Control Unit Small, fast storage areas for instructions and data Registers
Registers • Registers are small, fast memory within the CPU • Different registers hold different things • instructions and addresses of instructions • data (operands) • results of operations
Special Purpose Registers Special Purpose Registers contain specific information the CPU needs. • Instruction Register (IR)contains the actual instruction which is currently being executed by the CPU. • The Program Counter (PC)contains the address of the next instruction to be executed by the program.
General Purpose Registers • General Purpose Registers hold: • the operands for arithmetic and logical operations (ie. the values on which the operation will be performed) • the results of such operations • So General Purpose Registers are used for holding and manipulating data used by the CPU
Computer Systems Not All Processors Are Created Equal Newer machines use specialized processor chips that have been developed to speed up the processing of data. • CISC ‑ Complex instruction set computer • Large instruction set, many formats • RISC ‑ Reduced instruction set computer • Small instruction set, single or small variations in format • MPP ‑ Massive parallel processing • Many CPUs working in parallel
Memory Computer Memory - millions/billions of on/off charges Divided into: • Bits 0 or 1 • Bytes Groups of 8 bits A byte is the smallest unit of storage. (Can hold one text character) • Words Groups of bits/bytes (8, 16, 32, 64-bits)
Memory Storage is usually too large to be expressed in bytes or words. Instead we use: • Kilobyte (KB) = 1024 bytes (210 bytes) • Megabyte (MB) = 1024 x 1024 bytes orone million bytes (220 bytes) • Gigabyte (GB) = 1024 x 1024 x 1024 bytes or one trillion bytes (230 bytes) • Terabyte (TB) = 1024 x 1024 x 1024 x 1024 bytes one quadrillion bytes (240 bytes)
Main Memory • Each computer has a specific word size • Word sizes vary from computer to computer. • Word size is an even multiple of a bytes. • Each word within memory can hold either • data or • program instructions
Each memory cell has a numeric address, which uniquely identifies its location Each memory cell stores a set number of bits (some computers use 8 bits/one byte, others use words) 10011010 A word is stored in consecutive memory bytes. Main Memory 5248 5249 5250 5251 5252 5253 5254 5255 5256
CPU and Memory • CPU can interact with main memory in two ways: • It can write a byte/word to a given memory location. • The previous bits that were in that location are destroyed • The new bits are saved for future use. • It can read a byte/word from a given memory location. • The CPU copies the bits stored at that location and stores them in a CPU register • The contents of the memory location are NOT changed.
Main Memory Characteristics • Very closely connected to the CPU. • Contents are quickly and easily changed. • Holds the programs and data that the processor is actively working with. • Interacts with the processor millions of times per second. • Nothing permanent is kept in main memory.
Secondary Storage Characteristics • Connected to main memory through a bus and a device controller. • Contents are easily changed, but access is very slow compared to main memory. • Only occasionally interacts with CPU. • Used for long-term storage of programs and data. • Much larger than main memory (GBs vs. MBs).
Program Instructions • Programs instructions are stored in secondary storage (hard disks, CD-ROM, DVD). • To process data, the CPU requires a working area • Uses Main Memory • Also called: RAM (random access memory), primary storage, and internal memory. • Before a program is run, instructions must first be copied from the slow secondary storage into fast main memory • Provides the CPU with fast access to instructions to execute.
Op Code Operands / Address Instructions • An instruction is a sequence of bits. • A simple instruction format may consist of an operation code (op code) and an address or operands. • Instructions tell the computer’s CPU what to do.
Instructions • The operation code specifies the operation the computer is to carry out (add, compare, etc) • The operand/address area can store an operand or an address • An operand is a specific value or a register number • An address allows the instruction to refer to a location in main memory • The CPU runs each instruction in the program, starting with instruction 0, using the fetch-decode-execute cycle.
Fetch-Decode-Execute Cycle • During the fetch part,the CPU fetches the next instruction from the address contained in the Program Counter and places the instruction in the Instruction Register. • When a program starts, the program counter contains 0, so the instruction at address 0 is fetched. • As soon as an instruction is fetched, the CPU adds 1 word to the contents of the Program Counter, so that it will contain the address of the next sequential instruction.
Fetch-Decode-Execute Cycle • The decode unit within the CPU deciphers the instruction in the Instruction Register and determines what operations need to be done and what type of operands will be used (decode part). • During the execution part, the specified operation is performed (add, compare, etc). • After execution of the instruction has been completed the cycle starts all over again (unless the instruction terminates the program).
Main Memory … 3020 3021 3022 3023 3024 3025 3026 3027 3028 … add r3, r1, r2 Fetch-Decode-Execute Diagram CPU Fetch Get instruction and increment PC Program Counter (PC) 3024 3023 Instruction Register add r3, r1, r2 Decode Determine what the instruction is (add) General Purpose Registers 33 r1 r2 r3 45 Execute In this case add r1 and r2 and put result in r3. 78 Then begin again by Fetching the instruction in 3024….
Clocks • Computer systems have an internal clock, which is used to synchronize their activities. • Processors run at a particular clock speed. • Clock speed is measured in Hertz • One Hertz is one clock tick per second. • MHz means mega Hertz • One MHz is one million clock ticks per second. • The clock speed determines how fast instructions can be run
Access to Instructions The hard disk is too slow to provide instructions to the CPU. So programs are first loaded into main memory, which is much faster. The CPU can then access the instructions more quickly.
Cache Memory • But as CPU speeds became faster, the main memory couldn’t provide the CPU with the instructions at a fast enough rate. • So even faster memory ( cache memory) is now placed between the CPU and main memory to provide the instructions at an quicker rate to the CPU.
Cache Memory When an instruction or data is accessed from main memory, it is placed in the cache. Second and subsequent use of the same instruction/data will then be faster, since it is accessed directly from the cache.
Primary and Secondary Cache Memory • Most modern CPUs now have a cache memory (L1), on the same silicon wafer as the CPU, to provide the CPU with instructions at the same clock speed as the CPU. • An additional off-the-chip secondary cache (L2) may also interact with the CPU at a slower speed.
Applications e.g. Word, Netscape, etc Operating System – - the user interface Software that controls the hardware devices User view of Computer Systems
How Programs Are Run • The operating system presents an interface to the user (e.g. Windows Desktop) • The user double clicks on an icon to run a program (e.g. Microsoft Word) • The operating system copies the program (or at least the first part of it) from the hard disk into main memory • The CPU runs the instructions in the program, and presents the initial Word screen • Within Word, the user uses the menu to open a document • The application software (Word) asks the Operating System to open the file. • The Operating System communicates with the hardware to open the file on the hard disk.