Chapter02Rev16 - Chapter 2 (Revision number 16) Processor...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Chapter 2 (Revision number 16) Processor Architecture Two architectural issues surround processor design: the instruction set and the organization of the machine. There was a time, in the early days of computing (circa 60’s ad 70’s) when processor design was viewed as entirely an exercise in hardware left to electrical engineers. Computers were programmed largely in assembly language and so the fancier the instruction set the simpler the application programs! Or so went the conventional wisdom! With the advent of modern programming languages starting with Algol in the 60’s, and rapid advances in compiler technology, it became very clear that processor design is not simply a hardware exercise. In particular, the instruction set design is intimately related to how effectively the compiler can generate code for the processor. More generally, several aspects of the system software influence the instruction set design. First let us understand how the programming language exerts influence on instruction set design. The constructs in high-level language such as statements and expressions map to arithmetic and logic instructions, load/store instructions, and branch instructions; the data structures expressed in high level language call for different granularities of operands and addressing modes; supporting modularization concepts such as procedures in high level language may require additional support from the processor architecture. The operating system has influence on instruction set design as well. A processor may appear to be running several programs at the same time. Think about your PC or PDA. There are several programs running but clearly, there are not several processors. Therefore, there needs to be a way of remembering what a particular program is doing before we go on to another program. Have you seen an efficient cook working on four woks simultaneously making four different dishes? She remembers what state each dish is in and at appropriate times adds the right ingredients to the dishes. The operating system is the software entity that orchestrates different program executions on the processor. What is an operating system? Is it a program itself? Yes it is. It has its own influence on processor design and we will come back to that later on. 2.1 What is involved in processor design? There are hardware resources that we know about from a course on logic design such as registers, arithmetic and logic unit, and the datapath that connects all these resources together. Of course, there are other resources such as main memory for holding programs and data, multiplexers for selecting from a set of input sources, buses for interconnecting the processor resources to the memory, and drivers for putting information from the resources in the datapath onto the buses. We will visit datapath design shortly. As an analogy, we can think of these hardware resources as the alphabet of a language
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 45

Chapter02Rev16 - Chapter 2 (Revision number 16) Processor...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online