CS61c Introduction to Synchronous Digital Systems J Wawrzynek October 8 2007 Reading P H Appendix B 1 Instruction Set Architecture Among the topics we studied thus far this semester was the following big idea Our high level language programs C or C for instance are converted to a list of assembly language instructions which in term are converted to a set of machine instructions C assembly language machine language Language constructs data structures list of CPU instructions with memory references list of binary coded machine instructions How are these instructions carried out What happens to the machine instructions One thing we can do is to read them into a simulator such as MARS or SPIM However most of the time we are interested in actually running the instruction on real hardware How does the hardware execute our instructions That is the topic of the remainder of the semester The set of opcodes that a processor can carry out along with a description of the processor state all the user visible registers is called the Instruction Set Architecture ISA Software Instruction Set Architecture Hardware It is an abstraction of the hardware for the benefit of the software More precisely it is a 2 way contract between the hardware and the software 1 Wawrzynek 2007 c UCB 2 The hardware promises that it will faithfully implement the ISA and the software promises to only try to do things supported by the ISA Software designers can write operating systems compilers and applications without fear that their software will not work on new versions of the hardware Also the software really doesn t know nor should care about how the hardware implements the ISA Therefore the hardware designer is free to design and optimize the implementation of the processor as he she sees fit It can be tailored to the latest technology or to some particular market need a particular price or performance point for instance as long as the design meets the contract by faithfully implementing the ISA As new more advanced implementations can come along all our old programs and operating systems will still function The ISA is an abstraction and doesn t specify in detail how the instruction execution should be implemented Consequently their are many different ways to design the processor We will study a few of the basic concepts behind processor design leaving many of the performance enhancements for CS152 2 The Physical Hardware We will start by looking at a photograph of a microprocessor This one is from a few years ago but still is representative of today s processors CS61c Lecture Notes 3 This microprocessor happens to be a powerPC similar to what user to be inside Apple computers However most processors even ones with different instructions set for instance the MIPS look very similar to this picture Notice the various blocks labeled on the photograph We will be discussing these later this semester Here are the specifications for this particular processor Superscalar 3 instructions cycle 6 execution units 2 integer and 1 double precision IEEE floating point 32 KByte Instructions and 32 KBytes Data L1 caches Dual Memory Management Units MMU with Translation Lookaside Buffers TLB External L2 Cache interface with integrated controller and cache tags supports up to 1 MByte external L2 cache The picture gives you a good idea of the relative complexity of the various sub blocks In the world of integrated circuit chip design area cost Bigger chips are much more expensive to make than smaller chips Chip real estate is a precious commodity Designers work hard to make each function as physically small as possible without hurting overall performance If we zoomed in with a microscope each subpiece would look very similar to the others because they are all made of the same basic stuff wires and transistors In fact we call these devices integrated circuits because they put together multiple transistors and the necessary wires to connect them together Early chips non ICs had a single transistor or two without the necessary wires These days state of the art ICs have transistor counts in the 10 s to 100 s of Millions We are not going to go into the details of how transistors operate Suffice it to say that small collections of transistors are joined to make simple functional blocks which in turn are joined to make bigger blocks etc We will stop our investigations at the level of the simplest function units logic gates and flip flops Below is an example of a simple unit We will only consider the representation on the right not the transistor level details EECS40 covers transistor level implementations in detail Surrounding the inner part of the chip the core is a set of connections to the outside world Usually these connect through some wires in the plastic or ceramic package to the printed circuit board PCB In the case of most computers this PCB would be the motherboard Some of these connections go to the main memory and the system bus A fair number of the pins are used to connect to the power supply The power supply takes the 110 Volt AC from the wall socket provided by PG E and converts it to low voltage DC usually in the range of around 1 to 5 volts depending on the particular chip used Wawrzynek 2007 c UCB 4 The DC voltage is measured relative to ground potential GND Power connections to the chip from the power supply are of two types GND and DC Voltage labeled Vdd The energy provided by the power supply drives the operation of the processor The energy is used to move electric charge from place to place in the circuits and in the process is dissipated as heat These days a processor my use on the order of 10 watts like a not so bright light bulb 3 Signals and Waveforms Another special connection to the chip is the clock input signal The clock signal is generated on the motherboard and sent to the chip where it is distributed throughout the processor on internal wires The clock signal is the heartbeat of the system It controls the timing of the flow of electric charge and thus information through out the processor and off chip to the memory and system bus If we had a very small probe we could examine the signal on the clock wires by looking at the voltage level on the wire We would see a blur because the clock signal is oscillating at a very high frequency around 1 billion cycles second or 1GHz these days If we could record it for a brief instant and plot it out we would see something like Note the clock signal is very regular It is
View Full Document
Unlocking...