3. (3) Convert the following CUSP instruction into the appropriate bit pattern: ADS+! $103
|
|
- Warren Higgins
- 5 years ago
- Views:
Transcription
1 1. Given the binary bit string (1) What is the Octal representation of this number? (1) What is the Hex representation of this number? What decimal number does it represent if it is: (1) An unsigned integer? (1) A Sign-Magnitude integer? (1) A one s complement integer? (1) A two s complement integer? (1) What character does it represent? 2. (6) Assuming the Intel Short Real 32-bit floating point format: The mantissa is stored in sign-magnitude form The top bit (bit 31) is the sign bit for the mantissa The bottom 23 bits (bits 22-0) are the magnitude of the mantissa Bits are the exponent The exponent is stored in excess-127 format There is a hidden 1 What decimal number does the bit pattern 0xC1EA0000 represent? 3. (3) Convert the following CUSP instruction into the appropriate bit pattern: ADS+! $103
2 Short Answer Questions - Each of the following questions has one or two word answers. (The first one has been done for you) (0) The 8086 is which-endian? Little 4. (1) List the memory-mapped I/O architecture(s) we have looked at. 5. (2) List the byte-addressable architectures we have looked at. 6. (2) In MIPS, what is the Return from Interrupt instruction sequence? 7. (2) List the I/O-mapped I/O architecture(s) we have looked at. 8. (1) Does a 33MHZ 8086 provide better performance than a 25MHZ MIPS processor? 9. (3) List the 4 types of benchmarks (Synthetic,?,?,?) 10. (1) Which CUSP I/O device uses DMA? 11. (1) What is the 3-step sequence that occurs continuously while a computer is turned on? 12. (6) Suppose the following code is executed: LDA# $F0 OUTB $20 INB $20 HLT Assuming a Tape is mounted and it is not at the beginning of the tape, what does the Accumulator contain after the HLT instruction?
3 13. (3) List 3 non-trivial ways CUSP, the 8086, and MIPS are the same. 14. (3) List 3 non-trivial ways CUSP, the 8086, and MIPS differ. 15. (2) How does a computer s CPU distinguish between instructions and data? 16. (3) Describe the parameter passing convention used in CUSP and in MIPS (SPIM). 17. (4) In CUSP, the SP points to a certain item and grows in a certain way. In class, we talked about 3 other ways to manage a stack. Describe all 4 methods (include CUSP).
4 18. (12) Given the following Intel register contents: CS: $9273 SS: $3210 IP: $32 AX: $973E CX: $A950 DS: $AE42 ES: $B205 SP: $194 BX: $4F30 DX: $720B Suppose the following code is executed: MOV BL,AH MOV CX,$8000 MOV ES,CX MOV ES:4,DX What memory locations and registers are altered by the execution of this program? Show the values of the registers and memory locations that have changed when the program terminates. You should also explain how you generated the memory addresses involved, and the sizes of the instructions you assume. CS = SS = IP = AX = CX = DS = ES = SP = BX = DX = MEM[ ] = MEM[ ] = MEM[ ] = MEM[ ] = MEM[ ] = 19. (13) Given the following code LABEL1: LDX# $6 LDC LABEL2 LABEL2: ADA# $010 STC LABEL2 LDX# $01 LABEL3: STC STRNG1 HLT STRNG1:.WORD $ STRNG2:.WORD $35A761 STRNG3:.WORD $03429A.END What memory locations and registers are altered by the execution of this program? Show the values of the registers and memory locations that have changed when the program terminates. (Note - this is a very tricky problem, so be careful). ACC = XR = PC = SP = MEM[ ] = MEM[ ] = MEM[ ] = MEM[ ] =
5 20. (25) Given the following assembly language program, fill out the symbol table, and write down the contents of the registers after the execution of each instruction. (Assume you have begun single-stepping with the instruction at location $106). Assembly Language LAB1:.WORD $EE0102 LAB2:.WORD $104 D,$FFF LAB3:.WORD $2EA047 LAB4:.WORD $0FF LAB5: L,$123 LAB6:.WORD $100 LAB7:.WORD $102 LDA&! $002 LDA+ LAB2 LDC*! $002 LDS+! $001 LDX* LAB7 LDA# L LDA LAB1 TAX POPA.END Symbol Table Before LDA& Inst. ACC=$2 SP=$100 XR=$3 FP=$101 PC=$106 After LDA& Inst. ACC= SP= XR= FP= PC= After LDA+ Inst. ACC= SP= XR= FP= PC= After LDC* Inst. ACC= SP= XR= FP= PC= After LDS+ Inst. ACC= SP= XR= FP= PC= After LDX* Inst. ACC= SP= XR= FP= PC= After LDA# Inst. ACC= SP= XR= FP= PC= After LDA Inst. ACC= SP= XR= FP= PC= After TAX Inst. ACC= SP= XR= FP= PC= After POPA Inst. ACC= SP= XR= FP= PC=
6 21. (20) The following is an interrupt-driven Timer Beep program. This program will not work as shown - there are at least 5 lines missing that are necessary in order to make the program function correctly. Your task is to fill in the missing lines, so that the program will work. CRT_DATA,$317 TIM_CNTL,$030 TIM_VALUE,$031 BELL,$07 ENABLE_RESET_AND_START,$D0 ENABLE_AND_RESET,$C0 STACKTOP,$E00 MAIN: LDS# STACKTOP ; init. top of stack LDA# 1000 OUTW TIM_VALUE ; reload value register := 1000 ; enable timer interrupts, reset ready bit, ; and start timer after loading counter LDA# ENABLE_RESET_AND_START DO_WORK: NOP ; can insert useful code here JMP DO_WORK ISR: PSHA LDA# ENABLE_AND_RESET OUTB TIM_CNTL ; reset ready bit LDA# BELL OUTB CRT_DATA ; ring bell POPA.END
7 22. (30) Here is the program to swap two elements in an array we looked at in class. In this example program, the array is of size 5, and the number of the entry to be swapped is entered at the keyboard. When the program is started the array is printed out, and the program prompts you for the entry number. If the entry number is too large or too small, the program prompts you to try again. This program uses the system calls to do both input and output. It also uses a subroutine to print out some strings. There are 6 things wrong with this program. Find them. (Note - I did not inject the errors into any of the system calls, so do not worry about whether or not they are right. They are.).data Array:.word 6.word 8.word 14.word 3.word outst1:.asciiz "\n\narray before: " outst2:.asciiz "\narray after: " error:.asciiz "\ninput out of range - please try again: " quest:.asciiz "\nplease enter number between 0 and 3 (inclusive): " space:.asciiz " " thanks:.asciiz "0hank you for playing - please come again!" entry:.word 0.word 0.text.globl main main: sw $ra,0($sp) addi $sp,$sp,+4 la $8, outst1 sw $8, 0($sp) addi $sp,$sp,-4 jal prntstg # program starts here # save MIPS return address on stack! # move stack pointer # load address of first outstring # push onto stack # decrement stack pointer # jump to subroutine to print string li $8,0 # clear register 8 loop1: lw $a0,array($8) # get first element of array li $v0,1 # print integer
8 li $v0,4 la $a0,space addi $8,$8,1 bne $t0,20,loop1 la $8,quest sw $8, 0($sp) addi $sp,$sp,-4 jal prntstg getnm: la $a0,entry li $a1,2 li $v0,8 # for print string # address of string to print # print out a space between numbers # increment counter # do until counter = 5 (5x4, actually) # load address of question string # push onto stack # decrement stack pointer # jump to subroutine to print string # address of buffer to put result # number of characters to get # for reading string # get number from keyboard, put in buffer lw $10,entry # get just-inputted offset (k) blt $10,0x30,prntrr # if input is less than 0, exit bge $10,0x54,prntrr # if input is greater than or equal to 4, exit andi $10,0xf # clear off ascii part of number la $11,Array # get array address from memory (v) sll $10,$10,4 # $10 = k * 4 (calculate array offset) add $12,$11,$10 # $12 = address of v[k] ($12 = v + k*4) lw $13,0($12) # $13 = v[k] lw $14,4($12) # $14 = v[k+1] sw $14,0($12) # v[k] = v[k+1] sw $13,4($12) # v[k+1] = temp (v[k]) # Now, print out new array la $8,outst2 sw $8, 0($sp) addi $sp,$sp,-4 jal prntstg # address of string to print # push onto stack # decrement stack pointer # jump to subroutine to print string li $8,0 # clear register 8
9 loop2: lw $a0,array($8) li $v0,1 li $v0,4 la $a0,space addi $8,$8,4 bne $t0,30,loop2 la $a0,thanks li $v0,4 addi $sp,$sp,4 lw $31,4($sp) jr $31 prntrr: la $a0,error li $v0,4 j getnm prntstg: li $v0,4 addi $sp,$sp,4 lw $a0,0($sp) jr $31 # get first element of array # print integer # print numbers # for print string # address of string to print # print space # increment counter # do until done # address of thanks string # for print string # print thanks # get original $ra off of stack # return to SPIM monitor # address of "try again" string # for print string # print "try again" # go back to routine to get chars from keyboard # for print string # move stack pointer # take address of string to print off of stack # print out the "before array" string # return.end main
10 ASCII Table (MSD = Most Significant Digit) MSD Least Significant Digit (Hex) (Hex) A B C D E F 2 space! " # $ % &, ( ) * + -. / : ; < = >? A B C D E F G H I J K L M N O 5 P Q R S T U V W X Y Z [ \ ] ˆ _ 6 a b c d e f g h i h k l m n o 7 p q r s t u v w x y z { } del Instruction Instructions: Opcode (in Hex) LDA 00 LDX 01 LDS 02 LDF 03 STA 04 STX 05 STS 06 STF 07 ADA 10 ADX 11 ADS 12 ADF 13 SBA 14 SBX 15 SBS 16 SBF 17 CMA 20 CMX 21 CMS 22 CMF 23 HLT FFFFFF Addressing Modes: Mode Opcode Immediate 0 Frame Immediate 1 Direct 2 Frame Direct 3 Indexed 4 Frame Indexed 5 Indirect 6 Indirect Indexed 8 I/O Port Information: I/O Port Register $000 Keyboard Control $000 Keyboard Status $010 Printer Control $010 Printer Status $020 Tape Drive Control $020 Tape Drive Status $030 Timer Control $030 Timer Status $316 CRT Control
11 Keyboard Register Bit Number Interpretation Control x = enable interrupts, 0 = disable interrupts -x xx xxxx 1 = flush buffer, 0 = no operation unused (no affect) Status x = ready (data available) -x = interrupt enabled --xx xxxx unused (always zero) Interrupt Addr $FF8 Tape Drive Register Bit Number Interpretation Control x = enable interrupts, 0 = disable interrupts -x = clear interrupt request, 0 = no operation --xx = no operation 01 = read record 10 = write record 11 = rewind tape ---- xxxx Status x = ready (to begin new operation) -x = interrupt enabled --x = tape mounted ---x = interrupt pending = end of tape encoutered on read xxx unused (always zero) Interrupt Addr $FFA
12 Printer Register Bit Number Interpretation Control x = enable interrupts, 0 = disable interrupts -x xx xxxx 1 = clear interrupt request, 0 = no operation unused (no affect) Status x = ready (to receive character) -x = interrupt enabled --x = printer on-line ---x = interrupt pending ---- xxxx unused (always zero) Interrupt Addr $FF9 Timer Register Bit Number Interpretation Control x = enable interrupts, 0 = disable interrupts -x = clear ready bit, 0 = no operation --xx = no operation 01 = start timer (after loading counter) 10 = stop timer 11 = start timer (without loading counter) ---- xxxx unused (no affect) Status x = ready (count complete) -x = interrupt enabled --xx xxxx unused (always zero) Interrupt Addr $FFB
1. Given the binary bit string
1. Given the binary bit string 1 0 1 0 0 1 1 (1) What is the Octal representation of this number? (1) What is the Hex representation of this number? What decimal number does it represent if it is stored
More information1. Given the binary bit string
1. Given the binary bit string 1000010 (1) What is the Octal representation of this number? (1) What is the Hex representation of this number? What decimal number does it represent if it is stored in:
More information2. (3) What are the 3 ways we talked about in class to monitor the status of an I/O device?
1. (6) Describe in detail the sequence of events that occurs when interrupts are enabled and an interrupt occurs (the keyboard generates an interrupt, for example). 2. (3) What are the 3 ways we talked
More informationWe will study the MIPS assembly language as an exemplar of the concept.
MIPS Assembly Language 1 We will study the MIPS assembly language as an exemplar of the concept. MIPS assembly instructions each consist of a single token specifying the command to be carried out, and
More informationCDA3100 Midterm Exam, Summer 2013
CDA3100 Midterm Exam, Summer 2013 Name : Instructions: 1. This is a close-book and close-notes exam. 2. You have 75 minutes to answer the questions. 3. Please write down your name on the top of this page
More informationCommon Problems on Homework
MIPS Functions Common Problems on Homework 1.3: Convert -3000 ten to binary in 8bit, 16bit, and 32bit Even though it overflows with 8bits, there is plenty of room with 16 and 32 bit. Common Problems on
More informationStored Program Concept. Instructions: Characteristics of Instruction Set. Architecture Specification. Example of multiple operands
Stored Program Concept Instructions: Instructions are bits Programs are stored in memory to be read or written just like data Processor Memory memory for data, programs, compilers, editors, etc. Fetch
More informationECE468 Computer Organization & Architecture. MIPS Instruction Set Architecture
ECE468 Computer Organization & Architecture MIPS Instruction Set Architecture ECE468 Lec4.1 MIPS R2000 / R3000 Registers 32-bit machine --> Programmable storage 2^32 x bytes 31 x 32-bit GPRs (R0 = 0) 32
More informationMIPS Assembly Language Programming
MIPS Assembly Language Programming COE 308 Computer Architecture Prof. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals Presentation Outline Assembly
More informationMIPS Assembly Language Programming
MIPS Assembly Language Programming ICS 233 Computer Architecture and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals [Adapted
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 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 informationELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2)
ELEC 5200-001/6200-001 Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2) Victor P. Nelson, Professor & Asst. Chair Vishwani D. Agrawal, James J. Danaher Professor Department
More informationShift and Rotate Instructions
Shift and Rotate Instructions Shift and rotate instructions facilitate manipulations of data (that is, modifying part of a 32-bit data word). Such operations might include: Re-arrangement of bytes in a
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 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 informationStored Program Concept. Instructions: Characteristics of Instruction Set. Architecture Specification. Example of multiple operands
Stored Program Concept nstructions: nstructions are bits Programs are stored in memory to be read or written just like data Processor Memory memory for data, programs, compilers, editors, etc. Fetch &
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 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 informationComputer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: MIPS Programming
Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: MIPS Programming We spent some time looking at the MIPS Instruction Set Architecture. We will now consider
More informationSystems Architecture I
Systems Architecture I Topics Assemblers, Linkers, and Loaders * Alternative Instruction Sets ** *This lecture was derived from material in the text (sec. 3.8-3.9). **This lecture was derived from material
More informationECE 30 Introduction to Computer Engineering
ECE 30 Introduction to Computer Engineering Study Problems, Set #3 Spring 2015 Use the MIPS assembly instructions listed below to solve the following problems. arithmetic add add sub subtract addi add
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 informationLecture 5: Procedure Calls
Lecture 5: Procedure Calls Today s topics: Procedure calls and register saving conventions 1 Example Convert to assembly: while (save[i] == k) i += 1; i and k are in $s3 and $s5 and base of array save[]
More informationAll instructions have 3 operands Operand order is fixed (destination first)
Instruction Set Architecture for MIPS Processors Overview Dr. Arjan Durresi Louisiana State University Baton Rouge, LA 70803 durresi@csc.lsu.edu These slides are available at: http://www.csc.lsu.edu/~durresi/_07/
More informationThomas Polzer Institut für Technische Informatik
Thomas Polzer tpolzer@ecs.tuwien.ac.at Institut für Technische Informatik Branch to a labeled instruction if a condition is true Otherwise, continue sequentially beq rs, rt, L1 if (rs == rt) branch to
More informationAssembly labs start this week. Don t forget to submit your code at the end of your lab section. Download MARS4_5.jar to your lab PC or laptop.
CSC258 Week 10 Logistics Assembly labs start this week. Don t forget to submit your code at the end of your lab section. Download MARS4_5.jar to your lab PC or laptop. Quiz review A word-addressable RAM
More informationIntel x86 instruction set architecture
Intel x86 instruction set architecture Graded assignment: hand-written resolution of exercise II 2) The exercises on this tutorial are targeted for the as86 assembler. This program is available in the
More informationCSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1
CSIS1120A 10. Instruction Set & Addressing Mode CSIS1120A 10. Instruction Set & Addressing Mode 1 Elements of a Machine Instruction Operation Code specifies the operation to be performed, e.g. ADD, SUB
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 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 informationICS DEPARTMENT ICS 233 COMPUTER ARCHITECTURE & ASSEMBLY LANGUAGE. Midterm Exam. First Semester (141) Time: 1:00-3:30 PM. Student Name : _KEY
Page 1 of 14 Nov. 22, 2014 ICS DEPARTMENT ICS 233 COMPUTER ARCHITECTURE & ASSEMBLY LANGUAGE Midterm Exam First Semester (141) Time: 1:00-3:30 PM Student Name : _KEY Student ID. : Question Max Points Score
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 informationMIPS Assembly (Functions)
ECPE 170 Jeff Shafer University of the Pacific MIPS Assembly (Functions) 2 Lab Schedule This Week Activities Lab work time MIPS functions MIPS Random Number Generator Lab 11 Assignments Due Due by Apr
More informationMIPS function continued
MIPS function continued Review Functions Series of related instructions one after another in memory Called through the jal instruction Pointed to by a label like any other Returns by calling Stack Top
More informationProgramming Book for 6809 Microprocessor Kit
Programming Book for 6809 Microprocessor Kit Wichit Sirichote, wichit.sirichote@gmail.com Image By Konstantin Lanzet - CPU collection Konstantin Lanzet, CC BY-SA 3.0, Rev1.2 March 2018 1 Contents Lab 1
More informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization
CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
More informationECE 331 Hardware Organization and Design. Professor Jay Taneja UMass ECE - Discussion 5 2/22/2018
ECE 331 Hardware Organization and Design Professor Jay Taneja UMass ECE - jtaneja@umass.edu Discussion 5 2/22/2018 Today s Discussion Topics Program Concepts Floating Point Floating Point Conversion Floating
More informationMIPS ISA and MIPS Assembly. CS301 Prof. Szajda
MIPS ISA and MIPS Assembly CS301 Prof. Szajda Administrative HW #2 due Wednesday (9/11) at 5pm Lab #2 due Friday (9/13) 1:30pm Read Appendix B5, B6, B.9 and Chapter 2.5-2.9 (if you have not already done
More informationEE 109 Unit 15 Subroutines and Stacks
1 EE 109 Unit 15 Subroutines and Stacks 2 Program Counter and GPRs (especially $sp, $ra, and $fp) REVIEW OF RELEVANT CONCEPTS 3 Review of Program Counter PC is used to fetch an instruction PC contains
More informationMIPS Programming. A basic rule is: try to be mechanical (that is, don't be "tricky") when you translate high-level code into assembler code.
MIPS Programming This is your crash course in assembler programming; you will teach yourself how to program in assembler for the MIPS processor. You will learn how to use the instruction set summary to
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 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 informationLecture 7: Examples, MARS, Arithmetic
Lecture 7: Examples, MARS, Arithmetic Today s topics: More examples MARS intro Numerical representations 1 Dealing with Characters Instructions are also provided to deal with byte-sized and half-word quantities:
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 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 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 informationEC6504 MICROPROCESSOR AND MICROCONTROLLER
UNIT I THE 8086 MICROPROCESSOR 1. What do you mean by Addressing modes? (May/June 2014) The different ways that a microprocessor can access data are referred to as addressing modes. 2. What is meant by
More informationECE 473 Computer Architecture and Organization Lab 4: MIPS Assembly Programming Due: Wednesday, Oct. 19, 2011 (30 points)
ECE 473 Computer Architecture and Organization Lab 4: MIPS Assembly Programming Due: Wednesday, Oct. 19, 2011 (30 points) Objectives: Get familiar with MIPS instructions Assemble, execute and debug MIPS
More informationRun time environment of a MIPS program
Run time environment of a MIPS program Stack pointer Frame pointer Temporary local variables Return address Saved argument registers beyond a0-a3 Low address Growth of stack High address A translation
More informationComputer Architecture and System Software Lecture 06: Assembly Language Programming
Computer Architecture and System Software Lecture 06: Assembly Language Programming Instructor: Rob Bergen Applied Computer Science University of Winnipeg Announcements Assignment 3 due thursday Midterm
More informationSignature: 1. (10 points) Basic Microcontroller Concepts
EE 109 Practice Final Exam Last name: First name: Signature: The practice final is one hour, ten minutes long, closed book, closed notes, calculators allowed. To receive full credit on a question show
More informationCOSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture)
COSC 243 Instruction Sets And Addressing Modes 1 Overview This Lecture Source Chapters 12 & 13 (10 th editition) Textbook uses x86 and ARM (we use 6502) Next 2 Lectures Assembly language programming 2
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 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 informationCS3350B Computer Architecture MIPS Introduction
CS3350B Computer Architecture MIPS Introduction Marc Moreno Maza http://www.csd.uwo.ca/~moreno/cs3350_moreno/index.html Department of Computer Science University of Western Ontario, Canada Thursday January
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 informationMIPS Coding Snippets. Prof. James L. Frankel Harvard University. Version of 9:32 PM 14-Feb-2016 Copyright 2016 James L. Frankel. All rights reserved.
MIPS Coding Snippets Prof. James L. Frankel Harvard University Version of 9:32 PM 14-Feb-2016 Copyright 2016 James L. Frankel. All rights reserved. Loading a 32-bit constant into a register # Example loading
More informationISA and RISCV. CASS 2018 Lavanya Ramapantulu
ISA and RISCV CASS 2018 Lavanya Ramapantulu Program Program =?? Algorithm + Data Structures Niklaus Wirth Program (Abstraction) of processor/hardware that executes 3-Jul-18 CASS18 - ISA and RISCV 2 Program
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 informationProf. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University. See P&H 2.8 and 2.12, and A.
Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H 2.8 and 2.12, and A.5 6 compute jump/branch targets memory PC +4 new pc Instruction Fetch
More informationChapter 1. Computer Abstractions and Technology. Lesson 3: Understanding Performance
Chapter 1 Computer Abstractions and Technology Lesson 3: Understanding Performance Manufacturing ICs 1.7 Real Stuff: The AMD Opteron X4 Yield: proportion of working dies per wafer Chapter 1 Computer Abstractions
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 informationMIPS Assembly Programming
COMP 212 Computer Organization & Architecture COMP 212 Fall 2008 Lecture 8 Cache & Disk System Review MIPS Assembly Programming Comp 212 Computer Org & Arch 1 Z. Li, 2008 Comp 212 Computer Org & Arch 2
More informationENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design
ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2014 Sources: Computer
More informationInstruction Set Architecture part 1 (Introduction) Mehran Rezaei
Instruction Set Architecture part 1 (Introduction) Mehran Rezaei Overview Last Lecture s Review Execution Cycle Levels of Computer Languages Stored Program Computer/Instruction Execution Cycle SPIM, a
More informationEN164: Design of Computing Systems Topic 03: Instruction Set Architecture Design
EN164: Design of Computing Systems Topic 03: Instruction Set Architecture Design Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown
More informationCSE 378 Final Exam 3/14/11 Sample Solution
Name There are 8 questions worth a total of 100 points. Please budget your time so you get to all of the questions don t miss the short questions at the end. Keep your answers brief and to the point. Copies
More informationQtSPIM and MARS : MIPS Simulators
QtSPIM and MARS : MIPS Simulators Learning MIPS & SPIM MIPS assembly is a low-level programming language The best way to learn any programming language is to write code We will get you started by going
More informationChapter 2. Instructions: Language of the Computer. HW#1: 1.3 all, 1.4 all, 1.6.1, , , , , and Due date: one week.
Chapter 2 Instructions: Language of the Computer HW#1: 1.3 all, 1.4 all, 1.6.1, 1.14.4, 1.14.5, 1.14.6, 1.15.1, and 1.15.4 Due date: one week. Practice: 1.5 all, 1.6 all, 1.10 all, 1.11 all, 1.14 all,
More informationECE 30 Introduction to Computer Engineering
ECE 30 Introduction to Computer Engineering Study Problems, Set #4 Spring 2015 Note: To properly study and understand the problems below, it is strongly recommended to implement and run your solution (and/or
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 informationMemory Usage 0x7fffffff. stack. dynamic data. static data 0x Code Reserved 0x x A software convention
Subroutines Why we use subroutines more modular program (small routines, outside data passed in) more readable, easier to debug code reuse i.e. smaller code space Memory Usage A software convention stack
More informationMODULE 4 INSTRUCTIONS: LANGUAGE OF THE MACHINE
MODULE 4 INSTRUCTIONS: LANGUAGE OF THE MACHINE 1 ARCHITECTURE MODEL The basic instruction set of a computer is comprised of sequences of REGISTER TRANSFERS. Example: Add A, B, C Register B # A
More informationComputer Architecture Instruction Set Architecture part 2. Mehran Rezaei
Computer Architecture Instruction Set Architecture part 2 Mehran Rezaei Review Execution Cycle Levels of Computer Languages Stored Program Computer/Instruction Execution Cycle SPIM, a MIPS Interpreter
More informationCSE Lecture In Class Example Handout
CSE 30321 Lecture 07-09 In Class Example Handout Part A: A Simple, MIPS-based Procedure: Swap Procedure Example: Let s write the MIPS code for the following statement (and function call): if (A[i] > A
More informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA
CISC 662 Graduate Computer Architecture Lecture 4 - ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
More informationCOSC345 Software Engineering. Basic Computer Architecture and The Stack
COSC345 Software Engineering Basic Computer Architecture and The Stack Outline Architectural models A little about the 68HC11 Memory map Registers A little bit of assembly (never did us any harm) The program
More informationInstructions: Language of the Computer
CS359: Computer Architecture Instructions: Language of the Computer Yanyan Shen Department of Computer Science and Engineering 1 The Language a Computer Understands Word a computer understands: instruction
More informationECE331: Hardware Organization and Design
ECE331: Hardware Organization and Design Lecture 8: Procedures (cont d), Binary Numbers and Adders Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Review: Procedure Calling Steps
More informationCourse Administration
Fall 2017 EE 3613: Computer Organization Chapter 2: Instruction Set Architecture 2/4 Avinash Kodi Department of Electrical Engineering & Computer Science Ohio University, Athens, Ohio 45701 E-mail: kodi@ohio.edu
More informationCS3350B Computer Architecture
CS3350B Computer Architecture Winter 2015 Lecture 4.1: MIPS ISA: Introduction Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted d from lectures on Computer Organization and Design, Patterson & Hennessy,
More informationMIPS Functions and the Runtime Stack
MIPS Functions and the Runtime Stack COE 301 Computer Organization Prof. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals Presentation Outline
More informationCS222: MIPS Instruction Set
CS222: MIPS Instruction Set Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati 1 Outline Previous Introduction to MIPS Instruction Set MIPS Arithmetic's Register Vs Memory, Registers
More informationInstruction Set Architecture
C Fortran Ada etc. Basic Java Instruction Set Architecture Compiler Assembly Language Compiler Byte Code Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin http://akademik.bahcesehir.edu.tr/~naydin
More informationSubroutines. int main() { int i, j; i = 5; j = celtokel(i); i = j; return 0;}
Subroutines Also called procedures or functions Example C code: int main() { int i, j; i = 5; j = celtokel(i); i = j; return 0;} // subroutine converts Celsius to kelvin int celtokel(int i) { return (i
More informationCS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014
B CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014 DUE : March 3, 2014 READ : - Related sections of Chapter 2 - Related sections of Chapter 3 - Related sections of Appendix A - Related sections
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 informationChapter 2. Instruction Set. The MIPS Instruction Set. Arithmetic Operations. Instructions: Language of the Computer
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 2 Instructions: Language of the Computer
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 informationInstruction Set Architectures (4)
Computer Architecture Week 06 Instruction Set Architectures (4) College of Information Science and Engineering Ritsumeikan University subroutines functions, procedures remember the next instruction s address
More informationCompiling Techniques
Lecture 10: An Introduction to MIPS assembly 18 October 2016 Table of contents 1 Overview 2 3 Assembly program template.data Data segment: constant and variable definitions go here (including statically
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 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 informationExam I Review February 2017
Exam I Review February 2017 Binary Number Representations Conversion of binary to hexadecimal and decimal. Convert binary number 1000 1101 to hexadecimal: Make groups of 4 bits to convert to hexadecimal,
More information101 Assembly. ENGR 3410 Computer Architecture Mark L. Chang Fall 2009
101 Assembly ENGR 3410 Computer Architecture Mark L. Chang Fall 2009 What is assembly? 79 Why are we learning assembly now? 80 Assembly Language Readings: Chapter 2 (2.1-2.6, 2.8, 2.9, 2.13, 2.15), Appendix
More informationWe will begin our study of computer architecture From this perspective. Machine Language Control Unit
An Instruction Set View Introduction Have examined computer from several different views Observed programmer s view Focuses on instructions computer executes Collection of specific set of instructions
More informationCS/COE1541: Introduction to Computer Architecture
CS/COE1541: Introduction to Computer Architecture Dept. of Computer Science University of Pittsburgh http://www.cs.pitt.edu/~melhem/courses/1541p/index.html 1 Computer Architecture? Application pull Operating
More informationFive classic components
CS/COE0447: Computer Organization and Assembly Language Chapter 2 modified by Bruce Childers original slides by Sangyeun Cho Dept. of Computer Science Five classic components I am like a control tower
More information