COVER SHEET: Problem#: Points

Similar documents
Processor Design & ALU Design

TEST 1 REVIEW. Lectures 1-5

EXAMPLES 4/12/2018. The MIPS Pipeline. Hazard Summary. Show the pipeline diagram. Show the pipeline diagram. Pipeline Datapath and Control

Lecture 13: Sequential Circuits, FSM

CPU DESIGN The Single-Cycle Implementation

UNIVERSITY OF WISCONSIN MADISON

Combinatorial Logic Design Multiplexers and ALUs CS 64: Computer Organization and Design Logic Lecture #13

CPSC 3300 Spring 2017 Exam 2

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2

ICS 233 Computer Architecture & Assembly Language

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

Lecture 13: Sequential Circuits, FSM

ALU A functional unit

Implementing the Controller. Harvard-Style Datapath for DLX

Computer Engineering Department. CC 311- Computer Architecture. Chapter 4. The Processor: Datapath and Control. Single Cycle

Design at the Register Transfer Level

Simple Instruction-Pipelining. Pipelined Harvard Datapath

Enrico Nardelli Logic Circuits and Computer Architecture

CSCI-564 Advanced Computer Architecture

Project Two RISC Processor Implementation ECE 485

Computer Architecture. ECE 361 Lecture 5: The Design Process & ALU Design. 361 design.1

Simple Instruction-Pipelining. Pipelined Harvard Datapath

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

CprE 281: Digital Logic

COE 328 Final Exam 2008

Table of Content. Chapter 11 Dedicated Microprocessors Page 1 of 25

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER /2017

CSE Computer Architecture I

EC 413 Computer Organization

A Second Datapath Example YH16

CprE 281: Digital Logic

Lecture 10: Synchronous Sequential Circuits Design

CMP 338: Third Class

Fundamentals of Computer Systems

DE58/DC58 LOGIC DESIGN DEC 2014

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination

FSM model for sequential circuits

Philadelphia University Student Name: Student Number:

For smaller NRE cost For faster time to market For smaller high-volume manufacturing cost For higher performance

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

CMPT-150-e1: Introduction to Computer Design Final Exam

Computer Science Final Examination Friday December 14 th 2001

University of Florida EEL 3701 Summer 2015 Dr. Eric. M. Schwartz Department of Electrical & Computer Engineering Tuesday, 30 June 2015

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

CPE100: Digital Logic Design I

Fundamentals of Digital Design

Figure 4.9 MARIE s Datapath

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

CHAPTER log 2 64 = 6 lines/mux or decoder 9-2.* C = C 8 V = C 8 C * 9-4.* (Errata: Delete 1 after problem number) 9-5.

Design of Sequential Circuits

ECE 448 Lecture 6. Finite State Machines. State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code. George Mason University

Dr. Nicola Nicolici COE/EE2DI4 Midterm Test #2 Nov 22, 2006

EECS150 - Digital Design Lecture 23 - FSMs & Counters

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

PAST EXAM PAPER & MEMO N3 ABOUT THE QUESTION PAPERS:

DSP Design Lecture 7. Unfolding cont. & Folding. Dr. Fredrik Edman.

Menu. 7-Segment LED. Misc. 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec09 Counters Outline.

Philadelphia University Student Name: Student Number:

CPE100: Digital Logic Design I

CMP N 301 Computer Architecture. Appendix C

Lab 3 Revisited. Zener diodes IAP 2008 Lecture 4 1

CMU Introduction to Computer Architecture, Spring 2015 HW 2: ISA Tradeoffs, Microprogramming and Pipelining

State & Finite State Machines

EE201l Homework # 6. Microprogrammed Control Unit Design

Analysis of clocked sequential networks

Clock Strategy. VLSI System Design NCKUEE-KJLEE

Computer Architecture

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

Reduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs

State and Finite State Machines

Word-length Optimization and Error Analysis of a Multivariate Gaussian Random Number Generator

61C In the News. Processor Design: 5 steps


Fundamentals of Computer Systems

The Design Procedure. Output Equation Determination - Derive output equations from the state table

CS/COE0447: Computer Organization

Digital Electronics Sequential Logic

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

UNIT 8A Computer Circuitry: Layers of Abstraction. Boolean Logic & Truth Tables

Lecture: Pipelining Basics

Counters. We ll look at different kinds of counters and discuss how to build them

Review for Final Exam

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

CSE370 HW6 Solutions (Winter 2010)

School of EECS Seoul National University

課程名稱 : 數位邏輯設計 P-1/ /6/11

State & Finite State Machines


CS 700: Quantitative Methods & Experimental Design in Computer Science

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON

Preparation of Examination Questions and Exercises: Solutions

Reg. No. Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER Second Semester. Computer Science and Engineering

