Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

Instruction Set Design
6-1 Chapter 6 - Datapath and Control Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of Computer Architecture.
Chapter 8: Central Processing Unit
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
ELEN 468 Advanced Logic Design
INTRODUCTION TO THE ARM PROCESSOR – Microprocessor Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
Computer Organization and Architecture
Computer Organization and Architecture
Computer Organization and Architecture
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
1 COMP541 Sequencing – III (Sequencing a Computer) Montek Singh April 9, 2007.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
Lec 9: Pipelining Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University.
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
Embedded Systems: Hardware Computer Processor Basics ISA (Instruction Set Architecture) RTL (Register Transfer Language) Main reference: Peckol, Chapter.
Computers Central Processor Unit. Basic Computer System MAIN MEMORY ALUCNTL..... BUS CONTROLLER Processor I/O moduleInterconnections BUS Memory.
Instruction Sets and Pipelining Cover basics of instruction set types and fundamental ideas of pipelining Later in the course we will go into more depth.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Chapter 5 Basic Processing Unit
Invitation to Computer Science 5th Edition
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
General Concepts of Computer Organization Overview of Microcomputer.
Computer Architecture And Organization UNIT-II General System Architecture.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Dale & Lewis Chapter 5 Computing components
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Logic Gates Dr.Ahmed Bayoumi Dr.Shady Elmashad. Objectives  Identify the basic gates and describe the behavior of each  Combine basic gates into circuits.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Dr.Ahmed Bayoumi Dr.Shady Elmashad
Electrical and Computer Engineering University of Cyprus
CS 270: Mathematical Foundations of Computer Science
15-740/ Computer Architecture Lecture 3: Performance
Computer Organization
Immediate Addressing Mode
William Stallings Computer Organization and Architecture 8th Edition
Chapter 4 The Von Neumann Model
Computer Science 210 Computer Organization
ELEN 468 Advanced Logic Design
Morgan Kaufmann Publishers
Overview Introduction General Register Organization Stack Organization
Prof. Sirer CS 316 Cornell University
CS/COE0447 Computer Organization & Assembly Language
Central Processing Unit
Basic Processing Unit Unit- 7 Engineered for Tomorrow CSE, MVJCE.
Computer Organization “Central” Processing Unit (CPU)
Control Unit Introduction Types Comparison Control Memory
Rocky K. C. Chang 6 November 2017
Chapter 5: Computer Systems Organization
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Systems Architecture I
Prof. Sirer CS 316 Cornell University
Computer Organization and Assembly Languages Yung-Yu Chuang 2005/09/29
The state in a stored-program digital computer
Chapter 4 The Von Neumann Model
Presentation transcript:

Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과

PNU Computer Eng Processor Architecture & Organization  All modern general-purpose computers employ “stored program concept”  IAS computer by von Neumann at Princeton Institute for Advanced Studies (in 1946)  First implemented in ‘Baby Machine’ at Univ. of Manchester, England (in 1948)  [Figure 1.1] The state in a stored-program digital computer

PNU Computer Eng Processor Architecture & Organization  50 years of development:  performance of processors   cost    cost-effective computers (principles of operation not changed much)  Most of improvements:  Advances in technology of electronics  Vacuum tubes -> transistors -> ICs -> VLSI  New insights:  Virtual memory (early 1960s)  Cache memory  Pipelining  RISC

PNU Computer Eng Abstraction in Hardware Design  Transistors (elementary component)  Logically act as inverters  Logic gates  CMOS NAND gate (using 4 trs)  If A = B = Vdd, output = Vss  If either A or B (or both) = Vss, output =Vdd  => output = not(A.B)  Transistor circuit, logic symbol, truth table

PNU Computer Eng Abstraction in Hardware Design  The gate abstraction  Simplify the process of designing circuits with great number of trs  Removes the need to know that the gate is built from trs  Free from implementation technology in function level  Eg. Field effect tr, bipolar tr, etc.  However, performance difference exists  Levels of abstraction  Trs  Gates, memory cells  Adder, MUX, decoder, registers  ALUs, shifters, memory blocks  Processors, peripherals, memories  ICs  PCBs  PCs, controllers, mobile phones

