SLIDE 4 ENCM 501 W14 Slides for Lecture 1
slide 19/25
Operation of our Simple Computer, continued
Step 1: Fetch an instruction and update the PC. Copy
- ne or more bytes, starting at the address in the PC, into the
processor, then make the PC point at the next byte in memory that wasn’t part of the instruction. Remark: Step 1 is simple if all instructions are the same size, but quite messy if some instructions occupy more memory than other instructions. Step 2: Execute the instruction. Perform whatever tiny, simple task is specified by the instruction. Let’s make an informal list of the kinds of instructions we’ve seen in various computer instruction sets, with one or more specific examples of each kind of instruction.
ENCM 501 W14 Slides for Lecture 1
slide 20/25
Step 1, then Step 2, then Step 1, then Step 2 . . .
This model for computer operation is simultaneously seriously misleading regarding current computer systems (except perhaps the very “lowest-end” embedded computers) and supremely important. Let’s make a list of reasons why the model is seriously misleading. But why then is the model still supremely important?
ENCM 501 W14 Slides for Lecture 1
slide 21/25
What does “Computer Architecture” mean? (1)
It is surprisingly hard to come up with a simple, short definition of computer architecture. It’s kind of an “umbrella” term that includes a bunch of related ideas and activities. Let’s start at the level of instructions . . .
◮ What instructions are available to applications
programmers? This is often called instruction set architecture, or ISA.
◮ What additional instructions are provided to operating
system kernel programmers? (Examples: Instructions to query system state when an interrupt occurs, to manage virtual memory hardware, to control I/O devices, and so
ENCM 501 W14 Slides for Lecture 1
slide 22/25
What does “Computer Architecture” mean? (2)
Now let’s move a down one or two levels of abstraction . . .
◮ Given the ISA, how exactly are instructions handled by
processors—how deep are pipelines; can instructions be executed out-of-order? How is the memory system organized to minimize loss of clock cycles in fetching instructions and reading and writing data? This category of concern is sometimes called microarchitecture or organization.
◮ Given a microarchitecture, what are good ways to
implement it at the integrated circuit and printed circuit board level? These are hardware design problems.
ENCM 501 W14 Slides for Lecture 1
slide 23/25
It’s good to have a broad perspective on architecture
Obviously, ISA choice dictates much about microarchitecture, and microarchitecture dictates much about hardware. But the influences also work in the opposite direction, from lower to higher levels of abstraction. Cost of fabrication (a hardware issue) makes some microarchitectures attractive and others less attractive. Physical size of components may also matter. Aspects of microarchitecture matter when a new ISA is designed or an existing ISA is extended. Preference for relatively simple, clean microarchitecture might rule out some useful instructions.
ENCM 501 W14 Slides for Lecture 1
slide 24/25
ENCM 501 Course Topics
◮ introduction to computer system design goals and
performance measurement (textbook, Chapter 1)
◮ brief overview of ISA principles (parts of Appendix A) ◮ memory system design and performance assessment
(parts of Appendix B and Chapter 2)
◮ aspects of instruction-level parallelism (parts of
Appendix C and Chapter 3)
◮ aspects of thread-level parallelism (TLP) (parts of
Chapter 5)
◮ introduction to programming with TLP (not covered in
textbook)