Computer Systems Design and Architecture by V. Heuring and H. Jordan



Similar documents
Chapter 2 Logic Gates and Introduction to Computer Architecture

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

MICROPROCESSOR AND MICROCOMPUTER BASICS

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

CHAPTER 7: The CPU and Memory

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

CHAPTER 4 MARIE: An Introduction to a Simple Computer

İSTANBUL AYDIN UNIVERSITY

CPU Organization and Assembly Language

The Central Processing Unit:

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

EE361: Digital Computer Organization Course Syllabus

Microprocessor or Microcontroller?

Introducción. Diseño de sistemas digitales.1

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Faculty of Engineering Student Number:

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

(Refer Slide Time: 02:39)

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Computer Systems Structure Input/Output

Data Cables. Schmitt TTL LABORATORY ELECTRONICS II

Chapter 3: Computer Hardware Components: CPU, Memory, and I/O

Central Processing Unit (CPU)

EMBEDDED SYSTEM BASICS AND APPLICATION

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

Chapter 13. PIC Family Microcontroller

PART B QUESTIONS AND ANSWERS UNIT I

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Architectures and Platforms

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

Central Processing Unit

Here is a diagram of a simple computer system: (this diagram will be the one needed for exams) CPU. cache

CISC, RISC, and DSP Microprocessors

Computer Systems Structure Main Memory Organization

Instruction Set Design

Instruction Set Architecture (ISA)

Chapter 1 Computer System Overview

Multiple Choice Questions(Computer)

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Introduction to Computer Architecture Concepts

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

Introduction to Digital System Design

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

Administrative Issues

CHAPTER 3 Boolean Algebra and Digital Logic

CHAPTER 6: Computer System Organisation 1. The Computer System's Primary Functions

Microprocessor & Assembly Language

SECTION C [short essay] [Not to exceed 120 words, Answer any SIX questions. Each question carries FOUR marks] 6 x 4=24 marks

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

ARM Microprocessor and ARM-Based Microcontrollers

Computer Organization and Architecture

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

8051 MICROCONTROLLER COURSE

Switch Fabric Implementation Using Shared Memory

2011, The McGraw-Hill Companies, Inc. Chapter 3

Main Memory & Backing Store. Main memory backing storage devices

CPU Organisation and Operation

Computer Organization. and Instruction Execution. August 22

Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin

8051 hardware summary

MULTIPLE CHOICE FREE RESPONSE QUESTIONS

Programming Logic controllers

Block diagram of typical laptop/desktop

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

1 PERSONAL COMPUTERS

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

TYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS

Design Cycle for Microprocessors

COMPUTER ORGANIZATION AND ARCHITECTURE. Slides Courtesy of Carl Hamacher, Computer Organization, Fifth edition,mcgrawhill

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

Spacecraft Computer Systems. Colonel John E. Keesee

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Hardware: Input, Processing, and Output Devices. A PC in Every Home. Assembling a Computer System

Solution: start more than one instruction in the same clock cycle CPI < 1 (or IPC > 1, Instructions per Cycle) Two approaches:

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

A Lab Course on Computer Architecture

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

1 Computer hardware. Peripheral Bus device "B" Peripheral device. controller. Memory. Central Processing Unit (CPU)

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

MACHINE ARCHITECTURE & LANGUAGE

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

(Refer Slide Time: 00:01:16 min)

ELE 356 Computer Engineering II. Section 1 Foundations Class 6 Architecture

Price/performance Modern Memory Hierarchy

MACHINE INSTRUCTIONS AND PROGRAMS

Computer Architecture TDTS10

Unit A451: Computer systems and programming. Section 2: Computing Hardware 1/5: Central Processing Unit

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

Transcription:

1-1 Chapter 1 - The General Purpose Machine Computer Systems Design and Architecture Vincent P. Heuring and Harry F. Jordan Department of Electrical and Computer Engineering University of Colorado - Boulder

1-2 Chapter 1 - The General Purpose Machine Course Goals: Understanding Structure and Function of Digital Computer at 3 Levels This course Multiple levels of computer operation Application level High Level Language(s), HLL, level(s) Assembly/machine language level: instruction set System architecture level: subsystems & connections Digital logic level: gates, memory elements, buses Electronic design level Semiconductor physics level Interactions and relations between levels View of machine at each level Tasks and tools at each level Historical perspective Trends and research activities

1-3 Chapter 1 - The General Purpose Machine Prerequisites Experience with a high level language Pascal C, etc. Assembly language programming Digital logic circuits (EE/CS/CoE 260) Appendix A summarizes logic design