PNU Computer Eng MU0 – a simple processor  A simple form of processor can be built from a few basic components  PC (program counter)  ACC (accumulator)  ALU (arithmetic-logic unit)  IR (instruction register)  Instruction decoder, control logic  The MU0 instruction set  A 16-bit machine with a 12-bit address space (4K x 2 bytes: 8K bytes memory)  Instructions: 16 bits long (op: 4 bits, address field: 12 bits)

PNU Computer Eng MU0 – a simple processor  [Table 1.1] The MU0 instruction set

PNU Computer Eng MU0 – a simple processor  Datapath  A register transfer level (RTL) design style based on registers, MUXs, and so on  [Figure 1.5] MU0 datapath example

PNU Computer Eng.9 RTL level design  [Figure 1.6] MU0 register transfer level organization  Control signals:  enables on all of regs  function select lines to ALU  select control lines for two MUXs  control for a tri-state driver to send ACC value to memory  MEMrq (memory request)  RnW (read/write control lines)

PNU Computer Eng Instruction set design  To build a high-performance processor (beyond MU0 inst. set), inst. set design is important.  4 address insts (the most general form)  Ex) add d, s1, s2, next_i; d := s1 + s2  3 address insts  Make address of the next inst. implicit using PC (except for branch)  Ex) add d, s1, s2; d := s1 + s2

PNU Computer Eng Instruction set design  2 address insts  Make destination reg. the same as one of source reg.  Ex) add d, s1; d := d + s1  1 address insts  AC is used as destination  Ex) add s1; AC := AC + s1  0 address insts (using a stack)  Ex) add; tos := tos + next on stack

PNU Computer Eng Instruction set design  Addressing modes  Immediate addressing: immediate data  Absolute addressing: inst. contains full address for data  Indirect addressing: inst. contains address of location that contains address of data  Register addressing: data is in a reg.  Register indirect addressing  Index addressing  Stack addressing

PNU Computer Eng Instruction set design  Control flow instructions  Branch, jump  Conditional branch  Subroutine calls & returns  System calls  Branch to an operating system routine  Exceptions  Error handling

PNU Computer Eng Processor design trade-offs  CISC vs RISC  CISC  To reduce semantic gap b/w high level language & machine instruction  Complex sequence of operations  Make compiler’s job easy  RISC  ARM’s middle name: from RISC  Reducing semantic gap is not the right way to make an efficient computer  [Table 1.3] Typical dynamic instruction usage

PNU Computer Eng Processor design trade-offs  Data movement b/w regs and memory: almost half  Control flow such as branches & procedure calls: almost quarter  Arithmetic operations: only 15%  Complex arithmetic insts do not help much  The most important tech: pipelining, cache memory  To make processors go faster

PNU Computer Eng Processor design trade-offs  Pipelines  Fetch  Decode  REG: get operands from register bank  ALU  MEM: access memory for an operand, if necessary  RES: write result back to register bank  [Figure 1.13] Pipelined instruction execution

PNU Computer Eng Processor design trade-offs  Pipeline hazards  Read after write hazard (data hazard)  Result from one inst is used as an operand by the next inst => inst2 must stall until the result is available  [Figure 1.14] Read-after-write pipeline hazard

PNU Computer Eng Processor design trade-offs  Branch hazard  Solution:  Compute branch target earlier (if possible)  The target may be computed speculatively  Delayed branch  [Figure 1.15] Pipelined branch behavior  Pipeline efficiency  The deeper the pipeline, the worse the problems get: RISC approach is better

PNU Computer Eng RISC  In 1980, Patterson: RISCI project  RISCI arch  Fixed (32-bit) inst size with few formats  Load-store arch:  Insts that process data operate only on regs  Separate insts to access memory  A large register bank (32 32-bit regs) to allow load-store arch to operate efficiently  RISCI organization  Hard-wired inst decode logic  Pipelined execution  Single cycle execution  RISCI advantages  A smaller die size  A shorter development time  A higher performance (controversial)