System Unit
Output device
Output device
Output device
Input device
Input device
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)
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”
The CPU controls all of the other resources within the system, in order to accomplish a task.
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
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
Arithmetic / Logic Unit
Control Unit
Registers
Performs calculations and decisions
Coordinates processing steps
Small, fast storage areas for instructions and data
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 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 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 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)
Storage is usually too large to be expressed in bytes or words . Instead we use:
Kilobyte (KB) = 1024 bytes (2 10 bytes)
Megabyte (MB) = 1024 x 1024 bytes or one Million bytes (2 20 bytes)
Gigabyte (GB) = 1024 x 1024 x 1024 bytes or one Billion bytes (2 30 bytes)
Terabyte (TB) = 1024 x 1024 x 1024 x 1024 bytes one Trillion bytes (2 40 bytes)
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
5248
5249
5250
5251
5252
5253
5254
5255
5256
10011010
Each memory cell stores a set number of bits (some computers use 8 bits/one byte , others use words )
A word is stored in consecutive memory bytes.
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.
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.
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).
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.
An instruction is a sequence of bits.
A simple instruction format may consist of an operation code (op code) and an address or operands.
Op Code Operands / Address
Instructions tell the computer’s CPU what to do.
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.
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.
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).
CPU
Program Counter (PC)
Instruction Register add r3, r1, r2
General Purpose Registers
33
45
78 r1 r2 r3
Fetch
Get instruction and increment PC
Decode
Determine what the instruction is ( add )
Execute
In this case add r1 and r2 and put result in r3 .
Main Memory
… add r3, r1, r2
3020
3021
3022
3023
3024
3025
3026
3027
3028
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
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.
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.
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.
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
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.