1-4 Chapter 1 - The General Purpose Machine Text Overview 1: The General Purpose Machine 2: Machines, Machine Languages, and Digital Logic 3: Some Real Machines 4: Processor Design at the Gate Level 5: Processor Design - Advanced Topics 6: Computer Arithmetic and the Arithmetic Unit 7: Memory System Design 8: Input and Output 9: Peripheral Devices 10: Communications, Networking and the Internet

1-5 Chapter 1 - The General Purpose Machine Chapter 1 Summary Three Views of the General Purpose Machine: 1.2 The User s View 1.3 The Assembly/Machine Language Programmer s View Instruction set architecture - ISA Registers, memory, and instructions The stored program The fetch execute cycle 1.4 The Computer Architect s View System design & balance 1.5 The Digital Logic Designer s View Realization of specified function from concept to logic hardware Also discussed: Historical Perspective, Trends and Research, Approach of the Text

1-6 Chapter 1 - The General Purpose Machine Looking Ahead - Chapter 2 Explores the nature of machines and machine languages Relationship of machines and languages Generic 32 bit Simple RISC Computer - SRC Register transfer notation - RTN The main function of the CPU is the Register Transfer RTN provides a formal specification of machine structure and function Maps directly to hardware RTN and SRC will be used for examples in subsequent chapters Provides a general discussion of addressing modes Presents a view of logic design aimed at implementing registers and register transfers

1-7 Chapter 1 - The General Purpose Machine Looking Ahead - Chapter 4 This keystone chapter describes processor design at the logic gate level Describes the connection between the instruction set and the hardware Develops alternative 1-2- and 3- bus designs of SRC at the gate level RTN provides description of structure and function at low and high levels Shows how to design the control unit that makes it all run Describes two additional machine features: implementation of exceptions (interrupts) machine reset capability

1-8 Chapter 1 - The General Purpose Machine Looking Ahead - Chapter 5 Important advanced topics in CPU design General discussion of pipelining having more than one instruction executing simultaneously requirements on the instruction set how instruction classes influence design pipeline hazards: detection & management Design of a pipelined version of SRC Instruction-level parallelism issuing more than one instruction simultaneously Superscalar and VLIW designs Microcoding as a way to implement control

1-9 Chapter 1 - The General Purpose Machine Looking Ahead - Chapter 6 The arithmetic and logic unit: ALU Impact on system performance Digital number systems and arithmetic in an arbitrary radix number systems and radix conversion integer add, subtract, multiply, and divide Time/space trade-offs: fast parallel arithmetic Floating point representations and operations Branching and the ALU Logic operations ALU hardware design

1-10 Chapter 1 - The General Purpose Machine Looking Ahead - Chapter 7 The memory subsystem of the computer Structure of 1-bit RAM and ROM cells RAM chips, boards, and modules Concept of a memory hierarchy nature of different levels interaction of adjacent levels Virtual memory Cache design: matching cache & main memory Memory as a complete system

1-11 Chapter 1 - The General Purpose Machine Looking Ahead - Chapter 8 Computer input and output: I/O Kinds of system buses, signals and timing Serial and parallel interfaces Interrupts and the I/O system Direct memory access - DMA DMA, interrupts, and the I/O system The hardware/software interface: device drivers

1-12 Chapter 1 - The General Purpose Machine Chapter 1 - A Perspective Alan Turing showed that an abstract computer, a Turing machine, can compute any function that is computable by any means A general purpose computer with enough memory is equivalent to a Turing machine Over 50 years, computers have evolved from memory size of 1 kiloword (1024 words) clock periods of 1 millisecond (0.001 s.) to memory size of a Terabyte (2 40 bytes) and clock periods of less than one ns (10-9 s). More speed and capacity is needed for many applications, such as real-time 3D animation

1-13 Chapter 1 - The General Purpose Machine Scales, Units, and Conventions Term Normal Usage As a power of 2 K (kilo-) M (mega-) G (giga-) T (tera-) 10 3 10 6 10 9 10 12 2 10 = 1024 2 20 = 1,048,576 2 30 = 1,073,741,824 2 40 = 1,099,511,627,776 Term m (milli-) µ (micro-) n (nano-) p (pico-) Usage 10-3 10-6 10-9 10-12 Note the differences between usages. You should commit the powers of 2 and 10 to memory. Units: Bit (b), Byte (B), Nibble, Word (w), Double Word, Long Word Second (s), Hertz (Hz)

1-14 Chapter 1 - The General Purpose Machine Fig 1.1 The User s View of a Computer 1.10 Looking Ahead The intellectual synthesis that comes from viewing a computer system from each the three perspectives leads to an efficient, effective computer design. It is when you understand how a machine functions at the gate, ISA, and the system architecture level your career objective is in Computer Science, Computer Engineering, or some other aspect of computers it is our sincerest hope that this book that you fully understand the machine. Whether will serve you by providing that understanding. The user sees software, speed, storage capacity, and peripheral device functionality.

