Computer architecture

Slides:



Advertisements
Similar presentations
Control Unit Implemntation
Advertisements

CHAPTER 16 MICROPROGRAMMED CONTROL DR. H. WATSON FRANCISCO VASQUEZ
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
PART 5: (2/2) Processor Internals CHAPTER 15: CONTROL UNIT OPERATION 1.
CHAPTER 16 – CONTROL UNIT OPERATION
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,
CS364 CH17 Micro-programmed Control
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Computer Organization and Architecture
Group 1 Michael Bouizza Rolando Abreu Carlos De Cossio Ricardo Urena Michael Hernandez Robert Romano Sun Li Yang.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
TEAM 1: Miguel Harmant Rodney Rodriguez Elias Crespo Javier Parra Alfredo Alonso Marc-Wayne Anglin.
Computer Architecture
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
Introduction to Computer Organization and Architecture Micro Program ภาษาเครื่อง ไมโครโปรแกรม.
Multiple-bus organization
CONTROL UNIT OPERATION MICROPROGRAMMED CONTROL. 2.
MICROPROGRAMMED CONTROL CH 17 Team # 2 Members: Wilmer Saint-Hilaire Alberto Mollinedo Vinicius Schuina Luis Perez.
1 Control Unit Operation and Microprogramming Chap 16 & 17 of CO&A Dr. Farag.
Microprogrammed Control Chapter11:. Two methods for generating the control signals are: 1)Hardwired control o Sequential logic circuit that generates.
PART 6: (1/2) Enhancing CPU Performance CHAPTER 16: MICROPROGRAMMED CONTROL 1.
8085. Microcomputer Major components of the computer - the processor, the control unit, one or more memory ICs, one or more I/O ICs, and the clock Major.
CSE 241 Computer Organization Lecture # 8 Ch. 7 Control Unit Dr. Tamer Samy Gaafar Dept. of Computer & Systems Engineering.
Lecture 15 Microarchitecture Level: Level 1. Microarchitecture Level The level above digital logic level. Job: to implement the ISA level above it. The.
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
MICROPROGRAMMED CONTROL
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Computer Architecture Lecture 4 by Engineer A. Lecturer Aymen Hasan AlAwady 17/11/2013 University of Kufa - Informatics Center for Research and Rehabilitation.
GROUP 2 CHAPTER 16 CONTROL UNIT Group Members ๏ Evelio L. Hernandez ๏ Ashwin Soerdien ๏ Andrew Keiper ๏ Hermes Andino.
PART 4: (1/2) Central Processing Unit (CPU) Basics CHAPTER 12: P ROCESSOR S TRUCTURE AND F UNCTION.
Control Unit Operations Chapter10:. What is Control Unit (CU)?(1)  Part of a CPU or other device that directs its operation.  Tells the rest of the.
Chapter 10 Control Unit Operation “Controls the operation of the processor”
Processor Organization
Processor Organization and Architecture Module III.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
The Processor & its components. The CPU The brain. Performs all major calculations. Controls and manages the operations of other components of the computer.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
8 085Microprocessor Temp Reg (8) Accumulator (A reg) Flag flip flops(8) Instruction Register (8) Arithmetic Logic Unit ALU Instruction Decoder and Machine.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Functions of Processor Operation Addressing modes Registers i/o module interface Memory module interface Interrupts.
Computer Organization and Architecture + Networks
Control Unit Operation
Chapter 9 a Instruction Level Parallelism and Superscalar Processors
Micro-Operations A computer executes a program Fetch/execute cycle
William Stallings Computer Organization and Architecture
William Stallings Computer Organization and Architecture 7th Edition
Overview Instruction Codes Computer Registers Computer Instructions
Processor Organization and Architecture
Overview Control Memory Comparison of Implementations
Chapter 15 Control Unit Operation
Micro-programmed Control Unit
Computer Organization and Design
Control Unit Introduction Types Comparison Control Memory
Processor Organization and Architecture
William Stallings Computer Organization and Architecture 7th Edition
Chapter 14 Control Unit Operation
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
Chapter 14 Control Unit Operation
William Stallings Computer Organization and Architecture
Computer Architecture
Presentation transcript:

Computer architecture Lecture 7: Control unit. Microoperations Piotr Bilski

Tasks of the Control Unit: Processor’s state monitoring Control of the processor’s work Microoperations scheduling Instruction cycle Instruction cycle Instruction cycle Fetching Indirect addressing Interrupt Execution μOP μOP μOP

Microoperations Elementarny steps in the instruction cycle Every step is basic and its result is small Every microoperation takes one time unit They exist in all phases of the instruction cycle: fetching, indirect addressing, executing, interrupt

Instruction Fetching Cycle Data bus Processor Address bus Control bus PC MAR Memory CU IR MBR t1: MAR  (PC) t2: MBR  M(MAR) PC  (PC) + 1 t3: IR  (MBR)

Indirect Addressing Cycle Data bus Processor Address bus Control bus MAR Memory CU MBR t1: MAR  (IR(Address)) t2: MBR  M(MAR) t3: IR(Address)  (MBR(Address))