CSE 140 Midterm 3 version A Tajana Simunic Rosing Spring 2015

Computer Architecture ELEC2401 & ELEC3441

Menu. Excitation Tables (Bonus Slide) EEL3701 EEL3701. Registers, RALU, Asynch, Synch

A Combined Analytical and Simulation-Based Model for Performance Evaluation of a Reconfigurable Instruction Set Processor

Transcription:

EEL 4712 Midterm 3 Spring 2017 VERSION 1 Name: UFID: Sign here to give permission for your test to be returned in class, where others might see your score: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. As always, the best answer gets the most points. COVER SHEET: Problem#: Points 1 (4 points) 2 (4 points) 3 (4 points) 4 (8 points) 5 (4 points) 6 (4 points) 7 (4 points) 8 (4 points) 9 (4 points) 10 (4 points) 11 (4 points) 12 (8 points) 13 (10 points) 14 (4 points) 15 (4 points) 16 (20 points) 17 (6 points) 6 Regrade Info: Total:

1) (4 points) FPGA synthesis replaces tristates with what type of component? 2) (4 points) What is the name of the technology that uses virtual reconfigurable architectures implemented atop an FPGA to improve productivity? 3) (4 points) When the behavior of a circuit demonstrates some amount of randomness, it is likely that the output of a FF is: 4) a. (2 points) When synchronizing a single bit across clock domains, what type of synchronizer should you use? b. (2 points) When synchronizing multiple bits across clock domains and don t care about throughput, what type of synchronizer should you use? c. (2 points) When synchronizing multiple bits across clock domains and throughput is important, what type of synchronizer should you use? d. (2 points) In what situation can dual-flop synchronizers be used to synchronize multiple bits? 5) (4 points) How many bits are in each MIPS instruction? 6) (4 points) How many registers are in the MIPS register file? 7) (4 points) What is the purpose of the data stored into register 31 during a jump and link instruction?

8) (4 points) Briefly explain the difference between the behavior of an r-type and i-type instruction. 9) (4 points) Briefly explain the difference between a jump and branch instruction. 10) (4 points) What is the purpose of the HI and LO registers in the MIPS datapath? 11) (4 points) Describe the functionality that occurs during the instruction-fetch stage. Keep your description high level. E.g., you do not need to mention control signals. 12) (8 points) Write MIPS assembly code that does the following behavior. Assume the a[] starts at address 0x1000 and the b[] array starts at 0x2000. Use $r0-$r31 for registers. Make two columns if necessary. for (int i =0; i < 100; i++) { a[i] = b[i] + 4; }

13) (10 points) Create a memory initialization file for the following assembly code. Add comments as necessary. Put a small space between different instruction fields to make it easier to read. LOOP: DONE: beq $r1, $r3, DONE addiu $r5, $r4, 0x1000 lw $r1, 0($r5) j LOOP j DONE Depth = 256; Width = 32; Address_radix = hex; Data_radix = bin; % Program RAM Data % Content Begin End;

14) (4 points) Given a solution space with the following implementations, which of the solutions are not Pareto optimal? If they are all Pareto optimal, state that. a. Area: 1000 LUTs, Time: 18s b. Area: 2000 LUTs, Time: 19s c. Area: 3000 LUTs, Time: 8.5s d. Area: 4000 LUTs, Time: 16s e. Area: 5000 LUTs, Time: 20s 15) (4 points) During design-space exploration, you are considering two implementations: 1. Area: 5000 LUTs, Time: 3s 2. Area: 4000 LUTs, Time: 3s Is the existence of implementation 2 sufficient to prove that implementation 1 is not Pareto optimal? Explain your answer. 16) a. (5 points) For the following code, create a schedule for the provided datapath. Ignore muxes, registers, and other glue logic. Like the examples in class, assume that address calculations are done without using the specified resources (i.e., address calculations cost nothing). Do not change the code. List any assumptions. for (int i=0; i < 10000; i++) { a[i] = b[i]*10 + b[i+1]*20 + b[i+2]*30 + b[i+3]*40; } Datapath 1 multipliers 1 adders 1 comparator 1 memory for b[] (can read 1 elements/cycle) 1 memory for a[] (can write 1 element/cycle)

b. (2 points) What is the execution time in total cycles based on your schedule from part a? Show your work. c. (5 points) Create a new schedule for a datapath with 4 multipliers, 2 adders, 1 comparator, and a memory for b[] that can read 4 inputs/cycle. d. (2 points) What is the execution time of the schedule from part c? c. (4 points) For a pipelined implementation of the datapath in part c, what is the approximate execution time in total cycles? d. (2 points) Give two reasons why pipelining should be considered before applying loop unrolling. 17) (6 points) Free points for being the first class to do the MIPS lab.