A COMPLETE DESIGN OF A RISC PROCESSOR FOR PEDAGOGICAL PURPOSES *
|
|
- Shauna Daniel
- 5 years ago
- Views:
Transcription
1 A COMPLETE DESIGN OF A RISC PROCESSOR FOR PEDAGOGICAL PURPOSES * Hala ElAarag Department of Mathematics and Computer Science Stetson University 421 N. Woodland Blvd. DeLand, Fl helaarag@stetson.edu ABSTRACT In this paper we present the design of an instruction set architecture to address the need of providing a simple but realistic hands-on experience to computer organization and architecture students. To illustrate the goals of (Reduced Instruction Set Computer) RISC processors, we start with DLX architecture and show how we can apply the RISC philosophy and further reduce the DLX instruction set. At the end, students can build a complete pipelined processor in the lab with minimum cost using TTL chips. In this paper we give a recommendation to the chips needed to build this processor hoping that it would be useful for other Computer organization and architecture professors who want to provide their students with a deep insight on processor design. 1. INTRODUCTION At our University, as is the case for many other universities, we offer one course in computer organization and architecture. This course covers logic design, assembly language programming and computer organization. To give the students a hands-on experience in processor design, we used a kit from Yunten Labs [1]. However, this system is a very simple 4-bit architecture with a handful of instructions. Although students enjoyed building their own processor, this was not sufficient for the instructor. * Copyright 2009 by the Consortium for Computing Sciences in Colleges. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the CCSC copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Consortium for Computing Sciences in Colleges. To copy otherwise, or to republish, requires a fee and/or specific permission. 205
2 JCSC 25, 2 (December 2009) The Essentials of Computer Organization and Architecture by Null [2] introduces assembly language through MARIE. MARIE has a very simplistic instruction set and datapath. Hennessy and Patterson s Computer Organization and design [3], while widely used, is more adequate at a university where a series of courses on computer organization are offered. It is best if the students are familiar with logic design and assembly language as it focuses on the design of processors. Hennessey and Patterson [3] use MIPS as the example for assembly language programming. While MIPS is a simple assembly language, it is too complicated to digest in one course that covers a board aspect of computer organization. That was the motivation to create HRISC. Our goal was to design an instruction set architecture that is not too simple like MARIE and not as complex as MIPS. HRISC is realistic, yet could be easily build in a lab. In this way, we combine theory and practice and clarify concepts by having students build their own processors from scratch. DLX is a simplified RISC architecture that is designed mainly for pedagogical purposes. We take DLX one step further, and start to reduce its instruction set based on the SPEC benchmarks to reach HRISC instruction set. 2. RELATED WORK There are many simplified architectures designed for pedagogical purposes. Some are designed with the goal of prototyping using FPGAs [4] while others are based on Hardware description Languages (HDL) [5]. Though, most of them are designed as simulators, some examples are Ant32 [6] and MARS [7]. Unlike related work, we had the following goals for our processor design:! Simple enough so students can build it physically using hardware.! Realistic enough so it gives insight on how real processors work.! Based on MIPS (or DLX) architecture. So we can make use of the myriad of simulators that have been developed over the years. To name a few MIPS simulators, SPIM [8] is the most famous and WebMIPS [9] illustrates some of MIPS architectural features like pipelining. 3. HRISC OVERVIEW HRISC is a 32-bit processor that is based on the DLX architecture. It has the following features:! Achieves RISC goals! Has a Simple instruction set! Other desired complex instructions are implemented in software.! Load/store architecture! Has a single addressing mode! Has two fixed length instruction formats.! Opcode and register designators are in the same bit fields within each instruction's encoding for simple decoding. 206
3 CCSC: Southeastern Conference! Pipelined design! Executes one instruction in one clock cycle.! Hardwired control unit. 4. HRISC INSTRUCTION SET In this section, we reduce the instruction set of the DLX machine. Benchmarks provided by the Standard Performance Evaluation Corporation (SPEC) are used [3]. The four benchmarks represent compilers, floating point, general integer and business data processing. From the instruction mixes of the four benchmarks, we noticed that only a small number of instructions (conditional branch, add, load and store) dominate across all four programs. If floating point instructions are not taken into account then it can be noticed that only 22 instructions are considered. Those instructions are the ones which are responsible for more than 2% of the execution in at least one of the benchmarks. Thus, as the other instructions constitute a very small percentage of the instruction execution then, they could be eliminated. This was done as a first step. We also noticed that some instructions have blank spaces. Those are the ones which are not responsible for more than 1.5% of the execution, and the average may appear at 1% or less because the instruction is not used by all benchmarks. These instructions were eliminated as a second step of the reduction. Although not shown here for space limitation, we show how the eliminated instructions could be implemented in software using non-eliminated instructions. From the 53 DLX instructions only 17 are left and 34 are eliminated. Hence the HRISC instruction set has 17 instructions shown in Table 1. HRISC has two instruction formats. Table 1: HRISC Instruction Set Control Branch BEQZ, BNEZ Jump JR, JALR Arithmetic/logical Add ADD,ADDI Subtract SUB And Logical AND Exclusive Or XOR Shift Right Logical SRL Shift Left Logical Load High Immediate Set Data Transfer Load Store SLL LHI SEQ, SLT, SGT LW SW 207
4 JCSC 25, 2 (December 2009) 5. THE TABLE OF EVENTS Table 2 shows the table of events of HRISC. This table of events is considered a documentation that shows the steps of execution of the different instructions in the pipeline. The table shows the pipeline stages on the vertical axis, while the six instruction groups on the horizontal axis. The Register Transfer Language (RTL) is used to describe the operations performed in the pipeline. The arrow used in the RTL means that destinations are loaded on the edge of the clock at the end of the stage. The intersection between a column and a row shows the operations performed in the execution of that instruction in that pipeline stage. All of these operations are done in parallel. Since in a pipelined system all the stages operate at the same time, therefore care was taken not to cause conflicts between operations in different stages of different instructions. Figure 1 shows a complete block diagram of HRISC. The block diagram is also divided vertically into the five stages. In the IF stage, the PC can be loaded with 3 possibilities BTA, RS1 or PC + 1 in case of a taken branch, a jump instruction or noncontrol transfer instructions, respectively. F1 and F2 are used to select an input to the multiplexer. They are functions of b1 and b2 (2 control bits from PROM ID) and the Z line (result of comparing RS1 with 0, if RS1 = 0 then Z = 0). Then f1 = bl.b2'.z' + b1.b2.z f2 = bl'.b2 In the ID stage, a comparator is used to compare RS1 with 0 and outputs the Z line. Also an adder is used to compute the target address of the branch instruction (BTA) early in the pipeline. Registers IR2 and LINK1 take the values of IR1 and PC, respectively. The two source registers are read into registers A and B. In the EX stage, OUT1 stores the result of the ALU instructions while OUT3 stores the result of the SET instructions. 208
5 CCSC: Southeastern Conference Since both OUT1 and OUT3 registers are connected to OUT2, then they should be chosen to be 3-state output registers. OUT1 is enabled by the control line (- (OUT2 <- OUT1)), while OUT3 is enabled by the control line (- (OUT2 <- OUT3)). Registers IR3 and LINK2 take the values of IR2 and LINK1, respectively. MAR is loaded with the ALU output, while MDR1 is loaded with the contents of register B. In the MEM stage registers IR4, OUT2, LINK3, MDR2 and the data memory[mar] are loaded with the contents of IR3, OUT1 or OUT3, LINK2, data memory[mar] or MDR1, respectively. The WB stage writes the register file with the contents of OUT2, LINK3 or MDR2. Only one of these registers is enabled by the corresponding control line and the write operation is performed. 6. DESIGN OF HRISC In this section we show how to build HRISC in a lab using off the shelf chips. Choosing chips for this design is fairly simple. This is because the design consists mainly of registers, PROMs, the register file and the ALU. Texas Instrument s TTL family offers a wide array of functions. The 7400 series is the most widespread family of Integrated circuits (ICs). A List of the chips that could be used is shown in Table 3. Other components could be substituted if they provide the same functionality. Most recent 7400 series parts are fabricated in CMOS. For example, 74HCT258 for High-speed CMOS with TTL-compatible input thresholds are functionally similar to the TTL part 74S258. The CMOS chips have significant power reduction when compared to TTL ones. Also instead of the 8-bit 374 registers there are 16-bit registers like 74FCT16374 and 32- bit registers like 74LVTH32374, which could greatly reduce the number of chips used. If 8-bit registers like the ones suggested in Table 3 are used to design 32-bit processor then the total number of chips used is 159. To build this processor in the lab, we suggest two options. Either build an 8-bit version of HRISC or use the equivalent 32-bit registers. 7. MICROPROGRAM AND HARDWIRED CONTROL UNIT We then design the microinstruction format of each PROM, and the possible entries for each field. For space limitation we show the simplest PROM; PROM ID PROM ID b1,b2 10 BEQZ 11 BNEQZ 01 JR, JALR 00 otherwise Since the PROMS are found to have most of its entries as don t cares, also they have very few control lines, therefore it is better to hardwire the control unit. This would lead to less cost and better speed. We now illustrate how the HRISC control unit could be hardwired. Each instruction has a 6-bit opcode, they are named a,b,c,d,e and f. To facilitate the job, the instruction's opcode can be assigned values such that each bit of the opcode 209
6 JCSC 25, 2 (December 2009) decides which group the instruction belongs to. That is, bit "a" decides whether the instruction is R-type or I-type, "b" decides whether it is a memory or a control instruction, bits "c and "d differentiate between different memory/control instructions, "e" decides whether it is a shift instruction from the ALU R-type instructions, while "f" differentiates between ALU and SET instructions. Table 4 shows the opcode bit configuration of the instructions. PROM ID has two control lines b1 and b2, they can be hardwired as follows: We similarly show the hardwiring for the other PROM EX, PROM MEM and PROM WB. CONCLUSION Implementing processors as part of a computer organization course contributes positively to the learning process. Students obtain an insight that they can t get through theory or simulation. Many students commented on how building their own processor using actual hardware gives them an invaluable experience and reveals many intricacies that otherwise would have remained ambiguous. In this paper, we presented a hardware implementation of a pipelined processor that could be used in the scope of one computer organization course. REFERENCES 1. Computer System Architecture Lab, 2. Linda Null, The Essentials of Computer Organization And Architecture, Jones and Bartlett publishing, Patterson and Hennessy, Computer Organization and Design: The Hardware/Software Interface, Morgan Kauffman, M. Holland, J. Harris, and S. Hauck, "Harnessing FPGAs for Computer Architecture Education", Int. Conf. on Microelectronic Systems Education, June Nestor J., Teaching Computer Organization with HDLs: An Incremental Approach, Proceedings of the 2005 IEEE Int. Conf. on Microelectronic Systems Education. 6. Ellard et al. On the design of a new CPU architecture for pedagogical purposes, Proceedings of the 2002 workshop on Computer architecture 210
7 CCSC: Southeastern Conference education: Held in conjunction with the 29th International Symposium on Computer Architecture, May Vollmar K., MARS: an education-oriented assembly language simulator, Proceedings of the 37th SIGCSE technical symposium on Computer science education, March Larus, J., SPIM: A MIPS32 simulator, 9. Branovic, I., Giorgi, R. and Martinelli, E., WebMIPS: A New Web-Based MIPS Simulation Environment for Computer Architecture Education, Workshop on Computer Architecture Education, 31st International Symposium on Computer Architecture, Munich, Germany, Table 3: Suggested Chips for HRISC Name Type Description Instruction Registers (IR1-IR4) 74AS374 Octal Register with three-state outputs Program Counter 74AS575 Octal D-Type Flip-Flop with Synchronous Clear, Three-state outputs 4:1 Multiplexer 74AS253 Dual 4-line to 1-line Data Selector/Multiplexer with three-state outputs 2:1 Multiplexer 74S258 Quad 2-line to 1-line Data Selector/Multiplexer with Inverted three-state outputs Adder 74S283 4-bit Binary Full adder Register File 74ASC3l03 16 x 8 edge-triggered 3-port register file ALU 74AS181 4-bit Arithmetic Logic Unit and Function Generator Carry Lookahead 74AS bit Lookahead Carry Generator Buffer 74AS244 Octal Buffer with Noninverted three-state outputs PROMs Registers A,B,OUT, LINK, MDR, MAR TBP18S S bits (32 words by 8 bits) Programmable Readonly memories Octal Register with three-state outputs 211
8 JCSC 25, 2 (December 2009) 212
9 CCSC: Southeastern Conference 213
Chapter 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 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 informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationChapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor The Processor - Introduction
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition The Processor - Introduction
More informationR-type Instructions. Experiment Introduction. 4.2 Instruction Set Architecture Types of Instructions
Experiment 4 R-type Instructions 4.1 Introduction This part is dedicated to the design of a processor based on a simplified version of the DLX architecture. The DLX is a RISC processor architecture designed
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 informationA Model RISC Processor. DLX Architecture
DLX Architecture A Model RISC Processor 1 General Features Flat memory model with 32-bit address Data types Integers (32-bit) Floating Point Single precision (32-bit) Double precision (64 bits) Register-register
More informationTEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE. Guoping Wang 1. INTRODUCTION
TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE Guoping Wang Indiana University Purdue University Fort Wayne, Indiana; Email:wang@engr.ipfw.edu 1. INTRODUCTION Computer Architecture is a common
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 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 informationECE260: Fundamentals of Computer Engineering
Datapath for a Simplified Processor James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Introduction
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 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 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 information4. What is the average CPI of a 1.4 GHz machine that executes 12.5 million instructions in 12 seconds?
Chapter 4: Assessing and Understanding Performance 1. Define response (execution) time. 2. Define throughput. 3. Describe why using the clock rate of a processor is a bad way to measure performance. Provide
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 informationDesign of a Pipelined 32 Bit MIPS Processor with Floating Point Unit
Design of a Pipelined 32 Bit MIPS Processor with Floating Point Unit P Ajith Kumar 1, M Vijaya Lakshmi 2 P.G. Student, Department of Electronics and Communication Engineering, St.Martin s Engineering College,
More informationChapter 13. The ISA of a simplified DLX Why use abstractions?
Chapter 13 The ISA of a simplified DLX In this chapter we describe a specification of a simple microprocessor called the simplified DLX. The specification is called an instruction set architecture (ISA).
More informationDigital Logic Design: a rigorous approach c
Digital Logic Design: a rigorous approach c Chapter 21: The ISA of a Simplified DLX Guy Even Moti Medina School of Electrical Engineering Tel-Aviv Univ. June 13, 2016 Book Homepage: http://www.eng.tau.ac.il/~guy/even-medina
More informationDesign for a simplified DLX (SDLX) processor Rajat Moona
Design for a simplified DLX (SDLX) processor Rajat Moona moona@iitk.ac.in In this handout we shall see the design of a simplified DLX (SDLX) processor. We shall assume that the readers are familiar with
More informationThe Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
The Processor (1) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 4: Datapath and Control
ELEC 52/62 Computer Architecture and Design Spring 217 Lecture 4: Datapath and Control Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849
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 informationTopic #6. Processor Design
Topic #6 Processor Design Major Goals! To present the single-cycle implementation and to develop the student's understanding of combinational and clocked sequential circuits and the relationship between
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 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 informationECE 486/586. Computer Architecture. Lecture # 7
ECE 486/586 Computer Architecture Lecture # 7 Spring 2015 Portland State University Lecture Topics Instruction Set Principles Instruction Encoding Role of Compilers The MIPS Architecture Reference: Appendix
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 informationCOMPUTER ORGANIZATION AND DESIGN. The Hardware/Software Interface. Chapter 4. The Processor: A Based on P&H
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Chapter 4 The Processor: A Based on P&H Introduction We will examine two MIPS implementations A simplified version A more realistic pipelined
More informationCOMPUTER ORGANIZATION AND DESIGN
COMPUTER ORGANIZATION AND DESIGN 5 Edition th The Hardware/Software Interface Chapter 4 The Processor 4.1 Introduction Introduction CPU performance factors Instruction count CPI and Cycle time Determined
More informationECE410 Design Project Spring 2013 Design and Characterization of a CMOS 8-bit pipelined Microprocessor Data Path
ECE410 Design Project Spring 2013 Design and Characterization of a CMOS 8-bit pipelined Microprocessor Data Path Project Summary This project involves the schematic and layout design of an 8-bit microprocessor
More informationThe Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture
The Processor Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut CSE3666: Introduction to Computer Architecture Introduction CPU performance factors Instruction count
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 informationInstruction Pipelining
Instruction Pipelining Simplest form is a 3-stage linear pipeline New instruction fetched each clock cycle Instruction finished each clock cycle Maximal speedup = 3 achieved if and only if all pipe stages
More informationInstruction Pipelining
Instruction Pipelining Simplest form is a 3-stage linear pipeline New instruction fetched each clock cycle Instruction finished each clock cycle Maximal speedup = 3 achieved if and only if all pipe stages
More information1. Fundamental Concepts
1. Fundamental Concepts 1.1 What is a computer? A computer is a data processing machine which is operated automatically under the control of a list of instructions (called a program) stored in its main
More informationInstruction Set Architecture (ISA)
Instruction Set Architecture (ISA)... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data
More informationLaboratory Single-Cycle MIPS CPU Design (4): 16-bits version One clock cycle per instruction
Laboratory 7 7. Single-Cycle MIPS CPU Design (4): 16-bits version One clock cycle per instruction 7.1. Objectives Study, design, implement and test Instruction Execute Unit for the 16-bit Single-Cycle
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Data Paths and Microprogramming
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Data Paths and Microprogramming We have spent time looking at the MIPS instruction set architecture and building
More informationChapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding
4.8 MARIE This is the MARIE architecture shown graphically. Chapter 4 MARIE: An Introduction to a Simple Computer 2 4.8 MARIE MARIE s Full Instruction Set A computer s control unit keeps things synchronized,
More informationSingle cycle MIPS data path without Forwarding, Control, or Hazard Unit
Single cycle MIPS data path without Forwarding, Control, or Hazard Unit Figure 1: an Overview of a MIPS datapath without Control and Forwarding (Patterson & Hennessy, 2014, p. 287) A MIPS 1 single cycle
More informationLaboratory Single-Cycle MIPS CPU Design (3): 16-bits version One clock cycle per instruction
Laboratory 6 6. Single-Cycle MIPS CPU Design (3): 16-bits version One clock cycle per instruction 6.1. Objectives Study, design, implement and test Instruction Decode Unit for the 16-bit Single-Cycle MIPS
More informationECE260: Fundamentals of Computer Engineering
ECE260: Fundamentals of Computer Engineering Pipelined Datapath and Control James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania ECE260: Fundamentals of Computer Engineering
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 informationIntroduction. Datapath Basics
Introduction CPU performance factors - Instruction count; determined by ISA and compiler - CPI and Cycle time; determined by CPU hardware 1 We will examine a simplified MIPS implementation in this course
More informationCS3350B Computer Architecture Quiz 3 March 15, 2018
CS3350B Computer Architecture Quiz 3 March 15, 2018 Student ID number: Student Last Name: Question 1.1 1.2 1.3 2.1 2.2 2.3 Total Marks The quiz consists of two exercises. The expected duration is 30 minutes.
More informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 14: One Cycle MIPs Datapath Adapted from Computer Organization and Design, Patterson & Hennessy, UCB R-Format Instructions Read two register operands Perform
More informationLECTURE 3: THE PROCESSOR
LECTURE 3: THE PROCESSOR Abridged version of Patterson & Hennessy (2013):Ch.4 Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU
More informationChapter 4. The Processor. Computer Architecture and IC Design Lab
Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS
More informationCOMPUTER ORGANIZATION (CSE 2021)
COMPUTER ORGANIZATION (CSE 2021) HUGH CHESSER LAS 1012U Agenda Introduction to course Context Hardware - Integrated Circuits (IC s) Software Assembly Language Reading: Patterson, Sections 1.1 1.3. CSE
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 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 informationCSE 141L Computer Architecture Lab Fall Lecture 3
CSE 141L Computer Architecture Lab Fall 2005 Lecture 3 Pramod V. Argade November 1, 2005 Fall 2005 CSE 141L Course Schedule Lecture # Date Day Lecture Topic Lab Due 1 9/27 Tuesday No Class 2 10/4 Tuesday
More informationDigital Design Using Verilog and FPGAs An Experiment Manual. Chirag Sangani Abhishek Kasina
Digital Design Using Verilog and FPGAs An Experiment Manual Chirag Sangani Abhishek Kasina ii Contents I Combinatorial and Sequential Circuits 1 1 Seven-Segment Decoder 3 1.1 Concept.........................................
More informationDesign and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor
Design and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor Abstract The proposed work is the design of a 32 bit RISC (Reduced Instruction Set Computer) processor. The design
More informationLaboratory 05. Single-Cycle MIPS CPU Design smaller: 16-bits version One clock cycle per instruction
Laboratory 05 Single-Cycle MIPS CPU Design smaller: 16-bits version One clock cycle per instruction 1. Objectives Study, design, implement and test Instruction Fetch Unit for the 16-bit Single-Cycle MIPS
More informationSIMULATION-BASED COMPARISON OF SCHEDULING TECHNIQUES IN MULTIPROGRAMMING OPERATING SYSTEMS ON SINGLE AND MULTI-CORE PROCESSORS *
SIMULATION-BASED COMPARISON OF SCHEDULING TECHNIQUES IN MULTIPROGRAMMING OPERATING SYSTEMS ON SINGLE AND MULTI-CORE PROCESSORS * Hala ElAarag, David Bauschlicher, and Steven Bauschlicher Department of
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 informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
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 informationIntroduction to CPU Design
١ Introduction to CPU Design Computer Organization & Assembly Language Programming Dr Adnan Gutub aagutub at uqu.edu.sa [Adapted from slides of Dr. Kip Irvine: Assembly Language for Intel-Based Computers]
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 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 informationCOMPUTER ORGANIZATION (CSE 2021)
COMPUTER ORGANIZATION (CSE 2021) HUGH CHESSER CSEB 1012U Agenda Introduction to course Context Hardware - Integrated Circuits (IC s) Software Assembly Language Reading: Patterson, Sections 1.1 1.3. CSE
More informationDC57 COMPUTER ORGANIZATION JUNE 2013
Q2 (a) How do various factors like Hardware design, Instruction set, Compiler related to the performance of a computer? The most important measure of a computer is how quickly it can execute programs.
More informationCSEE 3827: Fundamentals of Computer Systems
CSEE 3827: Fundamentals of Computer Systems Lecture 15 April 1, 2009 martha@cs.columbia.edu and the rest of the semester Source code (e.g., *.java, *.c) (software) Compiler MIPS instruction set architecture
More informationImproving Performance: Pipelining
Improving Performance: Pipelining Memory General registers Memory ID EXE MEM WB Instruction Fetch (includes PC increment) ID Instruction Decode + fetching values from general purpose registers EXE EXEcute
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 informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
More informationLets Build a Processor
Lets Build a Processor Almost ready to move into chapter 5 and start building a processor First, let s review Boolean Logic and build the ALU we ll need (Material from Appendix B) operation a 32 ALU result
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 informationChapter 4 The Processor 1. Chapter 4A. The Processor
Chapter 4 The Processor 1 Chapter 4A The Processor Chapter 4 The Processor 2 Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware
More informationEXERCISE 3: DLX II - Control
TAMPERE UNIVERSITY OF TECHNOLOGY Institute of Digital and Computer Systems TKT-3200 Computer Architectures I EXERCISE 3: DLX II - Control.. 2007 Group Name Email Student nr. DLX-CONTROL The meaning of
More informationLaboratory Pipeline MIPS CPU Design (2): 16-bits version
Laboratory 10 10. Pipeline MIPS CPU Design (2): 16-bits version 10.1. Objectives Study, design, implement and test MIPS 16 CPU, pipeline version with the modified program without hazards Familiarize the
More informationLecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)
Lecture Topics Today: The MIPS ISA (P&H 2.1-2.14) Next: continued 1 Announcements Milestone #1 (due 1/26) Milestone #2 (due 2/2) Milestone #3 (due 2/9) 2 1 Evolution of Computing Machinery To understand
More informationThese actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions.
MIPS Pipe Line 2 Introduction Pipelining To complete an instruction a computer needs to perform a number of actions. These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously
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 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 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 informationLecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1
Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1 Introduction Chapter 4.1 Chapter 4.2 Review: MIPS (RISC) Design Principles Simplicity favors regularity fixed size instructions small number
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 informationMARIE: An Introduction to a Simple Computer
MARIE: An Introduction to a Simple Computer 4.2 CPU Basics The computer s CPU fetches, decodes, and executes program instructions. The two principal parts of the CPU are the datapath and the control unit.
More informationLecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23)
Lecture Topics Today: Single-Cycle Processors (P&H 4.1-4.4) Next: continued 1 Announcements Milestone #3 (due 2/9) Milestone #4 (due 2/23) Exam #1 (Wednesday, 2/15) 2 1 Exam #1 Wednesday, 2/15 (3:00-4:20
More informationCOMPUTER ORGANIZATION AND DESIGN
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationData Hazards Compiler Scheduling Pipeline scheduling or instruction scheduling: Compiler generates code to eliminate hazard
Data Hazards Compiler Scheduling Pipeline scheduling or instruction scheduling: Compiler generates code to eliminate hazard Consider: a = b + c; d = e - f; Assume loads have a latency of one clock cycle:
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 informationPART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers.
Set No. 1 IV B.Tech I Semester Supplementary Examinations, March - 2017 COMPUTER ARCHITECTURE & ORGANIZATION (Common to Electronics & Communication Engineering and Electronics & Time: 3 hours Max. Marks:
More informationUsing Verilog HDL to Teach Computer Architecture Concepts
Using Verilog HDL to Teach Computer Architecture Concepts Dr. Daniel C. Hyde Computer Science Department Bucknell University Lewisburg, PA 17837, USA hyde@bucknell.edu Paper presented at Workshop on Computer
More informationCHAPTER 4 MARIE: An Introduction to a Simple Computer
CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 177 4.2 CPU Basics and Organization 177 4.2.1 The Registers 178 4.2.2 The ALU 179 4.2.3 The Control Unit 179 4.3 The Bus 179 4.4 Clocks
More informationDLX: A Simplified RISC Model
DLX: A Simplified RISC Model 1 DLX Pipeline Fetch Decode Integer ALU Data Memory Access Write Back Memory Floating Point Unit (FPU) Data Memory IF ID EX MEM WB definition based on MIPS 2000 commercial
More informationCOMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
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 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 informationCONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)
CONTENTS Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii) CHAPTER 1: NUMBER SYSTEM 1.1 Digital Electronics... 1 1.1.1 Introduction... 1 1.1.2 Advantages of Digital Systems...
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 informationISA: The Hardware Software Interface
ISA: The Hardware Software Interface Instruction Set Architecture (ISA) is where software meets hardware In embedded systems, this boundary is often flexible Understanding of ISA design is therefore important
More informationP = time to execute I = number of instructions executed C = clock cycles per instruction S = clock speed
RISC vs CISC Reduced Instruction Set Computer vs Complex Instruction Set Computers for a given benchmark the performance of a particular computer: P = 1 II CC 1 SS where P = time to execute I = number
More informationCS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU
CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU Last revised October 15, 2007 Objectives: 1. To show how a CPU is constructed out of a regiser
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 information