Topic 2 Computer Structure Here is a diagram representing a computer system. Note the direction of data flow between the different parts of the system. Input Output Backing Storage Main Memory RAM & ROM Processor
There are three sets of electrical lines which connect all the parts. The parts which go together to make up the computer system need to be able to communicate with one another. 2.1 Buses These sets of lines are called buses .
The Processor "sees" all the other parts of the computer, (ROM & RAM, Backing storage, Input and Output devices) as one continuous block of locations each with its own unique address. Addressability Each location has a different binary number which identifies it. This is its address . Giving every part of the computer a unique address allows the processor to communicate easily with any other part of the computer system and is known as addressability .
The three buses which carry signals around the computer system each have their own particular function. 1. Address Bus This is used by the Processor to indicate which location has to be accessed. It is a one-way bus from the processor as the processor dictates all movement of signals. The number of lines on the address bus determines the maximum amount of memory locations which can be accessed.
A 2 line address bus would allow addresses. 2 lines 00 01 10 11 because 2 2 = 4. because 2 3 = 8. X lines on the address bus allows addresses. A 24 line address bus allows 2 24 = 16Mb of addresses. A 32 line address bus allows 2 32 = 4Gb of addresses. 4 A 3 line address bus would allow addresses. 8 3 lines 000 001 010 011 100 101 110 111 2 x Address bus width and addressable memory
the size of each memory location. Calculating maximum memory size To calculate maximum memory size we need to consider two elements: the number of memory locations.(addresses) The following are assumed in the Higher course. The size of each memory location = data bus width = memory word size.
Consider the following example: Calculate the maximum memory size of a computer with a 24 bit address bus and a memory word size of 16 bits. A 24 bit address bus allows 2 24 addresses = 16 MB of addresses. Each address contains 16 bits = 2 bytes Maximum memory size = 16 MB x 2 bytes = 32 MB
2. Data bus This is the bus which is used to transfer the actual data to and from the locations. It is a two-way bus as data may be going to the processor ( Read ) or coming from the processor( Write ) .
Control bus With both the data and the address buses, each of the lines operate together, in parallel, at the same time, as a unit. e.g. It would not make sense to look at one of the lines on the address bus. You have to look at them all to see the full address. The Control bus is a collective name for a number of discrete lines each of which has a different function and operates at different times. They are best viewed as a number of individual lines .
<ul><li>Clock line </li></ul><ul><li>This line sends a regular series of pulses at a speed measured in </li></ul>We’ll start with three of the lines on the control bus: 1. Read line The processor activates this line to show that it wants to be sent ( read ) data from another part of the computer system. 2. Write line The processor activates this line to show that it wants to send ( write ) data to another part of the computer system. Hertz(Hz). Every event in the computer is timed to take place at particular points within the on/off cycle of each pulse. It controls the speed and timing of all operations in the computer.
Other lines on the control bus include: 4. Reset line This line resets (clears the contents of all) the registers inside the processor. This prepares it for carrying out a new task. 5. Interrupt line Devices send a signal in on this line to interrupt the processor when they need attention. e.g. the printer may be out of paper.
The two most basic operations which the processor carries out are and The processor works on data which is stored in main memory. It therefore spends a lot of time transferring data to and from the main memory. memory read memory write . You have now seen the processor, main memory and three buses. The processor uses the three buses to communicate with the main memory.
Memory Read 1. Processor copies the required address onto the address bus . 2. Processor activates the read line on the control bus . 3. Memory controller copies the data from the required address onto the data bus and the data is transferred from the main memory to the processor. Memory Write 1. Processor copies the required address onto the address bus . 3. Processor activates the write line on the control bus . 4. Memory controller copies the data from the data bus and puts it into the required memory location. 2. Processor copies the data onto the data bus .
2.2 Inside the processor The following components are generally found inside a Processor. Register Arithmetic & Logic unit. (ALU) Control Unit. (CU) Register Register Register The three buses(although not shown here) continue inside the processor to allow the components to communicate.
1. Registers A register is a storage location located inside the processor. A modern processor has many registers. Registers are used to hold : ● data which is being processed ● instructions which are being executed ● addresses which are about to be accessed. Register Register Register Register
2. Control Unit (CU) Control Unit. (CU) The Control Unit (CU) is responsible for ● sending out the pulses on the control bus clock line to synchronise the timing of events and direct the fetching and executing of instructions. ● decoding the instructions when they arrive from the RAM and executing them. (i.e. carrying them out)
3. Arithmetic & Logic Unit (ALU) Arithmetic & Logic unit. (ALU) The Arithmetic & Logic Unit is responsible for: ● carrying out the calculations on data being processed by a program. ● carrying out the logical decision making on data being processed by a program. This uses operators such as AND, OR, NOT .
2.3 The Stored Program concept. The sets of instructions are called and the processor spends its time fetching and executing instructions one at a time. Any problem can be solved by defining a sequence of instructions which are input and stored in A unit, called the , then fetches each instruction in turn and executes it. RAM . Processor programs This is known as the fetch-execute cycle .
2.4 The fetch-execute cycle. The steps in the fetch part of the cycle are always the same. 1. The processor sets up the with the address of the next instruction to be fetched. 2. The processor sends a on the control bus. 3. The instruction is then copied onto the from the correct memory location to a register in the CPU. 4. The CU (Control unit) the instruction and begins to it. address bus read signal The steps in the execute part of the cycle depend on the instruction to be executed. data bus decodes execute
2.5 Memory A computer has to store data and instructions. It uses uses various types of memory to do this. Registers Cache memory Main memory Backing storage Speed of access fastest slowest
Registers <ul><li>Registers </li></ul><ul><li>The registers are storage locations located inside the processor. </li></ul>Registers are used to hold : ● data which is being processed ● instructions which are being executed ● addresses which are about to be accessed. They allow the fastest access times as they are physically on the same chip as the processor. Cache memory Main memory Backing storage
Registers Cache memory Main memory Backing storage <ul><li>Cache memory </li></ul><ul><li>Cache memory is the second fastest type of memory. </li></ul>It is small amount of a fast type of Ram called static RAM(SRAM) which is used to store frequently accessed data and instructions . The processor looks here for data before going out to the main memory. If the data is here then it can be very quickly accessed. Modern computers will have around 1 or 2 Mb of cache memory.
Registers Cache memory Main memory Backing storage 3. Main memory Main memory is the third fastest type of memory. It is made of a large amount of a type of Ram called dynamic RAM (DRAM) which is used to store programs and data . It also contains a small of amount of ROM for operating system use. If the data or instructions cannot be found in the cache then the processor will access it from the main memory. Modern computers will have between 1 GB and 4GB of main memory.
Registers Cache memory Main memory Backing storage 4. Backing Storage Backing storage is the slowest type of memory. It is needed because it keeps its contents even when the power is switched off unlike the types of memory listed so far. There are many types of backing storage including Hard disk, DVD, CD,Floppy disk, magnetic tape, and solid state devices such as flash cards/memory sticks. Backing stores also tend to have a larger capacity than the faster types of memory. i.e. they can store more. The speed of access varies according to the backing store used. (except for ROM)
2.6 Computer Performance Measuring System performance How can you compare the performance of two computers? There are many ways to do this and some are better than others. We will be looking at four methods used for comparison: 1. Clock speed 3. FLOPS 4. Application based tests 2. MIPS
1. Clock speed 3. FLOPS 4. Application based tests 2. MIPS The clock speed is often given as a measure of computer performance but it really only measures processor speed . 2.6.1 Clock speed It seems reasonable to assume that a Pentium IV 3.6 Ghz is faster than a Pentium IV 2.8 GHz. These processors are both made by Intel, have the same instruction set and basically work in the same way. When comparing different makes and types of processor, however, the one with the faster clock speed may not be “better”. The slower processor may work more efficiently. Comparing clock speeds alone is a poor measure of performance .
1. Clock speed 3. FLOPS 4. Application based tests 2. MIPS Why can’t we just keep increasing the clock speed? 2.6.1 Clock speed <ul><li>The processor can overheat and this will cause damage. </li></ul><ul><li>The other components may not be able to keep up with the processor and so “bottlenecks occur”. </li></ul>
2.6.2 MIPS 1. Clock speed 3. FLOPS 4. Application based tests 2. MIPS MIPS measures how many instructions the processor executes per second. (millions of instructions per second) This seems like a good idea but different processors have different instruction sets and so they are difficult to compare. A manufacturer may choose a program with simple, fast instructions in it to make their processor look good. It doesn’t take into account the size and complexity of the instructions chosen for the tests.
2.6.3 FLOPS 1. Clock speed 3. FLOPS 4. Application based tests 2. MIPS (floating point operations per second) This measure involves getting the processor to carry out floating point operations .(calculations on real numbers) and measures how many it can do each second . Floating point operations are carried out in the same way by most processors so this is a better method than clock speed or MIPS. FLOPS only measures calculating speed and does not consider the type of applications that a user may want to run on the computer. (programs)
2.6.4 Application Based Tests 1. Clock speed 3. FLOPS 4. Application based tests 2. MIPS The tasks include loading large files, editing graphics, carrying out calculations etc. These are called benchmark tests and they show how well each processor can carry out specific tasks. The best measure of performance involves running a set of tests using typical examples of commonly used applications . Computers are given a score for each test depending on how well they perform and so overall scores can be compared. This is a very realistic way of measuring performance.
2.7 Performance factors The type of processor used plays a large part in determining system performance. However, other parts of the computer also have an effect on how well the computer performs. We will be looking at three factors which have an effect: 1. Data bus width 3. Data transfer rate to/from peripherals. 2. Cache memory
1. Data bus width 3. Data transfer rate to/from peripherals 2. Cache memory 2.7.1 Data bus width Data and instructions are transferred using the data bus. A 64 bit data bus can carry twice as much data at a time as a 32 bit data bus. A wider data bus means that more data can be transferred at a time and this therefore improves system performance. This assumes that the other components e.g. registers can cope with the larger amounts of data. Also less fetches from RAM are required which also improves system performance.
1. Data bus width 3. Data transfer rate to/from peripherals 2. Cache memory 2.7.2 Cache memory As you have already seen, cache memory is a small fast type of RAM which sits between the Processor and the main memory(RAM). Level 1 Cache is the fastest type of cache as it is physically on the same chip as the processor . Level 2 Cache is on a separate chip and so it is slower to access than Level 1. Both types are much faster than main memory RAM. Increasing the amount of cache memory improves the system performance.
1. Data bus width 3. Data transfer rate to/from peripherals 2. Cache memory 2.7.3 Data transfer rate to from/peripherals A peripheral is any device that is not part of the essential computer . (the processor, memory, and bus paths). Some peripherals are mounted in the same case with the main part of the computer, e.g. Other peripherals are outside the computer case , e.g. the hard disk drive, DVD drive, and network interface card (NIC) the printer, mouse, keyboard,scanner, attached by a wired or wireless connection
1. Data bus width 3. Data transfer rate to/from peripherals 2. Cache memory Data transfer rate to from/peripherals Peripheral devices transfer at different speeds and so these can have an effect on system performance too. The processor communicates with peripheral devices. e.g. loading a file from a hard disk, scanning an image etc. Using peripherals with fast data transfer rates will improve system performance. A hard disk drive spinning at 10000 rpm generally performs better than a 7200 rpm drive. http://www.pcguide.com/ref/hdd/index.htm (revolutions per minute) Peripheral device interfaces also transfer at different speeds .
2.8 Current trends in Computer Hardware Computer technology is constantly improving with new ideas and techniques to improve performance. The following three trends have been seen for many years: 1. Increasing clock speeds 3. Increasing backing storage capacity. 2. Increasing main memory
1. Increasing clock speeds 3. Increasing backing storage capacity. 2. Increasing main memory 2.8.1 Increasing clock speeds Clock speeds have increased rapidly over the years and are now measured in . A new desktop or laptop computer will have a processor with a clock speed of around AMD processors tend to have slower clock speeds than Intel processors but AMD argue that their processors are more efficient. Have a look at the websites for current figures and products. www.intel.co.uk www.amd.com Over the last year both and have announced that they will concentrate on other ways to improve system performance. Gigahertz 2.8 to 3.4 GHz. Intel AMD
1. Increasing clock speeds 3. Increasing backing storage capacity. 2. Increasing main memory 2.8.2 Increasing Main memory The technology for making Main memory (RAM) continues to improve and capacity has increased while costs continue to fall . A new desktop or laptop computer will have between and of RAM fitted as standard. Increasing the amount of main memory (RAM) is a very effective way of improving system performance. If a computer does not have enough RAM then it has to make use of the Hard disk drive for temporary storage too. 1GB 4GB This is called and is much slower to access than RAM. virtual memory
1. Increasing clock speeds 3. Increasing backing storage capacity. 2. Increasing main memory 2.8.3 Increasing backing storage capacity The technology for making Backing storage also continues to improve and capacity has increased while costs continue to fall . A new desktop computer will have a Hard disk drive of anywhere between and fitted as standard. 250 GB 1 TB Laptop computers tend to have smaller Hard disk drives with capacities from to 150 GB 500 GB . DVDs and solid state storage devices such as flash cards, memory sticks and memory cards also continue to increase in capacity while decreasing in price .