Interrupt Cycle Processor PC MAR Memory CU MBR t1: MBR  (PC) Data bus Processor Address bus Control bus PC MAR Memory CU MBR t1: MBR  (PC) t2: MAR  Address PC  IHP address t3: M(MAR)  (MBR)

Execution Cycle The most complicated because of the branches Example: BSA X t1: MAR  (IR(Address)) MBR  (PC) t2: PC  (IR(Address)) M()  (MBR) t3: PC  (PC) + 1

Register Instruction Cycle Code (ICC) Register storing instruction cycle code of the processor’s state, for example: 00 – fetching 01 – indirect addressing 10 – execution 11 – interrupt

Model of the Control Unit Control signals inside the processor Instruction register Status flags Control Unit clock Control bus

Control Signal Types Activating functions of the ALU Activating data path Related to the system bus Controlling signal types is performed by opening gates between the registers and the memory Knowledge about the ICC status is required

Internal Organization of the Processor CU IR PC t1: MAR  (IR(Addr)) t2: MBR  M(MAR) t3: Y  (MBR) t4: Z  (AC) + (Y) t5: AC  (Z) MAR Y Address lines MBR ALU Data lines AC Z Internal bus

Intel 8085 Processor (1977) Compliant with 8080 processor Powered by +5V voltage Structure: CU, PC, A, RA, ALU, RF, RR Program Counter – 16 bits, address register – 16 bits, instruction register – 8 bits External stack in RAM ALU – processing max 2 arguments

8085 Processor Scheme

Examples of the External Signals (Intel 8085) Address and data signals Adresses/data (A0-A7, A8-A15) Serial input/output data (SID, SOD) Control and clock signals CLK, X1, X2 Address Latch Enabled (ALE) IO/M Read/write control (RD, WR) Signals initiated by memory and input/output Interrupt signals Processor initialization (RESET) Power

Implementations of the Control Unit Microprogram implementation Circuit implementation Faster (logical circuits) Complicated Expensive Realization: combinatorial circuit Used in the RISC machines Slower Flexible Cheap Realization: microprogram Used in the CISC machines

Circuit Implementation Instruction register Status flags clock Control unit Clock generator Control signals

Decoder 2 to 4 A B S0 S1 S2 S3 A B S0 S1 S2 S3 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0

Microprogram Implementation of the Control Unit Microprogram determines the logic of the control unit work regime Microprogram consists of the microoperations stored in the control memory This technique was used for the first time in the System/360 (IBM) computer

Horizontal and Vertical Microoperations Branch condition Control signals of the system bus Internal signals controlling the processor Microoperation address Function codes Microoperation address Branch conditions Codes instead of the control lines – decoders required

Control Memory Organization Fetch cycle subroutine Indirect addressing cycle subroutine Interrupt cycle subroutine Execution cycle subroutine

Microprogram Control Unit Instruction register ALU status flags Decoder Logical scheduling circuits Control address register Clock Control memory Read Control buffer register Decoder Control signals inside CPU Control signals of the system bus

Microoperations Sequencing Instruction size and time of the address generation The next microoperation address is: Inside instruction register (at the beginning of the instruction cycle) In the branch (the most common) Next in the sequence

Sequencing Methods Two address fields One address field Changing format

Sequencing with Two Address Fields CAR Address decoder Control memory Status flags Con-trol CBR Address1 Address2 Branch logi-cal circuits Multiplexer IR

One Address Field Sequencing Address decoder CAR Control memory Status flags +1 CBR Control Address Branch logi-cal circuits Multiplexer IR

Changing Format Sequencing Address decoder CAR Control memory Status flags +1 CBR Branch field Whole field Address field Branch logi-cal circuits Gating logical circuits Multiplexer IR

Address Generation Evident Two fields Conditional branch Uncoditional branch Non-evident Projection Addition Residual control

Non-Evident Projection: Addition Address register Constant part of the address Bits set to determine the address of the next microoperation

Sequencing Microoperations in LSI-11 22-bit microoperation About 4 KB of the control memory Methods of the next address generation: Next in line Projection of the operation code Standard subroutine Interrupt testing Branch

Microoperations Execution Microoperation cycle consists of the fetching and execution phase Execution causes putting on the internal and system bus control signals and determining the next instruction address Combination of the control bits related to the microoperation is encoded

Direct Microoperation Encoding Field Field Field Decoders Decoders Decoders Control signals

Indirect Microoperation Encoding Field Field Field Decoders Decoders Decoders Decoders Control signals

Examples of the Vertical Instructions 0 0 0 0 0 0 MBR  Register 0 0 0 0 0 1 Register  MBR 0 0 0 0 1 0 MAR  Register 0 0 1 0 0 0 0 0 Read from memory 0 0 1 0 0 1 0 0 Write to memory 0 1 1 0 0 0 AC  AC + Register

Examples of the Horizontal Instructions 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 Register transfer Memory operation Sequencing operation ALU operation Register selection Constant

LSI-11 Microoperation Format Instruction breadth: 22 bits Microoperation list is complementary to the machine instruction list 4 1 1 16 Special functions Encoded microoperations Return register loading Translation

IBM 3033 Microoperation Format Control memory – 4 KB words Instructions from the interval 0000-07FF are 108-bit long Instructions from the interval 0800-0FFF are 126-bit Instructions are horizontal with coding