Architecture Synthesis Part 3
|
|
- Colin Neal
- 6 years ago
- Views:
Transcription
1 Architecture Synthesis Part 3 SS 211 Christian Plessl Paderborn Center for Parallel Computing University of Paderborn Version
2 Overview high-level hardware synthesis micro-programmed architectures 2
3 translate program/algorithm into dedicated hardware units of translation single basic block (combinational) discussed in chapter Architecture synthesis (Part 1) complete program (sequential) this lecture finite state machine Motivation registers 1: int gcd(int a, int b) {! 2: while(a!= b) {! 3: if(a > b) {! 4: a = a - b;! 5: } else {! 6: b = b - a;! 7: }! 8: }! 9: return a;! 1:}! controller FU FU datapath FSM controls of datapath (FSM actions) datapath sends feedback to FSM (FSM conditions) 3
4 Translating SW to HW High-level Synthesis basic idea: execute control data flow graph control flow graph describes possible execution sequences of basic blocks implement CFG as finite state machine (FSM) data flow graph describes arithmetic operations on basic block level implement data flow graphs as data paths use registers for storing and transferring data between basic blocks finite state machine controller registers FU FU data path 4
5 Example Program: Greatest Common Divider (GCD) 1: int gcd(int a, int b) {! 2: while(a!= b) {! 3: if(a > b) {! 4: a = a - b;! 5: } else {! 6: b = b - a;! 7: }! 8: }! 9: return a;! 1:}! 5
6 Control Data Flow Graph for GCD BB br label %BB1 BB1 %b1 = phi i32 [ %b2, %BB5 ], [ %b, %BB ] %a1 = phi i32 [ %a2, %BB5 ], [ %a, %BB ] br label %BB2 BB4 %b2 = sub i32 %b1, %a2 br label %BB1 BB2 %a2 = phi i32 [ %a1, %BB1 ], [ %a3, %BB4 ] %whilecond = icmp eq i32 %b1, %a2 br i1 %whilecond, label %BB6, label %BB3 BB6 ret i32 %a2 true false false BB3 false %ifcond = icmp sgt i32 %a2, %b1 br i1 %ifcond, label %BB4, label %BB5 true BB5 %a3 = sub i32 %a2, %b1 br label %BB2 generated with Clang/LLVM 6
7 Control Data Flow Graph for GCD BB br label %BB1 BB1 %b1 = phi i32 [ %b2, %BB5 ], [ %b, %BB ] %a1 = phi i32 [ %a2, %BB5 ], [ %a, %BB ] br label %BB2 BB4 %b2 = sub i32 %b1, %a2 br label %BB1 BB2 %a2 = phi i32 [ %a1, %BB1 ], [ %a3, %BB4 ] %whilecond = icmp eq i32 %b1, %a2 br i1 %whilecond, label %BB6, label %BB3 BB6 ret i32 %a2 true false false BB3 false %ifcond = icmp sgt i32 %a2, %b1 br i1 %ifcond, label %BB4, label %BB5 true BB5 %a3 = sub i32 %a2, %b1 br label %BB2 data path predicates (flags) for conditional jumps (input to controller FSM) conditional state transitions (evaluated by controller FSM) phi nodes define registers + input multiplexers (other values are temporary) 7
8 Data Path for GCD ena2 sela2 ena1 sela1 a enb1 selb1 b a2 a1 b1 a2 a1 b1 > == ifcond whilecond input signals from controller output signals to controller data path predicates (flags) phi nodes (registers + input multiplexer) 8
9 Control FSM for GCD / a1 1 whilecond / a26 6 / a12 / a51 5 2!ifcond / a35 / a42!whilecond / a23 4 ifcond / a34 3 edge labels: c / a c = condition for transition, a = action executed during transition 9
10 Transition Table and Actions current state condition next state action - 1 a1 a 1 - b a12 - a1 1-2 whilecond 6 a !whilecond 3 a ifcond 4 a a42 - a3 1-3!ifcond 5 a a51 a2 1 - b2 1 sel a1 en a1 sel a2 en a2 sel b1 en b1 input signals to data path 1
11 Limitations and Potential Improvements limitations of this basic high-level synthesis approach restricted subset of C only (no function calls, memory access, ) limited amount of parallelism (CDFG is executed sequentially) no sharing of operators in data path single cycle execution model (each basic block is executed in exactly one cycle) FSMs can become very complex features of more advanced high-level synthesis methods sharing of operators in data path program transformations to increase parallelism loop pipelining and retiming many tools available commercial: e.g. Impulse C, Mentor Catapult C, AutoESL free/open source: e.g. ROCCC, SPARK, LegUp, C-to-Verilog 11
12 Microprogrammed Architectures two sides of the spectrum for implementing applications CPU: generic fully programmable architecture, application can be easily varied after fabrication ASIC: highly specialized, application is fixed at design time middle ground: Microprogrammed Architectures also tailored to particular application or class of applications but the controller is programmable (instead of a fixed FSM) 12
13 FSMD vs. Microprogrammed Architecture state reg Jump field status Next- State Logic Datapath status Next- Address Logic CSAR Datapath Control Store Microinstruction Command field finite state machine with datapath (FSMD) fixed microprogrammed architecture programmable CSAR (control store address register) corresponds to instruction counter in CPU Schaumont 21 13
14 Microinstruction Encoding microinstruction specifies commands for datapath jump field jump field how to compute address of next microinstruction based on feedback from data path optional address constant address absolute address of microinstruction here: address field width is 12 bits, hence 496 microinstructions can be addressed CSAR bits datapath command next address Command field next Default Jump Jump if carry Jump if no carry Jump if zero CSAR = CSAR + 1 CSAR = address CSAR = cf? address : CSAR + 1 CSAR = cf? CSAR + 1 : address CSAR = zf? address : CSAR Jump if not zero CSAR = zf? CSAR + 1 : address Control Store microinstruction microinstruction datapath command next + address Datapath cf + zf Jump field flags Next Address Logic Next CSAR Schaumont 21 14
15 Command Field Horizontal vs. Vertical Microcode tradeoff between code density and decoding effort horizontal microcode microinstruction directly contains bits to control datapath no decoding required low code density vertical microcode microinstructions contain encoded form of datapath control signals decoding required higher code density Micro-Programmed Controller Datapath Micro-instruction a = 2 * a a = a 1 a = IN IN Vertical Microcode 1 1 Decoder sel1 sel2 alu a Horizontal Microcode / Schaumont 21 15
16 Example: A Microcoded Datapath unused SBUS ALU Shifter Dest Nxt Address Dest SBUS ALU Shifter Address Nxt Register File Input Shift flags Next- Address Logic CSAR Control Store ACC same microinstruction format as in previous example 4 datapath units to be controlled SBUS: select operand ALU: choose ALU operation Shifter: optional bit shift of ALU result Dest: select location for storing the result Schaumont 21 16
17 Example: Microinstruction Encoding Table 5.1 Microinstruction encoding of the example machine Field Width Encoding SBUS 4 Selectsthe operand that willdrive the S-Bus R 11 R5 1 R1 11 R6 1 R2 111 R7 11 R3 1 Input 1 R4 11 Address/Constant ALU 4 Selectsthe operation performed by the ALU ACC 11 ACC S-Bus 1 S-Bus 111 not S-Bus 1 ACC C SBus 1 ACC C 1 11 ACC SBus 11 SBus 1 1 SBus ACC ACC & S-Bus Shifter 3 Selectsthe function ofthe programmable shifter logical SHL(ALU) 1 arith SHL(ALU) 1 logical SHR(ALU) 11 arith SHR(ALU) 1 rotate left ALU 111 ALU 11 rotate right ALU Dest 4 Selectsthe target that willstore S-Bus R 11 R5 1 R1 11 R6 1 R2 111 R7 11 R3 1 ACC 1 R unconnected Nxt 4 Selectsnext-value for CSAR CSAR C 1 11 cf? CSARC 1:Address 1 Address 1 zf? Address : CSAR C 1 1 cf? Address : CSAR C 1 11 zf? CSAR C 1:Address available microinstructions and their encoding Schaumont 21 17
18 Example: How to Encode a Microinstruction how to encode ACC R2? RT-level Instruction ACC < R2 Micro-Instruction Field Encoding SBUS 1 ALU 1 Shifter 111 Dest 1 Nxt Address Micro-Instruction Formation {,1,1,111,1,,} {1,,1111,1,,,,} Micro-Instruction Encoding 1F8 Schaumont 21 18
19 Example: Implementing GCD on this Architecture 1: int gcd(int a, int b) {! 2: while(a!= b) {! 3: if(a > b) {! 4: a = a - b;! 5: } else {! 6: b = b - a;! 7: }! 8: }! 9: return a;! 1:}! ; Command Field Jump Field! ; ! 1: IN -> R ; read a, store in R! 2: IN -> ACC ; read b, store in ACC! 3: Lcheck: R - ACC JUMP_IF_Z Ldone ; check while condition! 4: (R ACC) << 1 JUMP_IF_C Lsmall ; check whether R<ACC,..! 5: R - ACC -> R JUMP Lcheck ; if so, ACC RO -> ACC! 6: Lsmall: ACC - R -> ACC JUMP Lcheck ; else R - ACC -> R! 7: Ldone: JUMP Ldone ; infinite loop, end of prog! Schaumont 21 19
20 Changes (v1..) initial version 2
Controller Implementation--Part II
Controller Implementation--Part II Alternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time-State: Divide and Conquer Jump counters Microprogramming (ROM)
More informationDigital System Design Using Verilog. - Processing Unit Design
Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register
More informationMicroprogrammed Control Approach
Microprogrammed Control Approach Considering the FSM for our MIPS subset has 10 states, the complete MIPS instruction set, which contains more than 100 instructions, and considering that these instructions
More informationTDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design
1 TDT4255 Computer Design Lecture 4 Magnus Jahre 2 Outline Chapter 4.1 to 4.4 A Multi-cycle Processor Appendix D 3 Chapter 4 The Processor Acknowledgement: Slides are adapted from Morgan Kaufmann companion
More informationEECS150. Implement of Processor FSMs
EECS5 Section Controller Implementations Fall Implement of Processor FSMs Classical Finite State Machine Design Divide and Conquer Approach: Time-State Method Partition FSM into multiple communicating
More informationMICROPROGRAMMED CONTROL
MICROPROGRAMMED CONTROL Hardwired Control Unit: When the control signals are generated by hardware using conventional logic design techniques, the control unit is said to be hardwired. Micro programmed
More informationChapter 3 : Control Unit
3.1 Control Memory Chapter 3 Control Unit The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional
More informationClass Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2
Class Notes CS400 Part VI Dr.C.N.Zhang Department of Computer Science University of Regina Regina, SK, Canada, S4S 0A2 C. N. Zhang, CS400 83 VI. CENTRAL PROCESSING UNIT 1 Set 1.1 Addressing Modes and Formats
More informationProcessing Unit CS206T
Processing Unit CS206T Microprocessors The density of elements on processor chips continued to rise More and more elements were placed on each chip so that fewer and fewer chips were needed to construct
More informationComputer Architecture Programming the Basic Computer
4. The Execution of the EXCHANGE Instruction The EXCHANGE routine reads the operand from the effective address and places it in DR. The contents of DR and AC are interchanged in the third microinstruction.
More informationChapter 20 - Microprogrammed Control (9 th edition)
Chapter 20 - Microprogrammed Control (9 th edition) Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 20 - Microprogrammed Control 1 / 47 Table of Contents I 1 Motivation 2 Basic Concepts
More informationBasic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,
UNIT - 7 Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control Page 178 UNIT - 7 BASIC PROCESSING
More informationImplementing the Control. Simple Questions
Simple Questions How many cycles will it take to execute this code? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label add $t5, $t2, $t3 sw $t5, 8($t3) Label:... #assume not What is going on during the
More informationMicro-programmed Control Ch 15
Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of
More informationMachine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4)
Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Machine Instructions vs. Micro-instructions Memory execution unit CPU control memory
More informationMicro-programmed Control Ch 15
Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of
More informationMicro-Operations. execution of a sequence of steps, i.e., cycles
Micro-Operations Instruction execution execution of a sequence of steps, i.e., cycles Fetch, Indirect, Execute & Interrupt cycles Cycle - a sequence of micro-operations Micro-operations data transfer between
More informationCC 311- Computer Architecture. The Processor - Control
CC 311- Computer Architecture The Processor - Control Control Unit Functions: Instruction code Control Unit Control Signals Select operations to be performed (ALU, read/write, etc.) Control data flow (multiplexor
More informationGenerating the Control Unit
CPU design: Lecture 3 The control unit This sequences and controls all the data movement and manipulation that implements the instruction set. Slide 25 Generating the Control Unit We could use random logic
More informationLecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit
Lecture1: introduction Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit 1 1. History overview Computer systems have conventionally
More informationThe Need of Datapath or Register Transfer Logic. Number 1 Number 2 Number 3 Number 4. Numbers from 1 to million. Register
The Need of Datapath or Register Transfer Logic Number 1 Number 2 Number 3 Number 4 Numbers from 1 to million Register (a) (b) Circuits to add several numbers: (a) combinational circuit to add four numbers;
More informationGeneral Purpose Processors
Calcolatori Elettronici e Sistemi Operativi Specifications Device that executes a program General Purpose Processors Program list of instructions Instructions are stored in an external memory Stored program
More informationComputer Architecture
Computer Architecture Slide Sets WS 2013/2014 Prof. Dr. Uwe Brinkschulte M.Sc. Benjamin Betting Part 3 Fundamentals in Computer Architecture Computer Architecture Part 3 page 1 of 55 Prof. Dr. Uwe Brinkschulte,
More informationControl Unit Implementation
Control Unit Implementation Moore Machine Implementation Reset RES PC IF PC MAR, PC + PC Note capture of MBR in these states IF Wait/ IF2 Wait/ Wait/ MAR Mem, Read/Write, Request, Mem MBR Wait/ IF3 Wait/
More informationMicro-programmed Control Ch 17
Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to
More informationSystems Architecture I
Systems Architecture I Topics A Simple Implementation of MIPS * A Multicycle Implementation of MIPS ** *This lecture was derived from material in the text (sec. 5.1-5.3). **This lecture was derived from
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationHardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions
Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary Hardwired Control (4) Complex Fast Difficult to design Difficult to modify
More informationSystems Architecture
Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some or all figures from Computer Organization and Design: The Hardware/Software
More informationBlog - https://anilkumarprathipati.wordpress.com/
Control Memory 1. Introduction The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional
More informationRegister-Level Design
Register-Level Design A digital system can be treated at different level of abstraction or compleity. So far, we have seen it at the gate level and the transistor level. At a higher level than the gate
More informationEECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007
EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides
More information5.7. Microprogramming: Simplifying Control Design 5.7
5.7 Microprogramming: Simplifying Control Design 5.7 For the of our simple MIPS subset, a graphical representation of the finite state machine, as in Figure 5.40 on page 345, is certainly adequate. We
More informationMaterials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming
CS311 Lecture: CPU Control: Hardwired control and Microprogrammed Control Last revised October 18, 2007 Objectives: 1. To explain the concept of a control word 2. To show how control words can be generated
More informationDigitaalsüsteemide disain
IAY 6 Digitaalsüsteemide disain Register Transfer Level Design. FSM Synthesis. Alexander Sudnitson Tallinn University of Technology Register Transfer Level The Register Transfer Level (RTL) is characterized
More informationThe Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
The Processor: Datapath and Control Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction CPU performance factors Instruction count Determined
More informationCPU Organization. Hardware design. Vs. Microprogramming
CPU Organization Hardware design Vs. Microprogramming CPU Structure CPU must: Fetch instructions ti Interpret instructionsi Fetch data Process data Write data Source: Hamacher; Single-bus ORGN. CPU always
More informationMoore EECS150. Implement of Processor FSMs. Memory-Register Interface Timing. Processor / Memory Interface. Processor Signal FLow
Moore RES PC EECS5 IF PC MR, PC + PC Section Controller Implementations Fall Note capture of MBR in these states IF IF IF3 O MR Mem,,, Mem MBR MBR IR = = = IR MR, L IR MR ST C MBR MR Mem, MR Mem, L, ST,,,
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations
More informationInitial Representation Finite State Diagram. Logic Representation Logic Equations
Control Implementation Alternatives Control may be designed using one of several initial representations. The choice of sequence control, and how logic is represented, can then be determined independently;
More informationECE468 Computer Organization and Architecture. Designing a Multiple Cycle Controller
ECE468 Computer Organization and Architecture Designing a Multiple Cycle Controller ECE468 multicontroller Review of a Multiple Cycle Implementation The root of the single cycle processor s problems: The
More informationAdvanced Computer Architecture
Advanced Computer Architecture Lecture No. 22 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 5 Computer Systems Design and Architecture 5.3 Summary Microprogramming Working of a General Microcoded
More informationComputer Organization
Computer Organization! Computer design as an application of digital logic design procedures! Computer = processing unit + memory system! Processing unit = control + datapath! Control = finite state machine
More informationThe Processor: Datapath & Control
Chapter Five 1 The Processor: Datapath & Control We're ready to look at an implementation of the MIPS Simplified to contain only: memory-reference instructions: lw, sw arithmetic-logical instructions:
More informationInitial Representation Finite State Diagram Microprogram. Sequencing Control Explicit Next State Microprogram counter
Control Implementation Alternatives Control may be designed using one of several initial representations. The choice of sequence control, and how logic is represented, can then be determined independently;
More informationLecture 5 and 6. ICS 152 Computer Systems Architecture. Prof. Juan Luis Aragón
ICS 152 Computer Systems Architecture Prof. Juan Luis Aragón Lecture 5 and 6 Multicycle Implementation Introduction to Microprogramming Readings: Sections 5.4 and 5.5 1 Review of Last Lecture We have seen
More informationCPE 335. Basic MIPS Architecture Part II
CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture
More informationChapter 4. The Processor Designing the datapath
Chapter 4 The Processor Designing the datapath Introduction CPU performance determined by Instruction Count Clock Cycles per Instruction (CPI) and Cycle time Determined by Instruction Set Architecure (ISA)
More informationProcessor (I) - datapath & control. Hwansoo Han
Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two
More informationWilliam Stallings Computer Organization and Architecture 8 th Edition. Chapter 16 Micro-programmed Control
William Stallings Computer Organization and Architecture 8 th Edition Chapter 16 Micro-programmed Control Control Unit Organization Micro-programmed Control Use sequences of instructions (see earlier notes)
More informationGrundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic
More informationInf2C - Computer Systems Lecture Processor Design Single Cycle
Inf2C - Computer Systems Lecture 10-11 Processor Design Single Cycle Boris Grot School of Informatics University of Edinburgh Previous lectures Combinational circuits Combinations of gates (INV, AND, OR,
More information1DT157 Digitalteknik och datorarkitekt. Digital technology and computer architecture, 5p
1DT157 Digitalteknik och datorarkitekt Digital technology and computer architecture, 5p Homework #1 Tanenbaum Chapter 3 Problems 6,7,11,19,23 Submit electronically to the TAs: Binary Numbers Appendix A
More informationLeast Common Multiple (LCM)
Least Common Multiple (LCM) Task: Implement an LCM algorithm that is able to handle any combination of 8-bit (sign bit included) numbers. Use two's complement format to represent negative values. Provide
More informationBlock diagram view. Datapath = functional units + registers
Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs = machine instruction,
More informationChapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations
Chapter 4 The Processor Part I Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations
More informationObjective now How are such control statements registers and other components Managed to ensure proper execution of each instruction
Control and Control Components Introduction Software application similar to familiar nested Russian dolls As we ve observed earlier Application written in some high level programming language C, C++, C#,
More informationChapter 17. Microprogrammed Control. Yonsei University
Chapter 17 Microprogrammed Control Contents Basic Concepts Microinstruction Sequencing Microinstruction Execution TI 8800 Applications of Microprogramming 17-2 Introduction Basic Concepts An alternative
More informationENGG3380: Computer Organization and Design Lab5: Microprogrammed Control
ENGG330: Computer Organization and Design Lab5: Microprogrammed Control School of Engineering, University of Guelph Winter 201 1 Objectives: The objectives of this lab are to: Start Date: Week #5 201 Due
More informationAdvanced Parallel Architecture Lesson 3. Annalisa Massini /2015
Advanced Parallel Architecture Lesson 3 Annalisa Massini - 2014/2015 Von Neumann Architecture 2 Summary of the traditional computer architecture: Von Neumann architecture http://williamstallings.com/coa/coa7e.html
More informationCONTROL UNIT CONTROL UNIT. CONTROL vs DATA PATH. Instruction Sequencing. Two main operations of Control Unit can be identified:
CONTROL UNIT CONTROL UNIT of the Microprocessor Two main operations of Control Unit can be identified: Instruction sequencing - the methods by which instructions are selected for execution or, the manner
More informationMulticycle conclusion
Multicycle conclusion The last few lectures covered a lot of material! We introduced a multicycle datapath, where different instructions take different numbers of cycles to execute. A multicycle unit is
More informationWilliam Stallings Computer Organization and Architecture 8 th Edition. Micro-programmed Control
William Stallings Computer Organization and Architecture 8 th Edition Chapter 16 Micro-programmed Control Presenters: Andres Borroto Juan Fernandez Laura Verdaguer Control Unit Organization Micro-programmed
More informationControl unit. Input/output devices provide a means for us to make use of a computer system. Computer System. Computer.
Lecture 6: I/O and Control I/O operations Control unit Microprogramming Zebo Peng, IDA, LiTH 1 Input/Output Devices Input/output devices provide a means for us to make use of a computer system. Computer
More informationComputer Logic II CCE 2010
Computer Logic II CCE 2010 Dr. Owen Casha Computer Logic II 1 The Processing Unit Computer Logic II 2 The Processing Unit In its simplest form, a computer has one unit that executes program instructions.
More informationProgrammable Machines
Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational
More informationMaterials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming
CPS311 Lecture: CPU Control: Hardwired control and Microprogrammed Control Last revised October 23, 2015 Objectives: 1. To explain the concept of a control word 2. To show how control words can be generated
More informationMicroprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations.
CS 320 Ch. 21 Microprogrammed Control Microprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations. Microprogramming was invented by Maurice
More informationMulticycle Approach. Designing MIPS Processor
CSE 675.2: Introduction to Computer Architecture Multicycle Approach 8/8/25 Designing MIPS Processor (Multi-Cycle) Presentation H Slides by Gojko Babić and Elsevier Publishing We will be reusing functional
More informationProgrammable Machines
Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational
More informationEECE 417 Computer Systems Architecture
EECE 417 Computer Systems Architecture Department of Electrical and Computer Engineering Howard University Charles Kim Spring 2007 1 Computer Organization and Design (3 rd Ed) -The Hardware/Software Interface
More information4. MICROPROGRAMMED COMPUTERS
Structure of Computer Systems Laboratory No. 4 1 4. MICROPROGRAMMED COMPUTERS This laboratory work presents the principle of microprogrammed computers and an example of microprogrammed architecture, in
More informationCS 2461: Computer Architecture I
Computer Architecture is... CS 2461: Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs2461/ Instruction Set Architecture Organization
More informationDepartment of Electrical Engineering Introduction to Computer Engineering 1 Assignment 6: Computer Architecture
Department of Electrical Engineering Introduction to Computer Engineering 1 Assignment 6: Computer Architecture This assignment is not to be handed in, but is intended as a tutorial to help you understand
More informationCISC Processor Design
CISC Processor Design Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 3 SE-273: Processor Design Processor Architecture Processor Architecture CISC RISC Jan 21, 2008
More informationSingle Cycle Datapath
Single Cycle atapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili Section 4.1-4.4 Appendices B.3, B.7, B.8, B.11,.2 ing Note: Appendices A-E in the hardcopy text correspond to chapters 7-11 in
More informationENE 334 Microprocessors
ENE 334 Microprocessors Lecture 6: Datapath and Control : Dejwoot KHAWPARISUTH Adapted from Computer Organization and Design, 3 th & 4 th Edition, Patterson & Hennessy, 2005/2008, Elsevier (MK) http://webstaff.kmutt.ac.th/~dejwoot.kha/
More informationModule 5 - CPU Design
Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction
More informationUnit 8 - Week 7: Organization and Optimization of Micro-programmed Controlled Control Unit
X reviewer2@nptel.iitm.ac.in Courses» Computer Organization and Architecture: A Pedagogical Aspect Announcements Course Ask a Question Progress Mentor Unit 8 - Week 7: Organization and Optimization of
More informationFinite State Machine with Datapath
Finite State Machine with Datapath Task: Implement a GCD algorithm that is able to handle any combination of -bit (sign bit included) numbers. Use two's complement format to represent negative values.
More informationSystem Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın
System Level Design For Low Power Yard. Doç. Dr. Berna Örs Yalçın References System-Level Design Methodology, Daniel D. Gajski Hardware-software co-design of embedded systems : the POLIS approach / by
More informationSTRUCTURE OF DESKTOP COMPUTERS
Page no: 1 UNIT 1 STRUCTURE OF DESKTOP COMPUTERS The desktop computers are the computers which are usually found on a home or office desk. They consist of processing unit, storage unit, visual display
More informationInstruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...
Instruction-set Design Issues: what is the format(s) Opcode Dest. Operand Source Operand 1... 1) Which instructions to include: How many? Complexity - simple ADD R1, R2, R3 complex e.g., VAX MATCHC substrlength,
More informationCSE 141 Computer Architecture Spring Lectures 11 Exceptions and Introduction to Pipelining. Announcements
CSE 4 Computer Architecture Spring 25 Lectures Exceptions and Introduction to Pipelining May 4, 25 Announcements Reading Assignment Sections 5.6, 5.9 The Processor Datapath and Control Section 6., Enhancing
More information8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.
8-1 Name Binary code IDLE 000 Register operation or output R 0 RUN 0 1 Condition (a) State box (b) Example of state box (c) Decision box IDLE R 0 From decision box 0 1 START Register operation or output
More informationLecture 11: Control Unit and Instruction Encoding
CSCI25 Computer Organization Lecture : Control Unit and Instruction Encoding Ming-Chang YANG mcyang@cse.cuhk.edu.hk Reading: Chap. 7.4~7.5 (5 th Ed.) Recall: Components of a Processor Register file: a
More informationCPS104 Computer Organization Lecture 1
CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536
More informationAnnouncements. Microprogramming IA-32. Microprogramming Motivation. Microprogramming! Example IA-32 add Instruction Formats. Reading Assignment
Announcements Microprogramming CS 333 Fall 2006 Reading Assignment Read Chapter 5, Section 5.4 end of chapter Lab 2 Postlab Homework clarifications 4.11, 4.12, 4.19 Microprogramming Motivation Control
More informationCS152 Computer Architecture and Engineering January 29, 2013 ISAs, Microprogramming and Pipelining Assigned January 29 Problem Set #1 Due February 14
CS152 Computer Architecture and Engineering January 29, 2013 ISAs, Microprogramming and Pipelining Assigned January 29 Problem Set #1 Due February 14 http://inst.eecs.berkeley.edu/~cs152/sp13 The problem
More informationCOMPUTER STRUCTURE AND ORGANIZATION
COMPUTER STRUCTURE AND ORGANIZATION Course titular: DUMITRAŞCU Eugen Chapter 4 COMPUTER ORGANIZATION FUNDAMENTAL CONCEPTS CONTENT The scheme of 5 units von Neumann principles Functioning of a von Neumann
More informationCS 24: INTRODUCTION TO. Spring 2018 Lecture 3 COMPUTING SYSTEMS
CS 24: INTRODUCTION TO Spring 2018 Lecture 3 COMPUTING SYSTEMS LAST TIME Basic components of processors: Buses, multiplexers, demultiplexers Arithmetic/Logic Unit (ALU) Addressable memory Assembled components
More informationAlternative controller FSM implementation approaches based on:
Overview lternative controller FSM implementation approaches based on: classical Moore and Mealy machines jump counters microprogramming (ROM) based approaches branch sequencers horizontal microcode vertical
More informationTopics. Computer Organization CS Exam 2 Review. Infix Notation. Reverse Polish Notation (RPN)
Computer Organization CS 231-01 Exam 2 Review Dr. William H. Robinson October 11, 2004 http://eecs.vanderbilt.edu/courses/cs231/ Topics Education is a progressive discovery of our own ignorance. Will Durant
More informationComputer Structure. Unit 4. Processor
Computer Structure Unit 4. Processor Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contents Computer elements Processor organization
More informationChapter 05: Basic Processing Units Control Unit Design. Lesson 15: Microinstructions
Chapter 05: Basic Processing Units Control Unit Design Lesson 15: Microinstructions 1 Objective Understand that an instruction implement by sequences of control signals generated by microinstructions in
More informationVerilog for High Performance
Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes
More informationECE369. Chapter 5 ECE369
Chapter 5 1 State Elements Unclocked vs. Clocked Clocks used in synchronous logic Clocks are needed in sequential logic to decide when an element that contains state should be updated. State element 1
More informationComputer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories
Computer Organization Structure of a Computer Computer design as an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + Control = finite
More informationMicroprogrammed Control
Microprogrammed Control Chapter 17 Lesson 21 Slide 1/24 From chapter 16 Implementation of the control unit: Hardwired Essentially a combinatorial circuit Microprogrammed An alternative to a hardwired implementation.
More informationCS222: Processor Design
CS222: Processor Design Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Processor Design building blocks Outline A simple implementation: Single Cycle Data pathandcontrol
More information