Computer Architecture |
Thus a processor with a clock running at 100MHz is operating with 10ns clock cycles. Generally, a processor will execute one step every cycle, thus, for a memory load instruction, our simple processor needs:
| Step | Operation | Time (cycles) | Notes |
|---|---|---|---|
| 1 | PC to bus | 1 | |
| 2 | Memory response | tac | |
| 3 | Decode and register access | 1 | |
| 4 | ALU operation and latch result to MAR | 1 | |
| 5 | Memory response | tac | |
| 6 | Increment PC | - | Overlap with step 3 |
| Total | 3 + 2*tac |
| Step | Operation | Time (cycles) | Notes |
|---|---|---|---|
| 1 | PC to bus | 1 | |
| 2 | Memory response | tac | |
| 3 | Decode and register access | 1 | |
| 4 | ALU operation and latch result to destination register | 1 | |
| 5 | Increment PC | - | Overlap with step 3 |
| Total | 3 + tac |
| 1/(150x10-9) | = ~6.6 x 106 instructions per second |
| = ~6.6 MIPS |
conflicts with programmers' and users' desires for more and more capabilities and more elaborate user interfaces in their programs - resulting in programs that require megabytes of main memory to run! This has led the memory manufacturers to concentrate on density (improving the number of bits stored in a single package) rather than speed. They have been remarkably successful in this: the growth in capacity of the standard DRAM chips which form the bulk of any computer's semiconductor memory has matched the increase in speed of processors. However the increase in DRAM access speeds has been much more modest - even if we consider recent developments in synchronous RAM and FRAM. Another reason for the manufacturer's concentration on density is that a small increase in DRAM access time has a negligible effect on the effective access time which needs to include overheads for bus protocols. (The 100ns figure used above assumes 60ns of DRAM access time and a - very optimistic - allowance of 40ns for bus overhead.)
Cache memories are the most significant device used to reduce memory overheads and they will be examined in some detail later. However, a host of other techniques such as pipelining, pre-fetching, branch prediction, etc are all used to alleviate the impact of memory fetch times on performance.
| Continue on to ALUs | Back to the Table of Contents |
| © John Morris, 1998 | |