Microarchitecture Level 1 Introduction to Computer Architecture, Bachelor Course, 1st Semester, University of Fribourg, Switzerland © Béat Hirsbrunner.

Slides:



Advertisements
Similar presentations
Fetch-Execute cycle. Memory Read operation Read from memory.
Advertisements

Central Processing Unit
Chapter 4 - MicroArchitecture
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
1 COSC 3P92 Cosc 3P92 Week 5 Lecture slides Voters quickly forget what a man says. Richard M. Nixon ( ) Former U.S. President.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
Shannon Tauro/Jerry Lebowitz Computer Organization Design of MicroArchitecture Level Tannenbaum 4.4.
1 ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides8.ppt Modification date: Nov 3, 2014 Random Logic Approach The approach described so far.
Chapter 6 Microlevel of H1 and V1. We start with some concepts from Chapter 5 that are essential for this chapter.
The Processor: Datapath & Control
CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
Computer Architecture I - Class 9
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Microarchitecture Level.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Mic-1: Microarchitecture University of Fribourg, Switzerland System I: Introduction to Computer Architecture WS January 2006
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Class 9.1 Computer Architecture - HUJI Computer Architecture Class 9 Microprogramming.
The Microarchitecture Level The level above the digital logic level is the microarchitecture level.  Its job is to implement the ISA (Instruction Set.
The Processor Data Path & Control Chapter 5 Part 1 - Introduction and Single Clock Cycle Design N. Guydosh 2/29/04.
Computer Organization and Architecture
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4: IT Students.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4:
CPU Fetch/Execute Cycle
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Presented by: Sergio Ospina Qing Gao. Contents ♦ 12.1 Processor Organization ♦ 12.2 Register Organization ♦ 12.3 Instruction Cycle ♦ 12.4 Instruction.
TDC 311 The Microarchitecture. Introduction As mentioned earlier in the class, one Java statement generates multiple machine code statements Then one.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
The CPU Central Processing Unit. 2 Reminder - how it fits together processor (CPU) memory I/O devices bus.
Computer Design Basics
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
The Microarchitecture Level
Princess Sumaya Univ. Computer Engineering Dept. Chapter 5:
Mic-1: Microarchitecture University of Fribourg, Switzerland System I: Introduction to Computer Architecture WS December 2006 Béat Hirsbrunner,
Fetch-execute cycle.
A summary of TOY. 4 Main Components Data Processor Control Processor Memory Input/Output Device.
COMPILERS CLASS 22/7,23/7. Introduction Compiler: A Compiler is a program that can read a program in one language (Source) and translate it into an equivalent.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Microarchitecture Level.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
Lecture 15 Microarchitecture Level: Level 1. Microarchitecture Level The level above digital logic level. Job: to implement the ISA level above it. The.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
The Micro Architecture Level
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
GROUP 2 CHAPTER 16 CONTROL UNIT Group Members ๏ Evelio L. Hernandez ๏ Ashwin Soerdien ๏ Andrew Keiper ๏ Hermes Andino.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Computer Organization and Architecture + Networks
CE 454 Computer Architecture
Introduction to Computer Engineering
Processor (I).
CSCI206 - Computer Organization & Programming
COMS 161 Introduction to Computing
The Processor Lecture 3.2: Building a Datapath with Control
CDCA 2203 Elements of Computer Architecture Open University Malaysia
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
The Processor: Datapath & Control.
Computer Architecture
Introduction to Computer Engineering
Presentation transcript:

Microarchitecture Level 1 Introduction to Computer Architecture, Bachelor Course, 1st Semester, University of Fribourg, Switzerland © Béat Hirsbrunner – 28 November 2007 Reference: Andrew S. Tanenbaum, Structured Computer Organization, 5th Edition, Prentice Hall, 2006 (Chapter 4) Microprogr. Data Fig A computer system with multiple buses Macroinstr. Set of microinstructions (read only memory) Microarchitecture Level Stack (revisited and slightly completed) Compiled programWorking space

Mic-1 2 Data Path Control Section current microinstr. set of microinstr. Read/Write from/to Memory Program Counter (address of the next microinstruction) Addr[8]

ALU, Registers, Buses and Control Signals ALU with 6 control signals, two additional outputs: N tests for negative numbers and Z tests for zero; and a shifter: SLL8 to shift the content left by 8 bits (logical shift) SRA1 shifts the content right by one bit (arith. shift) To and from main memory 3 Nine 32-bit registers MAR: Memory Address Register MDR: Memory Data Register PC: Program Counter SP: Stack Pointer … One 8-bit register MBR: Memory Buffer Register A bus : drives data from register H to the ALU B bus : drives data from one register to the ALU C bus : drives data from the ALU to registers Control Signals 9 for reading and 9 for writing the registers 8 for ALU/Shifter and 3 for read/write/fetch

Microinstruction Format 4 Addr is the address of the next microinstruction JAM controls the PC (progr. counter), N (negative) and Z (zero) jump ALU controls the ALU and Shifter operations C enables writing from C bus to the selected registers Mem controls memory read/write/fetch operations B controls the register which can write to the B bus

7. Falling edge: a new cycle is started: goto 0 ! Data Path Synchronization 1. ∆w: All control signals stabilize 5 2. ∆x: The value of one register is put on the B bus 3. ∆y: ALU and shifter operate 5. Rising edge: The result is written in the registers 4. ∆z: The result propagate on the C bus 6. Clock high: MPC is computed 0. Falling edge: MIR is updated with the current MPC Each microinstruction is executed in one cycle ! Clock low:  data path is computed Clock high:  MPC value is computed

6 MIR Register and MPC F G 7. Falling edge: a new cycle is started: goto 0 ! 5. Rising edge: The result of the ALU is written in one or more of the 9 registers MAR, …, H and the two 1-bit flip-flop 6. Clock high: MPC is computed: F = (JAMN and N) or (JAMZ and Z) or Addr[8] G = (MBR and JMPC) or Addr[0..7] Note that if JMPC=1 then Addr=0x00 or Addr=0x100 Addr[8] Addr[0..7 ] 0. Falling edge: MIR is updated with the current MPC There are two synchronization points: At the beginning of the cycle (step 0) via the register MIR At the end of the cycle (step 5) via the 9 registers of the ALU and the two flip-flop

MAR & MDR, PC & MBR Registers MAR addressing trick Memory is byte addressed (8 bit) Data is word addressed (4 byte = 32 bit) => MAR addresses are shifted 2 bits left ( = * 4) MAR has no output control to bus B: why? MDR has two memory operations: read and write MBR has one memory operation: fetch MBR has two control signals for the B bus: one for signed (all higher bits are filled with MBR[7]) and one unsigned (all higher bits are filled with 0) A reading from main memory takes two cycles: One for putting the address in MAR One for getting the data in MDR (assuming the main memory works fast enough) N consecutive reads can be pipelined: 1st read is available at beginning of cycle 3 2nd read is available at beginning of cycle 4 Nth read is available at beginning cycle N+2

Miscellaneous...but why are all these jumps required to determine the next microinstruction ? 8 JMPC is used to jump to the address specified by MBR, which, as we will see, contains the opcode of the macroinstruction. Note that the microinstructions for each macroinstruction M are stored starting from the position determined by the opcode of M. Example. The opcode of the macroinstruction BIPUSH is 0x10. This means that the corresponding microinstructions start at address 0x10 in the control store. Mic-1 has a so called microprogrammed architecture: Each macroinstruction (also called ISA instruction, or IJVM instruction in the case of Mic-1) is divided into one or more microinstructions. Each microinstruction is executed in exactly one cycle. In case of conditional jumps (if..then..else) we normally need two jump addresses as parameter. To uniform the microinstruction format all instructions must have the same length: either we make all microinstructions contain two addresses (-> waste of space) or (better solution) we specify only one address and compute the second one as Addr + Constant Value (in Mic-1 we have: Constant Value = 0x100)