1-15 Chapter 1 - The General Purpose Machine Machine/assembly Language Programmer s View Machine language: Set of fundamental instructions the machine can execute Expressed as a pattern of 1 s and 0 s Assembly language: Alphanumeric equivalent of machine language Mnemonics more human oriented than 1 s and 0 s Assembler: Computer program that transliterates (one-to-one mapping) assembly to machine language Computer s native language is assembly/machine language Programmer, as used in this course, means assembly/machine language programmer

1-16 Chapter 1 - The General Purpose Machine Machine and Assembly Language The assembler converts assembly language to machine language. You must also know how to do this. Op code Data reg. #5 Data reg. #4 MC68000 Assembly Language MOVE.W D4, D5 Machine Language 0011 101 000 000 100 ADDI.W #9, D2 0000 000 010 111 100 0000 0000 0000 1001 Tbl 1.2 Two Motorola MC68000 instructions

1-17 Chapter 1 - The General Purpose Machine The Stored Program Concept The stored program concept says that the program is stored with data in the computer s memory. The computer is able to manipulate it as data for example, to load it from disk, move it in memory, and store it back on disk. It is the basic operating principle for every computer. It is so common that it is taken for granted. Without it, every instruction would have to be initiated manually.

1-18 Chapter 1 - The General Purpose Machine Fig 1.2 The Fetch-Execute Cycle MC68000 CPU 31 0 Main memory 0 Various CPU registers 0011 101 000 000 100 4000 PC 15 0 4000 IR 15 0 0011 101 000 000 100 15 0 2 31 1 Control signals The control unit

1-19 Chapter 1 - The General Purpose Machine Programmer s Model: Instruction Set Architecture (ISA) Instruction set: the collection of all machine operations. Programmer sees set of instructions, along with the machine resources manipulated by them. ISA includes instruction set, memory, and programmer accessible registers of the system. There may be temporary or scratch-pad memory used to implement some function is not part of ISA. Non Programmer Accessible.

1-20 Chapter 1 - The General Purpose Machine Fig 1.3 Programmer s Models of 4 commercial machines M6800 I8086 VAX11 PPC601 (introduced 1975) (introduced 1979) (introduced 1981) (introduced 1993) 15 7 6 special purpose registers 2 16 bytes of main memory capacity Fewer than 100 instructions 0 15 8 7 0 31 0 A B IX SP PC Status 0 2 16 1 Data registers Address and count registers Memory segment registers 2 20 bytes of main memory capacity More than 120 instructions AX BX CX DX SP BP SI DI CS DS SS ES IP Status 0 2 20 1 12 general purpose registers 2 32 bytes of main memory capacity More than 300 instructions R0 R11 AP FP SP PC PSW 0 2 32 1 0 63 0 32 64-bit floating point registers 31 0 31 0 32 32-bit general purpose registers 31 0 31 More than 50 32-bit special purpose registers 2 52 bytes of main memory capacity More than 250 instructions 0 2 52 1

1-21 Chapter 1 - The General Purpose Machine Machine, Processor, and Memory State The Machine State: contents of all registers in system, accessible to programmer or not The Processor State: registers internal to the CPU The Memory State: contents of registers in the memory system State is used in the formal finite state machine sense Maintaining or restoring the machine and processor state is important to many operations, especially procedure calls and interrupts

1-22 Chapter 1 - The General Purpose Machine Data Type: HLL Versus Machine Language HLL s provide type checking Verifies proper use of variables at compile time Allows compiler to determine memory requirements Helps detect bad programming practices Most machines have no type checking The machine sees only strings of bits Instructions interpret the strings as a type: usually limited to signed or unsigned integers and FP #s A given 32 bit word might be an instruction, an integer, a FP #, or four ASCII characters

1-23 Chapter 1 - The General Purpose Machine Table 1.3 Examples of HLL to Assembly Language Mapping Ins truction Clas s C VAX Assembly Language Data Movement Arit hmet ic/ logic Cont rol flow a = b b = c + d*e got o LBL MOV b, a MPY d, e, b ADD c, b, b BR LBL This compiler: Maps C integers to 32 bit VAX integers Maps C assign, *, and + to VAX MOV, MPY, and ADD Maps C goto to VAX BR instruction The compiler writer must develop this mapping for each language-machine pair

1-24 Chapter 1 - The General Purpose Machine Tools of the Assembly Language Programmer s Trade The assembler The linker The debugger or monitor The development system

