The University of Michigan - Department of EECS EECS 370 Introduction to Computer Architecture Midterm Exam 1 February 17, 2011
|
|
- Sheryl Geraldine Patrick
- 6 years ago
- Views:
Transcription
1 The University of Michigan - Department of EECS EECS 370 Introduction to Computer Architecture Midterm Exam 1 February 17, 2011 Name: KEY_(Answers in red) University of Michigan uniqname: (NOT your student ID number!) Open book, open notes. No laptops, PDAs, cell phones, etc. (calculators are ok). Questions vary in difficulty; it is strongly recommended that you do not spend too much time on any one question. For questions where a box is provided, please put your final answer in the box. The rules of the Honor Code of the University of Michigan - College of Engineering apply for this exam. Honor code pledge: I have neither given nor received aid on this examination, nor have I concealed any violations of the Honor Code. Signature: (Exams without a signed pledge will not be graded) Question Score/Point Value Short answer questions /10 1. Memory alignment /10 2. Assembler/Linker /12 3. C to MIPS /10 4. LC2k assembly /10 5. Caller/Callee assignment /12 6. Finite state machines /7 7. Digital design /5 8. New ISA /12 9. Single cycle datapath /12 TOTAL /100 Page 1 of 14
2 Short Answer Questions [2 pts. each] S1. Which is not typically stored on a function stack frame? a) Function parameters b) Local variables c) String constants d) Caller-save registers e) Callee-save registers S2. Which program would execute fastest on the LC2k single-cycle datapath? a) A program consisting of 100 lw instructions b) A program consisting of 100 add instructions. c) A program consisting of 100 not-taken beq instructions. d) All of these programs take the same amount of time. S3. Why is LC2k considered a RISC architecture? Select the best answer. a) It only has 8 opcodes b) All instructions are 32-bits in length c) There are no opcodes to load bytes and halfwords like MIPS. d) It uses PC-relative addressing for BEQ. e) Add and nand have three operands rather than two. S4. Is it possible for a function to have an empty relocation table? Briefly explain why or why not. Yes, a function that contains no function calls (i.e., a leaf function) and no references to global variables would contain no instructions that require relocating by the linker, and hence it s relocation table would be empty. S5. Select the correct bitwise carry out function for the fourth carry out of a carry lookahead adder with a group of size of four. Note that we are starting with a subscript of 1 for the lowestorder bit in the group. a) G 4 + P 4 (G 3 + P 3 (G 2 + P 2 )) b) P 4 G 4 + P 4 G 3 + P 4 P 3 G 2 + P 4 P 3 P 2 G 1 c) P 4 G 4 d) G 4 + P 4 G 3 + P 4 P 3 G 2 + P 4 P 3 P 2 G 1 Page 2 of 14
3 Longer Questions [Varying points] 1. Memory Alignment [10 pts.] Consider a 32-bit architecture requiring strict alignment. struct { double a; char b; int *c; struct { char d; double e; } f; char *g[10]; short h; } fred; a) [7 pts.] Indicate, in the following table, the address ranges spanned by the variables in the struct. Addresses start at 128. Start Address and End Address are inclusive, so for example, a Start Address of 4 and End Address of 5 would be two bytes. Variable Start Address End Address Total Size a b c d e f g h b) [3 pts.] How many bytes does struct fred use in total? Start addressing from where a s address begins and consider any padding that might be needed to ensure proper alignment for variables that may follow the struct in memory. 80 bytes Page 3 of 14
4 2. Assembler/Linker [12 pts.] Given the following C code, please answer the questions that follow. You should assume variables declared static are not entered into the symbol table by the linker. 0 char a; 1 int foo(int p) { 2 static int b = 0; 3 int *d; 4 b++; 5 d = malloc( 10 * sizeof(int) ); 6 printf( %d, b); 7 d[5] = 6; 8 a = 6 ; 9 return b; 10 } a. [4 pts.] List whether a given variable is located on the stack, static, or heap by circling the answer below: a Stack Static Heap b Stack Static Heap d Stack Static Heap d[5] Stack Static Heap *d Stack Static Heap b. [4 pts.] Please circle the items that are placed in the symbol table: foo malloc printf d %d b p a sizeof 6 c. [4 pts.] Indicate the line numbers associated with all relocation table entries for this program. Line Numbers: 2, 4, 5, 6, 8, 9 (no points are lost if lines 4 and 9 are not listed) Page 4 of 14
5 3. MIPS/C Conversion [10 pts] Jonathon has the following C code excerpt that he wishes to convert into MIPS Assembly: while ( ((x >> 1) & 0x1)!= 0 ) { x = x >> 1; count++; } Jonathon has started, but unsure how to finish the conversion to MIPS. Please help him convert the piece of C code to MIPS Assembly by filling in the blanks below. Assume that x is stored in $1 and count is stored in $2, both integer values. (Note: srl is the MIPS shift right logical instruction). addi $3, $0, _1_ loop: srl $4, $1, _1 (or $3 is fine) and $5, _$4_, $3 beq $5, _$0_, done add $1, _$4_, $0 addi $2, _$2_, _1_ beq _$0_, $0, _loop_ done: Page 5 of 14
6 4. LC2K Assembly [10 pts.] Given the following LC2K assembly program, answer the questions that follow. 0 lw 0 1 num 1 lw 0 2 b 2 lw 0 3 check 3 lw 0 4 negone 4 lw 0 5 five 5 nand nand beq 0 3 other 8 add beq 0 0 done 10 other add done sw 0 2 b 12 halt 13 num.fill b.fill 0 15 check.fill 1 16 negone.fill five.fill 5 a) [2 pts.] Which one MIPS assembly instruction corresponds to what lines 5 and 6 are executing? (no points lost if just and instruction is listed without registers) (can also have and $3, $3, $1) and $3, $1, $3 b) [4 pts.] What is the final value stored in address 14 when this program finishes executing? c) [4 pts.] In one or two sentences, describe what this program does. If num is even, b gets set to 5. If num is odd, b gets set to -1-1 Page 6 of 14
7 5. Caller/Callee [12 pts.] You are given the following two C functions: int rick(void) { int n=0, e=1, v=2, r=3, g; n = n + e + v + r; r = r + abs(n); for(g=0; g < 7; g += 2){ e = roll(g,e); e += v; } if(r > 5) return r; if(e == 1) return e+1; return -1; } int roll(int v, int y) { int i=v, e=y, o, u=-1; u = rand(); u++; printf( u was rolled: %d, u); for (o = 0; o < 5; o++) { i = i * e + u; printf( Astley: %d, i); } return i; } a.) [8 points] To answer this question, fill the tables below. You must show your work on the copy of the code above to receive any credit. Assume that the function rick is called only once. How many store/load operations are executed for each variable in rick and roll? Consider the number of saves and restores occurring in only the function being analyzed (i.e., rick() and roll()), not functions called by them or calling them. Do the analysis assuming for each variable both a caller-saved and a callee-saved mapping, and consider the single call to rick and the total of all the resulting call(s) to roll. Assume that parameters v and y are stored in special input parameter registers. rick() Callersaved Calleesaved roll() Callersaved Calleesaved # sw # lw # sw # lw # sw # lw # sw # lw n i e e v o r u g Page 7 of 14
8 Problem 5 continued b.) [4 points] If you have 3 caller-saved and 2 callee-saved registers available, what is the best mapping of registers to variables to minimize the total number of load/store operations? (circle your selection below) rick() n caller callee roll() i caller callee e caller callee e caller callee v caller callee o caller callee r caller callee u caller callee g caller callee Page 8 of 14
9 6. Finite State Machines [7 pts.] Consider the synchronous finite state machine specified in the following table. Current State Input Next State Output A 0 A 0 A 1 B 0 B 0 B 0 B 1 C 0 C 0 B 1 C 1 C 1 1. [5 pts.] Draw the state diagram (a graph composed of nodes and edges) for the finite state machine described by the state table. Label the states and transitions, and indicate output values. It would also be fine to have used a Mealy-style diagram, with output values appearing on arcs (in addition to input values). 2. [2 pts.] Is this a Mealy or Moore machine? Moore. Although the table format makes it look like a Mealy machine, the output values depend only on the current state, not the current state and current input. Page 9 of 14
10 7. Digital Design [5 pts.] For the circuit below consisting of a NAND gate, a D flip-flop (rising/positive edge triggered), and an AND gate, sketch the outputs Y and Z on the provided timing diagram. Neglect propagation delays. Answer: Page 10 of 14
11 8. New ISA [12 pts.] Below is the description of a new, stack-based ISA that only contains one register, REG. The ISA is byte addressable. R-type instructions Bits Bits 12-0 Opcode Unused Instruction Opcode Action Push 000 STACK[top] = REG Pop 001 REG = STACK[top] Flip 010 Flip the stack (the top value is on the bottom and the bottom value is on the top and all values in the middle are reversed) Halt 011 Halts the machine. I-type instructions Immediate is a 13 bit 2 s complement number Bits Bits 12-0 Opcode Immediate Instruction Opcode Action Load 100 REG = MEM[immediate + STACK[top]] Store 101 MEM[immediate + STACK[top] = REG Bne 110 If (REG!= STACK[top]) PC = PC offset else PC = PC + 2; U-type instructions Bits Bits 12-2 Bits 1-0 Opcode Unused Math code Instruction Opcode Math Math code Action ALU.<Math> 111 Add 00 REG = REG + STACK[top] Sub 01 REG = REG - STACK[top] Xor 10 REG = REG xor STACK[top] Page 11 of 14
12 Problem 8 continued a.) [4 pts.] What type of memory addressing modes does this architecture use? Circle all that apply. Direct Addressing Indirect Addressing Base + Displacement b.) [4 pts.] Translate the following instructions into machine code. (Write your answers in HEX) Instruction Flip Bne -5 ALU.xor Machine Code 0x4000 0xDFFB 0xE002 c.) [4 pts.] You ran a compiler on the following C code to generate machine code for the new ISA. However, due to a compiler bug, the instructions were mixed up! Reorganize the instructions below to execute the C code. You may not need all the instructions and you may not need to fill all the lines. Note: ambiguity in this problem resulted in its elimination from the exam. If you assume a value from the stack is NOT popped when used, the solution is below. a += b; a is located at memory location 100, and b is located at memory location 104. REG initially contains the value 0 and the stack is initially empty. Mixed up instructions Push Push Load 104 Load 100 Store 104 Halt Store 100 Flip ALU.add Load variables from memory Perform addition Write to memory and end Push Load 104 Push Load 100 ALU.add Flip Store 100 Halt Page 12 of 14
13 9. LC-2K Single Cycle Datapath [12 pts.] You have been asked by your manager to implement a dedicated hardware stack in the LC-2K s datapath. The ISA engineers have given you three new instructions, described as follows, to use as your basis for redesigning the LC-2K (SP = stack pointer): push rega Effect: STACK[$SP] = rega, $SP = $SP + 1 pushi imm Effect: STACK[$SP] = signed_offset, $SP = $SP + 1 pop rega Effect: rega = STACK[$SP], $SP = $SP 1 a) [4 pts.] Assuming all eight original LC-2K instructions are still usable, how many instruction bits have been added to accommodate these new instructions? Before there were 3 bits to represent 8 instructions, we now have 11 instructions, so we need one additional opcode bit. b) [8 pts.] Add all necessary hardware to one of the attached LC-2K datapath diagrams to support the new stack instructions. The Stack Memory (depicted as Stack ) behaves similarly to the data memory. It has two inputs one for data input, and one for an address input. It has two control signal inputs, EN (to enable an operation on Stack Memory), and R/W (to select whether you are reading or writing to the stack). It has a single data output which will return the result of a read operation on this memory. You may add wires and MUXes as needed, but you must add a SP register. Connect the STACK memory to the rest of the datapath so that the three new instructions are fully supported. You may not add ALUs/Adders you must use the existing ALUs/Adders to accomplish this part of the question. In addition to adding MUXes, you may also need to modify existing MUXes. Extend the control ROM s size and outputs as needed. Try to keep your work neat and mark the diagram you wanted graded with GRADE ME. One solution is presented on the next page. There are other solutions, i.e. it is possible to use the adder that calculates PC+1+Offset if you properly connect its inputs and outputs to/from the SP register. It is possible, but much more difficult, to add the SP register to the register file. You must not forget that the pop instruction writes to rega, so you must add instruction bits to the register destination selection MUX. The output of the Stack must go to the MUX that selects what gets written to the destination register (rega for pops). You should not use the PC+1 adder to increment/decrement the SP register. If you do so, your single cycle datapath will fail to update the PC to move on and execute the next instruction. Page 13 of 14
14 Page 14 of 14
Name: University of Michigan uniqname: (NOT your student ID number!)
The University of Michigan - Department of EECS EECS370 Introduction to Computer Organization Midterm Exam 1 October 22, 2009 Name: University of Michigan uniqname: (NOT your student ID number!) Open book,
More information1. Truthiness /8. 2. Branch prediction /5. 3. Choices, choices /6. 5. Pipeline diagrams / Multi-cycle datapath performance /11
The University of Michigan - Department of EECS EECS 370 Introduction to Computer Architecture Midterm Exam 2 ANSWER KEY November 23 rd, 2010 Name: University of Michigan uniqname: (NOT your student ID
More information3. Instruction Set Architecture The MIPS architecture
3. Instruction Set Architecture The MIPS architecture EECS 370 Introduction to Computer Organization Winter 2007 Prof. Valeria Bertacco & Prof. Scott Mahlke EECS Department University of Michigan in Ann
More informationECE 2035 Programming HW/SW Systems Spring problems, 6 pages Exam Two 11 March Your Name (please print) total
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationChapter 2. Instructions:
Chapter 2 1 Instructions: Language of the Machine More primitive than higher level languages e.g., no sophisticated control flow Very restrictive e.g., MIPS Arithmetic Instructions We ll be working with
More informationChapter 2A Instructions: Language of the Computer
Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction
More informationComputer Science and Engineering 331. Midterm Examination #1. Fall Name: Solutions S.S.#:
Computer Science and Engineering 331 Midterm Examination #1 Fall 2000 Name: Solutions S.S.#: 1 41 2 13 3 18 4 28 Total 100 Instructions: This exam contains 4 questions. It is closed book and notes. Calculators
More informationComputer Architecture I Midterm I
Computer Architecture I Midterm I April 11 2017 Computer Architecture I Midterm I Chinese Name: Pinyin Name: E-Mail... @shanghaitech.edu.cn: Question Points Score 1 1 2 12 3 16 4 14 5 18 6 17 7 22 Total:
More informationUniversity of California, Berkeley College of Engineering
University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Summer 2015 Instructor: Sagar Karandikar 2015-07-09 L J After the exam, indicate on
More informationCS 2506 Computer Organization II
Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other computing devices may
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 informationChapter 2. Instructions: Language of the Computer. Adapted by Paulo Lopes
Chapter 2 Instructions: Language of the Computer Adapted by Paulo Lopes Instruction Set The repertoire of instructions of a computer Different computers have different instruction sets But with many aspects
More informationECE 2035 A Programming Hw/Sw Systems Fall problems, 8 pages Final Exam 8 December 2014
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationMachine Language Instructions Introduction. Instructions Words of a language understood by machine. Instruction set Vocabulary of the machine
Machine Language Instructions Introduction Instructions Words of a language understood by machine Instruction set Vocabulary of the machine Current goal: to relate a high level language to instruction
More informationChapter 2. Computer Abstractions and Technology. Lesson 4: MIPS (cont )
Chapter 2 Computer Abstractions and Technology Lesson 4: MIPS (cont ) Logical Operations Instructions for bitwise manipulation Operation C Java MIPS Shift left >>> srl Bitwise
More informationCSCI 402: Computer Architectures. Instructions: Language of the Computer (3) Fengguang Song Department of Computer & Information Science IUPUI.
CSCI 402: Computer Architectures Instructions: Language of the Computer (3) Fengguang Song Department of Computer & Information Science IUPUI Recall Big endian, little endian Memory alignment Unsigned
More informationStack Memory. item (16-bit) to be pushed. item (16-bit) most recent
CSE 378 Winter 1998 Machine Organization and Assembly Language Programming Midterm Friday February 13th NAME : Do all your work on these pages. Do not add any pages. Use back pages if necessary. Show your
More informationUniversity of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 May 10, 2010 Final Exam Name: ID number: This is
More information11/22/1999 7pm - 9pm. Name: Login Name: Preceptor Name: Precept Number:
Login Preceptor Precept Number: Computer Science 126 Second Midterm Exam 11/22/1999 7pm - 9pm This exam has 10 questions. The weight of each question is printed in the table below and next to each question.
More informationENGR 100 Midterm (CSE Part) Winter 2014
ENGR 100 Midterm (CSE Part) Winter 2014 There are two parts in this midterm. This part focuses on the CSE aspects of the course. You will have 80 minutes to work on the exam. We recommend you spend about
More informationComputer Organization and Structure. Bing-Yu Chen National Taiwan University
Computer Organization and Structure Bing-Yu Chen National Taiwan University Instructions: Language of the Computer Operations and Operands of the Computer Hardware Signed and Unsigned Numbers Representing
More informationCourse Administration
Fall 2018 EE 3613: Computer Organization Chapter 2: Instruction Set Architecture Introduction 4/4 Avinash Karanth Department of Electrical Engineering & Computer Science Ohio University, Athens, Ohio 45701
More informationComputer Organization and Structure. Bing-Yu Chen National Taiwan University
Computer Organization and Structure Bing-Yu Chen National Taiwan University Instructions: Language of the Computer Operations and Operands of the Computer Hardware Signed and Unsigned Numbers Representing
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 informationGrading: 3 pts each part. If answer is correct but uses more instructions, 1 pt off. Wrong answer 3pts off.
Department of Electrical and Computer Engineering University of Wisconsin Madison ECE 552 Introductions to Computer Architecture Homework #2 (Suggested Solution) 1. (10 points) MIPS and C program translations
More informationCS 2504 Intro Computer Organization Test 1
Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet and the MIPS reference card. No calculators
More informationCENG3420 Lecture 03 Review
CENG3420 Lecture 03 Review Bei Yu byu@cse.cuhk.edu.hk 2017 Spring 1 / 38 CISC vs. RISC Complex Instruction Set Computer (CISC) Lots of instructions of variable size, very memory optimal, typically less
More informationLecture 4: MIPS Instruction Set
Lecture 4: MIPS Instruction Set No class on Tuesday Today s topic: MIPS instructions Code examples 1 Instruction Set Understanding the language of the hardware is key to understanding the hardware/software
More informationThe LC3's micro-coded controller ("useq") is nothing more than a finite-state machine (FSM). It has these inputs:
midterm exam COSC-120, Computer Hardware Fundamentals, fall 2012 Computer Science Department Georgetown University NAME Open books, open notes (laptops included). Show and explain all your work. Answers
More informationMIPS%Assembly% E155%
MIPS%Assembly% E155% Outline MIPS Architecture ISA Instruction types Machine codes Procedure call Stack 2 The MIPS Register Set Name Register Number Usage $0 0 the constant value 0 $at 1 assembler temporary
More informationEE 457 Midterm Summer 14 Redekopp Name: Closed Book / 105 minutes No CALCULATORS Score: / 100
EE 47 Midterm Summer 4 Redekopp Name: Closed Book / minutes No CALCULATORS Score: /. (7 pts.) Short Answer [Fill in the blanks or select the correct answer] a. If a control signal must be valid during
More informationECE 2035 Programming HW/SW Systems Fall problems, 6 pages Exam Two 23 October Your Name (please print clearly) Signed.
Your Name (please print clearly) This exam will be conducted according to the Georgia Tech Honor Code. I pledge to neither give nor receive unauthorized assistance on this exam and to abide by all provisions
More informationComputer Architecture. Chapter 2-2. Instructions: Language of the Computer
Computer Architecture Chapter 2-2 Instructions: Language of the Computer 1 Procedures A major program structuring mechanism Calling & returning from a procedure requires a protocol. The protocol is a sequence
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 informationMIPS R-format Instructions. Representing Instructions. Hexadecimal. R-format Example. MIPS I-format Example. MIPS I-format Instructions
Representing Instructions Instructions are encoded in binary Called machine code MIPS instructions Encoded as 32-bit instruction words Small number of formats encoding operation code (opcode), register
More informationUniversity of California, Berkeley College of Engineering
University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Fall 2015 Instructors: Vladimir Stojanovic, John Wawrzynek 2015-09-06 L J After the
More informationInstructions: Assembly Language
Chapter 2 Instructions: Assembly Language Reading: The corresponding chapter in the 2nd edition is Chapter 3, in the 3rd edition it is Chapter 2 and Appendix A and in the 4th edition it is Chapter 2 and
More informationMcGill University Faculty of Engineering FINAL EXAMINATION Fall 2007 (DEC 2007)
McGill University Faculty of Engineering FINAL EXAMINATION Fall 2007 (DEC 2007) VERSION 1 Examiner: Professor T.Arbel Signature: INTRODUCTION TO COMPUTER ENGINEERING ECSE-221A 6 December 2007, 1400-1700
More informationDo-While Example. In C++ In assembly language. do { z--; while (a == b); z = b; loop: addi $s2, $s2, -1 beq $s0, $s1, loop or $s2, $s1, $zero
Do-While Example In C++ do { z--; while (a == b); z = b; In assembly language loop: addi $s2, $s2, -1 beq $s0, $s1, loop or $s2, $s1, $zero 25 Comparisons Set on less than (slt) compares its source registers
More informationCOMPUTER ORGANIZATION AND DESIGN
COMPUTER ORGANIZATION AND DESIGN 5 th The Hardware/Software Interface Edition Chapter 2 Instructions: Language of the Computer 2.1 Introduction Instruction Set The repertoire of instructions of a computer
More information2B 52 AB CA 3E A1 +29 A B C. CS120 Fall 2018 Final Prep and super secret quiz 9
S2 Fall 28 Final Prep and super secret quiz 9 ) onvert 8-bit (2-digit) 2 s complement hex values: 4-29 inary: Hex: x29 2) onvert 8-bit 2 s complement hex to decimal: x3 inary: xe5 Decimal: 58 Note 3*6+
More informationAssembly Language Programming. CPSC 252 Computer Organization Ellen Walker, Hiram College
Assembly Language Programming CPSC 252 Computer Organization Ellen Walker, Hiram College Instruction Set Design Complex and powerful enough to enable any computation Simplicity of equipment MIPS Microprocessor
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 informationRui Wang, Assistant professor Dept. of Information and Communication Tongji University.
Instructions: ti Language of the Computer Rui Wang, Assistant professor Dept. of Information and Communication Tongji University it Email: ruiwang@tongji.edu.cn Computer Hierarchy Levels Language understood
More informationUniversity of California, Berkeley College of Engineering
University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Fall 2015 Instructors: Vladimir Stojanovic, John Wawrzynek 2015-09-06 After the exam,
More informationInstructions: MIPS ISA. Chapter 2 Instructions: Language of the Computer 1
Instructions: MIPS ISA Chapter 2 Instructions: Language of the Computer 1 PH Chapter 2 Pt A Instructions: MIPS ISA Based on Text: Patterson Henessey Publisher: Morgan Kaufmann Edited by Y.K. Malaiya for
More informationLecture 5: Procedure Calls
Lecture 5: Procedure Calls Today s topics: Memory layout, numbers, control instructions Procedure calls 1 Memory Organization The space allocated on stack by a procedure is termed the activation record
More informationIntroduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University
Introduction to the MIPS Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS The Microprocessor without Interlocked Pipeline Stages
More informationCSCE 5610: Computer Architecture
HW #1 1.3, 1.5, 1.9, 1.12 Due: Sept 12, 2018 Review: Execution time of a program Arithmetic Average, Weighted Arithmetic Average Geometric Mean Benchmarks, kernels and synthetic benchmarks Computing CPI
More informationProcedure Calls Main Procedure. MIPS Calling Convention. MIPS-specific info. Procedure Calls. MIPS-specific info who cares? Chapter 2.7 Appendix A.
MIPS Calling Convention Chapter 2.7 Appendix A.6 Procedure Calls Main Procedure Call Procedure Call Procedure Procedure Calls Procedure must from any call Procedure uses that main was using We need a convention
More informationInstruction Set Architecture
Computer Architecture Instruction Set Architecture Lynn Choi Korea University Machine Language Programming language High-level programming languages Procedural languages: C, PASCAL, FORTRAN Object-oriented
More informationLecture 2. Instructions: Language of the Computer (Chapter 2 of the textbook)
Lecture 2 Instructions: Language of the Computer (Chapter 2 of the textbook) Instructions: tell computers what to do Chapter 2 Instructions: Language of the Computer 2 Introduction Chapter 2.1 Chapter
More informationNumbers: positional notation. CS61C Machine Structures. Faux Midterm Review Jaein Jeong Cheng Tien Ee. www-inst.eecs.berkeley.
CS 61C Faux Midterm Review (1) CS61C Machine Structures Faux Midterm Review 2002-09-29 Jaein Jeong Cheng Tien Ee www-inst.eecs.berkeley.edu/~cs61c/ Numbers: positional notation Number Base B B symbols
More informationEECS 373 Practice Midterm / Homework #3 Fall 2014
Exam #: EECS 373 Practice Midterm / Homework #3 Fall 2014 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #
More informationUnsigned Binary Integers
Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0
More informationUnsigned Binary Integers
Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0
More informationEE 457 Midterm Summer 14 Redekopp Name: Closed Book / 105 minutes No CALCULATORS Score: / 100
EE 47 Midterm Summer 4 Redekopp Name: Closed Book / minutes No CALCULATORS Score: /. (7 pts.) Short Answer [Fill in the blanks or select the correct answer] a. If a control signal must be valid during
More informationComputer Organization and Components
2 Course Structure Computer Organization and Components Module 4: Memory Hierarchy Module 1: Logic Design IS1500, fall 2014 Lecture 4: and F1 DC Ö1 F2 DC Ö2 F7b Lab: dicom F8 Module 2: C and Associate
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 informationECE 2035 A Programming Hw/Sw Systems Spring problems, 8 pages Final Exam 29 April 2015
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
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 informationCS 2506 Computer Organization II
Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other computing devices may
More informationChapter 2. Instructions: Language of the Computer
Chapter 2 Instructions: Language of the Computer Instruction Set The repertoire of instructions of a computer Different computers have different instruction sets But with many aspects in common Early computers
More informationBranch Addressing. Jump Addressing. Target Addressing Example. The University of Adelaide, School of Computer Science 28 September 2015
Branch Addressing Branch instructions specify Opcode, two registers, target address Most branch targets are near branch Forward or backward op rs rt constant or address 6 bits 5 bits 5 bits 16 bits PC-relative
More informationCS3350B Computer Architecture MIPS Instruction Representation
CS3350B Computer Architecture MIPS Instruction Representation Marc Moreno Maza http://www.csd.uwo.ca/~moreno/cs3350_moreno/index.html Department of Computer Science University of Western Ontario, Canada
More informationUniversity of California at Santa Barbara. ECE 154A Introduction to Computer Architecture. Quiz #1. October 30 th, Name (Last, First)
University of California at Santa Barbara ECE 154A Introduction to Computer Architecture Quiz #1 October 30 th, 2012 Name (Last, First) All grades will be posted on the website as a single spreadsheet
More informationECE260: Fundamentals of Computer Engineering
Accessing and Addressing Memory James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy American
More informationCS 2506 Computer Organization II Test 1. Do not start the test until instructed to do so! printed
Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other computing devices may
More informationProgramming at different levels
CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014 EMY MNEMONIC MACHINE LANGUAGE PROGRAMMING EXAMPLES Programming at different levels CS1114 Mathematical Problem : a = b + c CS2214 CS2214 The C-like
More informationEE 361 University of Hawaii Fall
C functions Road Map Computation flow Implementation using MIPS instructions Useful new instructions Addressing modes Stack data structure 1 EE 361 University of Hawaii Implementation of C functions and
More informationComputer Organization EE 3755 Midterm Examination
Name Solution Computer Organization EE 3755 Midterm Examination Wednesday, 24 October 2012, 9:30 10:20 CDT Alias A Century of Turing Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 Problem
More informationDepartment of Electrical Engineering and Computer Science Spring 2004 Instructor: Dan Garcia CS61C Midterm
University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Science Spring 2004 Instructor: Dan Garcia 2004-03-08 CS61C Midterm Last Name First Name Student
More informationCSE Lecture In Class Example Handout
CSE 30321 Lecture 07-08 In Class Example Handout Part A: J-Type Example: If you look in your book at the syntax for j (an unconditional jump instruction), you see something like: e.g. j addr would seemingly
More informationECE 2035 Programming HW/SW Systems Fall problems, 7 pages Exam Two 23 October 2013
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationControl Instructions. Computer Organization Architectures for Embedded Computing. Thursday, 26 September Summary
Control Instructions Computer Organization Architectures for Embedded Computing Thursday, 26 September 2013 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy 4th Edition,
More informationControl Instructions
Control Instructions Tuesday 22 September 15 Many slides adapted from: and Design, Patterson & Hennessy 5th Edition, 2014, MK and from Prof. Mary Jane Irwin, PSU Summary Previous Class Instruction Set
More informationUniversity of California, Berkeley College of Engineering
University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Spring 2016 Instructors: Vladimir Stojanovic, Nicholas Weaver 2016-04-04 L J After the
More informationMIPS Datapath. MIPS Registers (and the conventions associated with them) MIPS Instruction Types
1 Lecture 08 Introduction to the MIPS ISA + Procedure Calls in MIPS Longer instructions = more bits to address registers MIPS Datapath 6 bit opcodes... 2 MIPS Instructions are 32 bits More ways to address
More information2. dead code elimination (declaration and initialization of z) 3. common subexpression elimination (temp1 = j + g + h)
Problem 1 (20 points) Compilation Perform at least five standard compiler optimizations on the following C code fragment by writing the optimized version (in C) to the right. Assume f is a pure function
More informationThe RiSC-16 Instruction-Set Architecture
The RiSC-16 Instruction-Set Architecture ENEE 646: Digital Computer Design, Fall 2002 Prof. Bruce Jacob This paper describes a sequential implementation of the 16-bit Ridiculously Simple Computer (RiSC-16),
More informationCOMPSCI 313 S Computer Organization. 7 MIPS Instruction Set
COMPSCI 313 S2 2018 Computer Organization 7 MIPS Instruction Set Agenda & Reading MIPS instruction set MIPS I-format instructions MIPS R-format instructions 2 7.1 MIPS Instruction Set MIPS Instruction
More informationComputer Architecture
CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,
More informationLectures 3-4: MIPS instructions
Lectures 3-4: MIPS instructions Motivation Learn how a processor s native language looks like Discover the most important software-hardware interface MIPS Microprocessor without Interlocked Pipeline Stages
More informationQ1: /20 Q2: /30 Q3: /24 Q4: /26. Total: /100
ECE 2035(B) Programming for Hardware/Software Systems Fall 2013 Exam Two October 22 nd 2013 Name: Q1: /20 Q2: /30 Q3: /24 Q4: /26 Total: /100 1/6 For functional call related questions, let s assume the
More informationECE550 PRACTICE Midterm
ECE55 PRACTICE Midterm This is a full length practice midterm exam. If you want to take it at exam pace, give yourself 75 minutes to take the entire test. Just like the real exam, each question has a point
More informationMidterm II CS164, Spring 2006
Midterm II CS164, Spring 2006 April 11, 2006 Please read all instructions (including these) carefully. Write your name, login, SID, and circle the section time. There are 10 pages in this exam and 4 questions,
More informationStorage in Programs. largest. address. address
Storage in rograms Almost all operand storage used by programs is provided by memory. Even though registers are more efficiently accessed by instructions, there are too few registers to hold the stored
More informationEECS 373 Practice Midterm & Homework #2 Fall 2011
Exam #: EECS 373 Practice Midterm & Homework #2 Fall 2011 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #
More informationCOMP 303 Computer Architecture Lecture 3. Comp 303 Computer Architecture
COMP 303 Computer Architecture Lecture 3 Comp 303 Computer Architecture 1 Supporting procedures in computer hardware The execution of a procedure Place parameters in a place where the procedure can access
More informationComputer Organization MIPS ISA
CPE 335 Computer Organization MIPS ISA Dr. Iyad Jafar Adapted from Dr. Gheith Abandah Slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE 232 MIPS ISA 1 (vonneumann) Processor Organization
More informationComputer Organization MIPS Architecture. Department of Computer Science Missouri University of Science & Technology
Computer Organization MIPS Architecture Department of Computer Science Missouri University of Science & Technology hurson@mst.edu Computer Organization Note, this unit will be covered in three lectures.
More informationMIPS Functions and Instruction Formats
MIPS Functions and Instruction Formats 1 The Contract: The MIPS Calling Convention You write functions, your compiler writes functions, other compilers write functions And all your functions call other
More informationMIPS Instruction Set Architecture (2)
MIPS Instruction Set Architecture (2) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu
More informationFormat. 10 multiple choice 8 points each. 1 short answer 20 points. Same basic principals as the midterm
Final Review Format 10 multiple choice 8 points each Make sure to show your work Can write a description to the side as to why you think your answer is correct for possible partial credit 1 short answer
More information2) Using the same instruction set for the TinyProc2, convert the following hex values to assembly language: x0f
CS2 Fall 28 Exam 2 Name: ) The Logisim TinyProc2 has four instructions, each using 8 bits. The instruction format is DR SR SR2 OpCode with OpCodes of for add, for subtract, and for multiply. Load Immediate
More informationCS2100 COMPUTER ORGANISATION
CS00 NATIONAL UNIVERSITY OF SINGAPORE CS00 COMPUTER ORGANISATION (Semester : AY07/8) Time Allowed: Hours INSTRUCTIONS TO CANDIDATES. This assessment paper consists of SEVEN (7) questions and comprises
More informationComputer Architecture. The Language of the Machine
Computer Architecture The Language of the Machine Instruction Sets Basic ISA Classes, Addressing, Format Administrative Matters Operations, Branching, Calling conventions Break Organization All computers
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 informationECE 2035 Programming HW/SW Systems Fall problems, 6 pages Exam Two 21 October 2016
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationECE331: Hardware Organization and Design
ECE331: Hardware Organization and Design Lecture 15: Midterm 1 Review Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Basics Midterm to cover Book Sections (inclusive) 1.1 1.5
More information