Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0 The Microarchitecture Level.

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

6-1 Chapter 6 - Datapath and Control Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of Computer Architecture.
Chapter 4 - MicroArchitecture
Chapter 8: Central Processing Unit
1 COSC 3P92 Cosc 3P92 Week 5 Lecture slides Voters quickly forget what a man says. Richard M. Nixon ( ) Former U.S. President.
Shannon Tauro/Jerry Lebowitz Computer Organization Design of MicroArchitecture Level Tannenbaum 4.4.
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
Microprogramming Andreas Klappenecker CPSC321 Computer Architecture.
Chapter 12 Three System Examples The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Microarchitecture Level.
Assembly Language for Intel-Based Computers Chapter 2: IA-32 Processor Architecture Kip Irvine.
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
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Instruction Set Architecture.
An Example Implementation
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
The Microarchitecture Level The level above the digital logic level is the microarchitecture level.  Its job is to implement the ISA (Instruction Set.
Processor Organization and Architecture
Computer Organization & Assembly Language
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Instruction Set Design by Kip R. Irvine (c) Kip Irvine, All rights reserved. You may modify and copy this slide show for your personal use,
4-1 Chapter 4 - The Instruction Set Architecture Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of.
1 4.2 MARIE This is the MARIE architecture shown graphically.
ITEC 352 Lecture 20 JVM Intro. Functions + Assembly Review Questions? Project due today Activation record –How is it used?
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
TDC 311 The Microarchitecture. Introduction As mentioned earlier in the class, one Java statement generates multiple machine code statements Then one.
An Example Implementation  In principle, we could describe the control store in binary, 36 bits per word.  We will use a simple symbolic language to.
4-1 Chapter 4 - The Instruction Set Architecture Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Computer architecture Lecture 11: Reduced Instruction Set Computers Piotr Bilski.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Microarchitecture Level 1 Introduction to Computer Architecture, Bachelor Course, 1st Semester, University of Fribourg, Switzerland © Béat Hirsbrunner.
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
The Central Processing Unit (CPU) and the Machine Cycle.
The Microarchitecture Level
Mic-1: Microarchitecture University of Fribourg, Switzerland System I: Introduction to Computer Architecture WS December 2006 Béat Hirsbrunner,
CHAPTER 4 The Central Processing Unit. Chapter Overview Microprocessors Replacing and Upgrading a CPU.
5-1 Chapter 5—Processor Design—Advanced Topics Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
The Micro Architecture Level
Overview von Neumann Architecture Computer component Computer function
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
1 CE 454 Computer Architecture Lecture 8 Ahmed Ezzat The Microarchitecture Level, Ch-4.4, 4.5,
Performance improvements ( 1 ) How to improve performance ? Reduce the number of cycles per instruction and/or Simplify the organization so that the clock.
Protection in Virtual Mode
A Closer Look at Instruction Set Architectures
CE 454 Computer Architecture
Computer Science 210 Computer Organization
The University of Adelaide, School of Computer Science
Chapter 14 Instruction Level Parallelism and Superscalar Processors
Computer Architecture and Organization Miles Murdocca and Vincent Heuring Chapter 4 – The Instruction Set Architecture.
Overview Control Memory Comparison of Implementations
The Instruction Set Architecture Level
Computer Organization and Design
Processor Organization and Architecture
CHAPTER 8: CPU and Memory Design, Enhancement, and Implementation
PZ01C - Machine architecture
COMP541 Datapaths I Montek Singh Mar 18, 2010.
Copyright © 2013 Elsevier Inc. All rights reserved.
Chapter 4 The Von Neumann Model
Presentation transcript:

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Microarchitecture Level Chapter 4

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Data Path (1) The data path of the example microarchitecture used in this chapter.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Data Path (2) Useful combinations of ALU signals and the function performed.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Data Path Timing Timing diagram of one data path cycle.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Memory Operation Mapping of the bits in MAR to the address bus.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Microinstructions The microinstruction format for the Mic-1.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Microinstruction Control: The Mic-1 (1) The complete block diagram of our example microarchitecture, the Mic-1.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Microinstruction Control: The Mic-1 (2) A microinstruction with JAMZ set to 1 has two potential successors.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Stacks (1) Use of a stack for storing local variables. a)While A is active. b) After A calls B. c)(c) After B calls C. d) After C and B return and A calls D.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Stacks (2) Use of an operand stack for doing an arithmetic computation.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The IJVM Memory Model The various parts of the IJVM memory.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The IJVM Instruction Set (1) The IJVM instruction set. The operands byte, const, and varnum are 1 byte. The operands disp, index, and offset are 2 bytes.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The IJVM Instruction Set (2) a)Memory before executing INVOKEVIRTUAL. b)After executing it.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The IJVM Instruction Set (3) a)Memory before executing IRETURN. b)After executing it.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Compiling Java to IJVM (1) a)A Java fragment. b)The corresponding Java assembly language. c)The IJVM program in hexadecimal.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Compiling Java to IJVM (1) The stack after each instruction of Fig. 4-14(b).

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Microinstructions and Notation All permitted operations. Any of the above operations may be extended by adding ‘‘<< 8’’ to them to shift the result left by 1 byte. For example, a common operation is H = MBR << 8

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (1) The microprogram for the Mic-1

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (2) The microprogram for the Mic-1

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (3) The microprogram for the Mic-1

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (4) The microprogram for the Mic-1

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (5) The microprogram for the Mic-1

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (6) The BIPUSH instruction format. a)ILOAD with a 1-byte index. b)WIDE ILOAD with a 2-byte index.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (7) The initial microinstruction sequence for ILOAD and WIDE ILOAD. The addresses are examples.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (8) The IINC instruction has two different operand fields.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of IJVM Using the Mic-1 (9) The situation at the start of various microinstructions. a) Main1. b) goto1. c) goto2. d) goto3. e) goto4.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Speed Versus Cost 1.Reduce the number of clock cycles needed to execute an instruction. 2.Simplify the organization so that the clock cycle can be shorter. 3.Overlap the execution of instructions.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Merging the Interpreter Loop with the Microcode (1) Original microprogram sequence for executing POP.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Merging the Interpreter Loop with the Microcode (2) Enhanced microprogram sequence for executing POP.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Three Bus Architecture (1) Mic-1 code for executing ILOAD.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Three Bus Architecture (2) Three-bus code for executing ILOAD.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Three Bus Architecture (3) A fetch unit for the Mic-1.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Three Bus Architecture (4) A finite state machine for implementing the IFU.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The data path for Mic-2. A Three Bus Architecture (5)

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Pipelined Design: The Mic-3 (1) The microprogram for the Mic-2

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Pipelined Design: The Mic-3 (2) The microprogram for the Mic-2

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Pipelined Design: The Mic-3 (3) The microprogram for the Mic-2

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Pipelined Design: The Mic-3 (4) The microprogram for the Mic-2

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Three Bus Architecture The three-bus data path used in the Mic-3.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of SWAP (1) The Mic-2 code for SWAP.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Implementation of SWAP (2) The implementation of SWAP on the Mic-3.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Pipeline Graphical illustration of how a pipeline works.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Seven-Stage Pipeline: The Mic-4 (1) The main components of the Mic-4.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved A Seven-Stage Pipeline: The Mic-4 (2) The Mic-4 pipeline.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Cache Memory A system with three levels of cache.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Direct-Mapped Caches (a) A direct-mapped cache. (b) A 32-bit virtual address.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Set-Associative Caches A four-way set-associative cache.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Branch Prediction (a) A program fragment. (b) Its translation to a generic assemblylanguage.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Dynamic Branch Prediction (1) (a) A 1-bit branch history. (b) A 2-bit branch history. (c) A mapping between branch instruction address and target address.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Dynamic Branch Prediction (2) A 2-bit finite-state machine for branch prediction.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Out-of-Order Execution and Register Renaming (1) A superscalar CPU with in-order issue and in-order completion.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Out-of-Order Execution and Register Renaming (2) A superscalar CPU with in-order issue and in-order completion.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Out-of-Order Execution and Register Renaming (3) Operation of a superscalar CPU with out-of-order issue and out of-order completion.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Speculative Execution a)A program fragment. b)The corresponding basic block graph.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Overview of the NetBurst Microarchitecture The block diagram of the Pentium 4.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The NetBurst Pipeline A simplified view of the Pentium 4 data path.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved Overview of the UltraSPARC III Cu Microarchitecture The block diagram of the UltraSPARC III Cu.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved UltraSPARC III Cu Pipeline A simplified representation of the UltraSPARC III Cu pipeline.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Microarchitecture of the 8051 CPU The microarchitecture of the 8051.