1-25 Chapter 1 - The General Purpose Machine Who Uses Assembly Language The machine designer must implement and trade-off instruction functionality The compiler writer must generate machine language from a HLL The writer of time or space critical code Performance goals may force program specific optimizations of the assembly language Special purpose or embedded processor programmers Special functions and heavy dependence on unique I/O devices can make HLL s useless

1-26 Chapter 1 - The General Purpose Machine The Computer Architect s View Architect is concerned with design & performance Designs the ISA for optimum programming utility and optimum performance of implementation Designs the hardware for best implementation of the instructions Uses performance measurement tools, such as benchmark programs, to see that goals are met Balances performance of building blocks such as CPU, memory, I/O devices, and interconnections Meets performance goals at lowest cost

1-27 Chapter 1 - The General Purpose Machine Buses as Multiplexers Interconnections are very important to computer Most connections are shared A bus is a time-shared connection or multiplexer A bus provides a data path and control Buses may be serial, parallel, or a combination Serial buses transmit one bit at a time Parallel buses transmit many bits simultaneously on many wires

1-28 Chapter 1 - The General Purpose Machine Fig 1.4 One and Two Bus Architecture Examples Memory Memory Memory bus CPU CPU Input/ output subsystem n Input/ output subsystem I/O bus Input/output devices (a) One bus n-bit system bus Input/output devices (b) Two buses

1-29 Chapter 1 - The General Purpose Machine Fig 1.5 Getting Specific: Apple Quadra 950 Bus (simplified) LocalTalk interface LocalTalk bus Printers, other computers ADB transceiver ADB bus Keyboard, mouse, bit pads System bus SCSI interface SCSI bus Disk drives, CD ROM drives CPU NuBus interface NuBus Video and special purpose cards Ethernet transceiver Ethernet Other computers Memory

1-30 Chapter 1 - The General Purpose Machine Getting Specific: Intel BX Chipset

1-31 Chapter 1 - The General Purpose Machine Getting Specific: Intel 810 Chipset

1-32 Chapter 1 - The General Purpose Machine Getting Specific: Intel 850 Chipset

1-33 Chapter 1 - The General Purpose Machine Fig 1.6 The Memory Hierarchy Modern computers have a hierarchy of memories Allows tradeoffs of speed/cost/volatility/size, etc. CPU sees common view of levels of the hierarchy. CPU Cache Memory Main Memory Disk Memory Tape Me mory

1-34 Chapter 1 - The General Purpose Machine Tools of the Architect s Trade Software models, simulators and emulators Performance benchmark programs Specialized measurement programs Data flow and bottleneck analysis Subsystem balance analysis Parts, manufacturing, and testing cost analysis

1-35 Chapter 1 - The General Purpose Machine Logic Designer s View Designs the machine at the logic gate level The design determines whether the architect meets cost and performance goals Architect and logic designer may be a single person or team

1-36 Chapter 1 - The General Purpose Machine Implementation Domains An implementation domain is the collection of devices, logic levels, etc. which the designer uses. Possible implementation domains: VLSI on silicon TTL or ECL chips Gallium Arsenide chips PLA s or sea-of-gates arrays Fluidic logic or optical switches

1-37 Chapter 1 - The General Purpose Machine The Distinction between Classical Logic Design and Computer Logic Design The entire computer is too complex for traditional FSM design techniques FSM techniques can be used in the small There is a natural separation between data and control Data path: storage cells, arithmetic, and their connections Control path: logic that manages data path information flow Well defined logic blocks are used repeatedly Multiplexers, decoders, adders, etc.

1-38 Chapter 1 - The General Purpose Machine Two Views of the CPU PC Register Programmer: 31 0 PC

1-39 Chapter 1 - The General Purpose Machine Tools of the Logic Designer s Trade Computer aided design (CAD) tools Logic design and simulation packages Printed circuit layout tools IC (integrated circuit) design and layout tools Synthesis packages HDL entry and simulation Logic analyzers and oscilloscopes Hardware development system

1-40 Chapter 1 - The General Purpose Machine Historical Generations 1st Generation: 1946-59 vacuum tubes, relays, mercury delay lines 2nd generation: 1959-64 discrete transistors and magnetic cores 3rd generation: 1964-75 small and medium scale integrated circuits 4th generation: 1975-present, single chip microcomputer Integration scale: components per chip Small: 10-100 Medium: 100-1,000 Large: 1000-10,000 Very large: greater than 10,000

1-41 Chapter 1 - The General Purpose Machine Chapter 1 Summary Three different views of machine structure and function Machine/assy. language view: registers, memory cells, instructions. PC, IR, Fetch-execute cycle Programs can be manipulated as data No, or almost no data typing at machine level Architect views the entire system Concerned with price/performance, system balance Logic designer sees system as collection of functional logic blocks. Must consider implementation domain Tradoffs: speed, power, gate fan-in, fan-out