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

Size: px
Start display at page:

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

Transcription

1 ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #4 MIPS Assembly and Simulation Objective The objective of lab this week is to familiarize you with the MIPS Instruction Set Architecture (ISA). In order to build a machine, we must understand how to use it. In lab, you will assemble and simulate a few simple programs written in assembly language. You will use the simulator to see the flow of data through the MIPS machine as it executes a program. Additionally, you will have the opportunity to improve upon provided code and will use the simulator to view your improvement. Background The Instruction Set Architecture (ISA) sits at the boundary between hardware and software and provides a well defined set of instructions that both the programmer (or compiler) and the processor understand. Software development using these primitive instructions is referred to as assembly language programming. Today, most software development is performed with a higher level language such as C or C++ and compiled down to assembly code; however, there is still some merit in programming at such a low level. For this class, it is a necessary step, required to strengthen your understanding of the processor itself. For the embedded developer, it may be necessary to write a kernel or a small portion of an algorithm in assembly code for an Operating System (OS) port or efficiency reasons, while for the general programmer, an understanding of what the C or C++ code being written will eventually be translated to will aide in the developer s ability to create efficient programs from the start. For assembly code simulation, we will use the MIPS Assembler and Runtime Simulator (MARS) from Missouri State University. 1

2 2 Laboratory Exercise #4 MARS provides an intuitive Integrated Development Environment (IDE) for assemble language programming in a portable (written in Java platform). For your use at home, MARS may be downloaded for free at Procedure 1. Introduction to MARS and a very simple assembly language program. (a) Start MARS by first opening up a terminal window, then invoking the following command: >java -jar /homes/grad/atarghe1/ecen651/mars_4_1.jar (b) From within the IDE, select File New to create a new source file. Note the.asm file extension. (c) Enter the following code into the editor within MARS:. t e x t # t e x t s e c t i o n. g l o b l main # c a l l main a d d i $t1, $0, 8 # l o a d immediate v a l u e ( 8 ) i n t o $ t 1 a d d i $t2, $0, 9 # l o a d immediate v a l u e ( 9 ) i n t o $ t 2 add $t3, $t1, $ t 2 # add two numbers i n t o $ t 3 j r $ r a # r e t u r n from main ; r e t u r n a d d r e s s s t o r e d i n $ r a (d) Please note the following MIPS assembly language syntax rules: Text that follows a sharp sign (#) is a comment. A line that starts with a period (.) is an assembler directive. Assembler directives are a way of instructing the assembler how to translate a program but do not produce machine instructions. For example at line 6 in the code below,.globl main defines main as a global variable. Text followed by a colon (:) defines a label. It is similar to defining variables in any highlevel language, for example int var in C-language. (e) Save the file as prog1.asm in your lab4 directory and click on Run Assemble. (f) Select the Execute tab in MARS and record the following things in your lab write-up: The original source with pseudo instructions The actual MIPS instructions they translate to The machine code the MIPS instructions translate to The address where each machine instruction is located 2 ECEN 651

3 Laboratory Exercise #4 3 (g) Explain what the simple program does. (h) Now select Run Step to single step through the program. Examine the state of the machine provided in the Registers window on the right as you single step through your program. Take note of the PC register and the registers referenced in the program. Record changes you see in the temporary registers (i.e. $t0 through $t9). 2. Assemble and simulate a slightly more complex program with system calls to interact with the user. (a) Create a new file called prog2.asm and type in the following program:. d a t a msg1 :. a s c i i z P l e a s e e n t e r an i n t e g e r number : msg2 :. a s c i i z \ t F i r s t r e s u l t : msg3 :. a s c i i z \ tsecond r e s u l t :. t e x t. g l o b l main # I n s i d e main t h e r e a r e some c a l l s ( ) which w i l l change t h e # v a l u e i n r e g i s t e r $ r a which i n i t i a l l y c o n t a i n s t h e r e t u r n # a d d r e s s from main. This needs t o be saved. addu $s0, $ra, $0 # save $31 i n $16 l i $v0, 4 # system c a l l f o r p r i n t s t r l a $a0, msg1 # a d d r e s s of s t r i n g t o p r i n t # now g e t an i n t e g e r from t h e u s e r l i $v0, 5 # system c a l l f o r r e a d i n t # t h e i n t e g e r p l a c e d i n $v0 # do some c o m p u t a t i o n h e r e with t h e i n t e g e r addu $t0, $v0, $0 # move t h e number i n $v0 t o $ t 0 s l l $t1, $t0, 2 # c o m p u t a t i o n 1, r e s u l t i s i n $ t 1 s r l $t2, $t0, 2 # c o m p u t a t i o n 2, r e s u l t i s i n $ t 2 # p r i n t t h e f i r s t r e s u l t l i $v0, 4 # system c a l l f o r p r i n t s t r l a $a0, msg2 # a d d r e s s of s t r i n g t o p r i n t l i $v0, 1 # system c a l l f o r p r i n t i n t addu $a0, $t1, $0 # move number t o p r i n t i n $a0 ECEN 651 3

4 4 Laboratory Exercise #4 # p r i n t t h e second r e s u l t l i $v0, 4 # system c a l l f o r p r i n t s t r l a $a0, msg3 # a d d r e s s of s t r i n g t o p r i n t l i $v0, 1 # system c a l l f o r p r i n t i n t addu $a0, $t2, $0 # move number t o p r i n t i n $a0 # r e s t o r e now t h e r e t u r n a d d r e s s i n $ r a and r e t u r n from main addu $ra, $0, $s0 # r e t u r n a d d r e s s back i n $31 j r $ r a # r e t u r n from main $ (b) Using the MIPS reference card listed on the lab website as an aide, examine the code and explain what exactly it is doing. Hint: Look specifically at the SYSCALLS section of the reference card. (c) Verify the operation of the above code in MARS by assembling the code and then selecting Run Go to execute the code to completion without single stepping. Copy the program output displayed in the Run IO window into your lab write-up. (d) Take some time to examine the Text Segment and Data Segments under the Execute tab in MARS. What exactly do these sections contain? (e) Reset the program by selecting Run Reset and now single step through it examining the register contents as you go. Record changes you see in the temporary registers (i.e. $t0 through $t9). (f) Describe in your lab write-up the operation of the PC register. 3. Assemble a program which interacts with memory (i.e. contains loads and stores). (a) Create a new file called prog3.asm and type the following code into that file:. d a t a msg1 :. a s c i i z A 17 b y t e message msg2 :. a s c i i z Another message of 27 b y t e s num1 :. b y t e 45 num2 :. h a l f 654 num3 :. word 0 x c a f e b a b e num4 :. word 0 x f e e d f a c e. t e x t. g l o b l main 4 ECEN 651

5 Laboratory Exercise #4 5 addu $s0, $ra, $0 # save t h e r e t u r n a d d r e s s l i $v0, 4 # system c a l l f o r p r i n t s t r l a $a0, msg1 # a d d r e s s of s t r i n g t o p r i n t l a $a0, msg2 # a d d r e s s of s t r i n g t o p r i n t l b $t0, num1 # l o a d num1 i n t o $ t 0 l h $t1, num2 # l o a d num2 i n t o $ t 1 lw $t2, num3 # l o a d num3 i n t o $ t 2 lw $t3, num4 # l o a d num4 i n t o $ t 3 addu $ra, $s0, $0 # r e s t o r e t h e r e t u r n a d d r e s s j r $ r a # r e t u r n from main (b) Examine the contents of the Data Segment within MARS. Select the ASCII check box at the bottom of the window and record the start address for the two strings in the program (i.e. msg1 and msg2. (c) Assemble and run the program, single stepping through the instructions. Note the contents of the registers as the code executes. Copy the program output displayed in the Run IO window into your lab write-up. (d) Now type in prog4.asm listed below:. d a t a h e x t a b l e :. a s c i i a b c d e f msg1 :. a s c i i z Your number i n Hex i s :. t e x t. g l o b l main addu $s0, $0, $ r a # save t h e r e t u r n a d d r e s s l i $v0, 5 # f o r r e a d i n t add $s1, $v0, $0 l i $v0, 4 # f o r p r i n t s t r l a $a0, msg1 l a $a1, h e x t a b l e s r l $t0, $s1, 4 # g e t upper 4 b i t s add $a2, $a1, $ t 0 # g e t a d d r e s s i n h e x t a b l e l b $a0, 0( $a2 ) # g e t c h a r a c t e r l i $v0, 11 # f o r p r i n t c h a r ECEN 651 5

6 6 Laboratory Exercise #4 a n d i $t0, $s1, 0 xf # g e t lower 4 b i t s add $a2, $a1, $ t 0 # g e t a d d r e s s i n h e x t a b l e l b $a0, 0( $a2 ) # g e t c h a r a c t e r l i $v0, 11 # f o r p r i n t s t r addu $ra, $s0, $0 # r e s t o r e r e t u r n a d d r e s s j r $ r a # r e t u r n from main (e) Assemble and run the provided program. In the IO window, enter a number between 1 and 255. (f) Explain the operation of the program in your lab write-up. 4. Assemble and simulate a program with control instruction such as beq and jal. (a) Assemble prog5.asm provided below:. d a t a msg1 :. a s c i i z E n t e r t h e f i r s t number \n msg2 :. a s c i i z E n t e r t h e second number \n msg :. a s c i i z The p r o d u c t i s. t e x t. g l o b l main. g l o b l my mul a d d i $sp, $sp, 8 #make room f o r $ r a and $fp on t h e s t a c k sw $ra, 4( $sp ) # push $ r a sw $fp, 0( $sp ) # push $fp l a $a0, msg1 # l o a d a d d r e s s of msg1 i n t o $a0 l i $v0, 4 # p r i n t msg1 l i $v0, 5 # r e a d i n t add $t0, $v0, $0 # p u t i n $ t 0 l a $a0, msg2 # l o a d a d d r e s s of msg2 i n t o $a0 l i $v0, 4 # p r i n t msg2 l i $v0, 5 6 ECEN 651

7 Laboratory Exercise #4 7 # r e a d i n t add $a1, $v0, $0 # p u t i n $a1 add $a0, $t0, $0 # p u t f i r s t number i n $a0 add $fp, $sp, $0 # s e t fp t o t o p of s t a c k p r i o r # t o f u n c t i o n c a l l j a l my mul #do mul, r e s u l t i s i n $v0 add $t0, $v0, $0 # save t h e r e s u l t i n $ t 0 l a $a0, msg l i $v0, 4 # p r i n t msg add $a0, $t0, $0 # p u t c o m p u t a t i o n r e s u l t i n $a0 l i $v0, 1 # p r i n t r e s u l t number lw $fp, 0( $sp ) # r e s t o r e ( pop ) $fp lw $ra, 4( $sp ) # r e s t o r e ( pop ) $ r a a d d i $sp, $sp, 8 # a d j u s t $sp j r $ r a # r e t u r n my mul : # m u l t i p l y $a0 with $a1 # does n o t h a n d l e n e g a t i v e $a1! # Note : This i s an i n e f f i c i e n t way t o m u l t i p y! a d d i $sp, $sp, 4 #make room f o r $s0 on t h e s t a c k sw $s0, 0( $sp ) # push $s0 add $s0, $a1, $0 # s e t $s0 e q u a l t o $a1 add $v0, $0, $0 # s e t $v0 t o 0 m u l t l o o p : beq $s0, $0, m u l t e o l add $v0, $v0, $a0 a d d i $s0, $s0, 1 j m u l t l o o p m u l t e o l : lw $s0, 0( $sp ) #pop $s0 j r $ r a (b) Set the Run speed bar at the top of MARS to about 2 inst/sec and then run the program. (c) What does the run speed bar do? ECEN 651 7

8 8 Laboratory Exercise #4 (d) Watch the program as it executes and summarize its operation in your lab write-up. (e) The method used to perform multiplication is very inefficient. Rewrite the multiplication routine to perform multiplication with the Shift-and-Add method. Compare and contrast the two methods (i.e. the one provided with the one you write) of multiplication in your lab write-up. 1 Deliverables 1. Submit a lab report that captures your efforts in lab. 2. Include all assembly source files with the comments provided. Note: Code submitted without adequate comments will not be graded! 3. Be sure to include all material requested in lab. 4. Answer the following review questions: (a) Explain how the target address in a branch instruction is calculated. How about for a jump instruction? What is the different between jump and jump and link (i.e. jal)? (b) List the registers that must be preserved during the execution of a procedure. Which registers do not have to be preserved? (c) What are the steps necessary to call a procedure? Be sure to include the interaction with the stack and frame pointers. Use prog5.asm as a reference. 8 ECEN 651

On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work

On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work Lab 5 : Linking Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of this lab is to experiment

More information

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

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #2 Behavioral, Dataflow, and

More information

Computer Architecture

Computer Architecture Computer Architecture QtSpim, a Mips simulator S. Coudert and R. Pacalet January 4, 2018..................... Memory Mapping 0xFFFF000C 0xFFFF0008 0xFFFF0004 0xffff0000 0x90000000 0x80000000 0x7ffff4d4

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou and Sunil P

More information

Lecture 3, Performance

Lecture 3, Performance Repeating some definitions: Lecture 3, Performance CPI MHz MIPS MOPS Clocks Per Instruction megahertz, millions of cycles per second Millions of Instructions Per Second = MHz / CPI Millions of Operations

More information

Lecture 3, Performance

Lecture 3, Performance Lecture 3, Performance Repeating some definitions: CPI Clocks Per Instruction MHz megahertz, millions of cycles per second MIPS Millions of Instructions Per Second = MHz / CPI MOPS Millions of Operations

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P. Khatri Lab exercise created and tested by: Abbas Fairouz, Ramu Endluri, He Zhou,

More information

CA Compiler Construction

CA Compiler Construction CA4003 - Compiler Construction Code Generation to MIPS David Sinclair Code Generation The generation o machine code depends heavily on: the intermediate representation;and the target processor. We are

More information

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application Administrivia 1. markem/cs333/ 2. Staff 3. Prerequisites 4. Grading Course Objectives 1. Theory and application 2. Benefits 3. Labs TAs Overview 1. What is a computer system? CPU PC ALU System bus Memory

More information

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

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2 Pipelining CS 365 Lecture 12 Prof. Yih Huang CS 365 1 Traditional Execution 1 2 3 4 1 2 3 4 5 1 2 3 add ld beq CS 365 2 1 Pipelined Execution 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

More information

Collisions and conservation laws

Collisions and conservation laws (ta initials) first name (print) last name (print) brock id (ab17cd) (lab date) Experiment 4 Collisions and conservation laws Prelab preparation Print a copy of this experiment to bring to your scheduled

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines 1 Clocks A microprocessor is composed of many different circuits that are operating simultaneously if each

More information

Laboratory Exercise #11 A Simple Digital Combination Lock

Laboratory Exercise #11 A Simple Digital Combination Lock Laboratory Exercise #11 A Simple Digital Combination Lock ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise #11 1 Introduction

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines Reminder: midterm on Tue 2/28 will cover Chapters 1-3, App A, B if you understand all slides, assignments,

More information

Compiling Techniques

Compiling Techniques Lecture 11: Introduction to 13 November 2015 Table of contents 1 Introduction Overview The Backend The Big Picture 2 Code Shape Overview Introduction Overview The Backend The Big Picture Source code FrontEnd

More information

SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide

SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide This page is intentionally left blank. SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide The ACTiSys IR Programmer and SuperCELL

More information

COVER SHEET: Problem#: Points

COVER SHEET: Problem#: Points 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)

More information

Photometry of a Globular Cluster

Photometry of a Globular Cluster Name(s): Date: Course/Section: Grade: Photometry of a Globular Cluster Learning Objectives: Students will determine the age of a globular cluster using photometry. Checklist: Complete the pre- lab quiz

More information

A Second Datapath Example YH16

A Second Datapath Example YH16 A Second Datapath Example YH16 Lecture 09 Prof. Yih Huang S365 1 A 16-Bit Architecture: YH16 A word is 16 bit wide 32 general purpose registers, 16 bits each Like MIPS, 0 is hardwired zero. 16 bit P 16

More information

CSE370: Introduction to Digital Design

CSE370: Introduction to Digital Design CSE370: Introduction to Digital Design Course staff Gaetano Borriello, Brian DeRenzi, Firat Kiyak Course web www.cs.washington.edu/370/ Make sure to subscribe to class mailing list (cse370@cs) Course text

More information

MENA 9520 FME Modelling Tutorial 5 ( )

MENA 9520 FME Modelling Tutorial 5 ( ) MENA 9520 FME Modelling Tutorial 5 (25.02.2011) Task 5: Understanding type of bonding using charge-density plots Exercise 5.1: Visualizing charge density in Si: 1. mkdir charge 2. Copy a converged CTRL

More information

ISSP User Guide CY3207ISSP. Revision C

ISSP User Guide CY3207ISSP. Revision C CY3207ISSP ISSP User Guide Revision C Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): 408.943.2600 http://www.cypress.com Copyrights Copyrights

More information

Automata Theory CS S-12 Turing Machine Modifications

Automata Theory CS S-12 Turing Machine Modifications Automata Theory CS411-2015S-12 Turing Machine Modifications David Galles Department of Computer Science University of San Francisco 12-0: Extending Turing Machines When we added a stack to NFA to get a

More information

Senior astrophysics Lab 2: Evolution of a 1 M star

Senior astrophysics Lab 2: Evolution of a 1 M star Senior astrophysics Lab 2: Evolution of a 1 M star Name: Checkpoints due: Friday 13 April 2018 1 Introduction This is the rst of two computer labs using existing software to investigate the internal structure

More information

Digital Systems EEE4084F. [30 marks]

Digital Systems EEE4084F. [30 marks] Digital Systems EEE4084F [30 marks] Practical 3: Simulation of Planet Vogela with its Moon and Vogel Spiral Star Formation using OpenGL, OpenMP, and MPI Introduction The objective of this assignment is

More information

Laboratory Exercise #8 Introduction to Sequential Logic

Laboratory Exercise #8 Introduction to Sequential Logic Laboratory Exercise #8 Introduction to Sequential Logic ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise #8 1 Introduction

More information

Working with Digital Elevation Models in ArcGIS 8.3

Working with Digital Elevation Models in ArcGIS 8.3 Working with Digital Elevation Models in ArcGIS 8.3 The homework that you need to turn in is found at the end of this document. This lab continues your introduction to using the Spatial Analyst Extension

More information

Foundations of Computation

Foundations of Computation The Australian National University Semester 2, 2018 Research School of Computer Science Tutorial 1 Dirk Pattinson Foundations of Computation The tutorial contains a number of exercises designed for the

More information

Mark Redekopp, All rights reserved. Lecture 1 Slides. Intro Number Systems Logic Functions

Mark Redekopp, All rights reserved. Lecture 1 Slides. Intro Number Systems Logic Functions Lecture Slides Intro Number Systems Logic Functions EE 0 in Context EE 0 EE 20L Logic Design Fundamentals Logic Design, CAD Tools, Lab tools, Project EE 357 EE 457 Computer Architecture Using the logic

More information

Astronomy 101 Lab: Stellarium Tutorial

Astronomy 101 Lab: Stellarium Tutorial Name: Astronomy 101 Lab: Stellarium Tutorial Please install the Stellarium software on your computer using the instructions in the procedure. If you own a laptop, please bring it to class. You will submit

More information

Project Two RISC Processor Implementation ECE 485

Project Two RISC Processor Implementation ECE 485 Project Two RISC Processor Implementation ECE 485 Chenqi Bao Peter Chinetti November 6, 2013 Instructor: Professor Borkar 1 Statement of Problem This project requires the design and test of a RISC processor

More information

NINE CHOICE SERIAL REACTION TIME TASK

NINE CHOICE SERIAL REACTION TIME TASK instrumentation and software for research NINE CHOICE SERIAL REACTION TIME TASK MED-STATE NOTATION PROCEDURE SOF-700RA-8 USER S MANUAL DOC-025 Rev. 1.3 Copyright 2013 All Rights Reserved MED Associates

More information

ww.padasalai.net

ww.padasalai.net t w w ADHITHYA TRB- TET COACHING CENTRE KANCHIPURAM SUNDER MATRIC SCHOOL - 9786851468 TEST - 2 COMPUTER SCIENC PG - TRB DATE : 17. 03. 2019 t et t et t t t t UNIT 1 COMPUTER SYSTEM ARCHITECTURE t t t t

More information

Department of Electrical and Computer Engineering The University of Texas at Austin

Department of Electrical and Computer Engineering The University of Texas at Austin Department of Electrical and Computer Engineering The University of Texas at Austin EE 360N, Fall 2004 Yale Patt, Instructor Aater Suleman, Huzefa Sanjeliwala, Dam Sunwoo, TAs Exam 1, October 6, 2004 Name:

More information

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation.

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation. ST-Links SpatialKit For ArcMap Version 3.0.x ArcMap Extension for Directly Connecting to Spatial Databases ST-Links Corporation www.st-links.com 2012 Contents Introduction... 3 Installation... 3 Database

More information

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

Computer Engineering Department. CC 311- Computer Architecture. Chapter 4. The Processor: Datapath and Control. Single Cycle Computer Engineering Department CC 311- Computer Architecture Chapter 4 The Processor: Datapath and Control Single Cycle Introduction The 5 classic components of a computer Processor Input Control Memory

More information

BCMB/CHEM 8190 Lab Exercise Using Maple for NMR Data Processing and Pulse Sequence Design March 2012

BCMB/CHEM 8190 Lab Exercise Using Maple for NMR Data Processing and Pulse Sequence Design March 2012 BCMB/CHEM 8190 Lab Exercise Using Maple for NMR Data Processing and Pulse Sequence Design March 2012 Introduction Maple is a powerful collection of routines to aid in the solution of mathematical problems

More information

Date: Summer Stem Section:

Date: Summer Stem Section: Page 1 of 7 Name: Date: Summer Stem Section: Summer assignment: Build a Molecule Computer Simulation Learning Goals: 1. Students can describe the difference between a molecule name and chemical formula.

More information

Please click the link below to view the YouTube video offering guidance to purchasers:

Please click the link below to view the YouTube video offering guidance to purchasers: Guide Contents: Video Guide What is Quick Quote? Quick Quote Access Levels Your Quick Quote Control Panel How do I create a Quick Quote? How do I Distribute a Quick Quote? How do I Add Suppliers to a Quick

More information

CPSC 3300 Spring 2017 Exam 2

CPSC 3300 Spring 2017 Exam 2 CPSC 3300 Spring 2017 Exam 2 Name: 1. Matching. Write the correct term from the list into each blank. (2 pts. each) structural hazard EPIC forwarding precise exception hardwired load-use data hazard VLIW

More information

HOW TO USE MIKANA. 1. Decompress the zip file MATLAB.zip. This will create the directory MIKANA.

HOW TO USE MIKANA. 1. Decompress the zip file MATLAB.zip. This will create the directory MIKANA. HOW TO USE MIKANA MIKANA (Method to Infer Kinetics And Network Architecture) is a novel computational method to infer reaction mechanisms and estimate the kinetic parameters of biochemical pathways from

More information

CSE Computer Architecture I

CSE Computer Architecture I Execution Sequence Summary CSE 30321 Computer Architecture I Lecture 17 - Multi Cycle Control Michael Niemier Department of Computer Science and Engineering Step name Instruction fetch Instruction decode/register

More information

CSCE 155N Fall Homework Assignment 2: Stress-Strain Curve. Assigned: September 11, 2012 Due: October 02, 2012

CSCE 155N Fall Homework Assignment 2: Stress-Strain Curve. Assigned: September 11, 2012 Due: October 02, 2012 CSCE 155N Fall 2012 Homework Assignment 2: Stress-Strain Curve Assigned: September 11, 2012 Due: October 02, 2012 Note: This assignment is to be completed individually - collaboration is strictly prohibited.

More information

Building a Computer. Quiz #2 on 10/31, open book and notes. (This is the last lecture covered) I wonder where this goes? L16- Building a Computer 1

Building a Computer. Quiz #2 on 10/31, open book and notes. (This is the last lecture covered) I wonder where this goes? L16- Building a Computer 1 Building a Computer I wonder where this goes? B LU MIPS Kit Quiz # on /3, open book and notes (This is the last lecture covered) Comp 4 Fall 7 /4/7 L6- Building a Computer THIS IS IT! Motivating Force

More information

Cosmic Ray Detector Software

Cosmic Ray Detector Software Cosmic Ray Detector Software Studying cosmic rays has never been easier Matthew Jones Purdue University 2012 QuarkNet Summer Workshop 1 Brief History First cosmic ray detector built at Purdue in about

More information

ECE3510 Lab #5 PID Control

ECE3510 Lab #5 PID Control ECE3510 Lab #5 ID Control Objectives The objective of this lab is to study basic design issues for proportionalintegral-derivative control laws. Emphasis is placed on transient responses and steady-state

More information

- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin

- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin - Why aren t there more quantum algorithms? - Quantum Programming Languages By : Amanda Cieslak and Ahmana Tarin Why aren t there more quantum algorithms? there are only a few problems for which quantum

More information

Double Inverted Pendulum (DBIP)

Double Inverted Pendulum (DBIP) Linear Motion Servo Plant: IP01_2 Linear Experiment #15: LQR Control Double Inverted Pendulum (DBIP) All of Quanser s systems have an inherent open architecture design. It should be noted that the following

More information

Tutorial 11. Use of User-Defined Scalars and User-Defined Memories for Modeling Ohmic Heating

Tutorial 11. Use of User-Defined Scalars and User-Defined Memories for Modeling Ohmic Heating Tutorial 11. Use of User-Defined Scalars and User-Defined Memories for Modeling Ohmic Heating Introduction The purpose of this tutorial is to illustrate the use of user-defined scalars (UDS) and user defined

More information

Results Combination Using Restart

Results Combination Using Restart WORKSHOP PROBLEM 8 Results Combination Using Restart Objectives: Using the model from Workshop 2, create two additional load cases for the truss using a combination of three previous load cases on a restart

More information

ON SITE SYSTEMS Chemical Safety Assistant

ON SITE SYSTEMS Chemical Safety Assistant ON SITE SYSTEMS Chemical Safety Assistant CS ASSISTANT WEB USERS MANUAL On Site Systems 23 N. Gore Ave. Suite 200 St. Louis, MO 63119 Phone 314-963-9934 Fax 314-963-9281 Table of Contents INTRODUCTION

More information

Assembly Programming through Arduino

Assembly Programming through Arduino 1 Assembly Programming through Arduino G V V Sharma Contents 1 Components 1 2 Seven Segment Display 1 2.1 Hardware Setup....... 1 2.2 Software Setup........ 2 2.3 Controlling the Display... 2 3 Display

More information

A crash course in Digital Logic

A crash course in Digital Logic crash course in Digital Logic Computer rchitecture 1DT016 distance Fall 2017 http://xyx.se/1dt016/index.php Per Foyer Mail: per.foyer@it.uu.se Per.Foyer@it.uu.se 2017 1 We start from here Gates Flip-flops

More information

ECE290 Fall 2012 Lecture 22. Dr. Zbigniew Kalbarczyk

ECE290 Fall 2012 Lecture 22. Dr. Zbigniew Kalbarczyk ECE290 Fall 2012 Lecture 22 Dr. Zbigniew Kalbarczyk Today LC-3 Micro-sequencer (the control store) LC-3 Micro-programmed control memory LC-3 Micro-instruction format LC -3 Micro-sequencer (the circuitry)

More information

EXPERIMENT 7: ANGULAR KINEMATICS AND TORQUE (V_3)

EXPERIMENT 7: ANGULAR KINEMATICS AND TORQUE (V_3) TA name Lab section Date TA Initials (on completion) Name UW Student ID # Lab Partner(s) EXPERIMENT 7: ANGULAR KINEMATICS AND TORQUE (V_3) 121 Textbook Reference: Knight, Chapter 13.1-3, 6. SYNOPSIS In

More information

Microprocessor Power Analysis by Labeled Simulation

Microprocessor Power Analysis by Labeled Simulation Microprocessor Power Analysis by Labeled Simulation Cheng-Ta Hsieh, Kevin Chen and Massoud Pedram University of Southern California Dept. of EE-Systems Los Angeles CA 989 Outline! Introduction! Problem

More information

SOLUTION. Homework 1. Part(a) Due: 15 Mar, 2018, 11:55pm

SOLUTION. Homework 1. Part(a) Due: 15 Mar, 2018, 11:55pm ENGG1203: Introduction to Electrical and Electronic Engineering Second Semester, 2017 18 Homework 1 Due: 15 Mar, 2018, 11:55pm Instruction: Submit your answers electronically through Moodle. In Moodle,

More information

Material Covered on the Final

Material Covered on the Final Material Covered on the Final On the final exam, you are responsible for: Anything covered in class, except for stories about my good friend Ken Kennedy All lecture material after the midterm ( below the

More information

Homework 1. Part(a) Due: 15 Mar, 2018, 11:55pm

Homework 1. Part(a) Due: 15 Mar, 2018, 11:55pm ENGG1203: Introduction to Electrical and Electronic Engineering Second Semester, 2017 18 Homework 1 Due: 15 Mar, 2018, 11:55pm Instruction: Submit your answers electronically through Moodle. In Moodle,

More information

v Prerequisite Tutorials GSSHA WMS Basics Watershed Delineation using DEMs and 2D Grid Generation Time minutes

v Prerequisite Tutorials GSSHA WMS Basics Watershed Delineation using DEMs and 2D Grid Generation Time minutes v. 10.1 WMS 10.1 Tutorial GSSHA WMS Basics Creating Feature Objects and Mapping Attributes to the 2D Grid Populate hydrologic parameters in a GSSHA model using land use and soil data Objectives This tutorial

More information

System Data Bus (8-bit) Data Buffer. Internal Data Bus (8-bit) 8-bit register (R) 3-bit address 16-bit register pair (P) 2-bit address

System Data Bus (8-bit) Data Buffer. Internal Data Bus (8-bit) 8-bit register (R) 3-bit address 16-bit register pair (P) 2-bit address Intel 8080 CPU block diagram 8 System Data Bus (8-bit) Data Buffer Registry Array B 8 C Internal Data Bus (8-bit) F D E H L ALU SP A PC Address Buffer 16 System Address Bus (16-bit) Internal register addressing:

More information

Static and Kinetic Friction

Static and Kinetic Friction Ryerson University - PCS 120 Introduction Static and Kinetic Friction In this lab we study the effect of friction on objects. We often refer to it as a frictional force yet it doesn t exactly behave as

More information

How Do I Create a Hubble Diagram to show the expanding universe?

How Do I Create a Hubble Diagram to show the expanding universe? How Do I Create a Hubble Diagram to show the expanding universe? An extremely important topic in astronomy is the expansion of the universe. Although the expanding universe is nearly always discussed in

More information

Lab Partner(s) TA Initials (on completion) EXPERIMENT 7: ANGULAR KINEMATICS AND TORQUE

Lab Partner(s) TA Initials (on completion) EXPERIMENT 7: ANGULAR KINEMATICS AND TORQUE TA name Lab section Date TA Initials (on completion) Name UW Student ID # Lab Partner(s) EXPERIMENT 7: ANGULAR KINEMATICS AND TORQUE 117 Textbook Reference: Walker, Chapter 10-1,2, Chapter 11-1,3 SYNOPSIS

More information

SEM Day 1 Lab Exercises SPIDA 2007 Dave Flora

SEM Day 1 Lab Exercises SPIDA 2007 Dave Flora SEM Day 1 Lab Exercises SPIDA 2007 Dave Flora 1 Today we will see how to estimate CFA models and interpret output using both SAS and LISREL. In SAS, commands for specifying SEMs are given using linear

More information

Models of Computation, Recall Register Machines. A register machine (sometimes abbreviated to RM) is specified by:

Models of Computation, Recall Register Machines. A register machine (sometimes abbreviated to RM) is specified by: Models of Computation, 2010 1 Definition Recall Register Machines A register machine (sometimes abbreviated M) is specified by: Slide 1 finitely many registers R 0, R 1,..., R n, each capable of storing

More information

Using the Stock Hydrology Tools in ArcGIS

Using the Stock Hydrology Tools in ArcGIS Using the Stock Hydrology Tools in ArcGIS This lab exercise contains a homework assignment, detailed at the bottom, which is due Wednesday, October 6th. Several hydrology tools are part of the basic ArcGIS

More information

Conformational Analysis of n-butane

Conformational Analysis of n-butane Conformational Analysis of n-butane In this exercise you will calculate the Molecular Mechanics (MM) single point energy of butane in various conformations with respect to internal rotation around the

More information

SOFTWARE USER MANUAL. Weather Capture Advance WS1640 WM9280

SOFTWARE USER MANUAL. Weather Capture Advance WS1640 WM9280 SOFTWARE USER MANUAL Weather Capture Advance WS1640 WM9280 1 TABLE OF CONTENTS 1. Introduction 3 1.1 System requirements 1.2 Connection of the weather station 1.3 Installation of the Weather Capture Advance

More information

Your work from these three exercises will be due Thursday, March 2 at class time.

Your work from these three exercises will be due Thursday, March 2 at class time. GEO231_week5_2012 GEO231, February 23, 2012 Today s class will consist of three separate parts: 1) Introduction to working with a compass 2) Continued work with spreadsheets 3) Introduction to surfer software

More information

Virtual Beach Making Nowcast Predictions

Virtual Beach Making Nowcast Predictions Virtual Beach 3.0.6 Making Nowcast Predictions In this module you will learn how to: A. Create a real-time connection to Web data services through EnDDaT B. Download real-time data to make a Nowcast prediction

More information

Simulating Future Climate Change Using A Global Climate Model

Simulating Future Climate Change Using A Global Climate Model Simulating Future Climate Change Using A Global Climate Model Introduction: (EzGCM: Web-based Version) The objective of this abridged EzGCM exercise is for you to become familiar with the steps involved

More information

CMSC 313 Lecture 16 Announcement: no office hours today. Good-bye Assembly Language Programming Overview of second half on Digital Logic DigSim Demo

CMSC 313 Lecture 16 Announcement: no office hours today. Good-bye Assembly Language Programming Overview of second half on Digital Logic DigSim Demo CMSC 33 Lecture 6 nnouncement: no office hours today. Good-bye ssembly Language Programming Overview of second half on Digital Logic DigSim Demo UMC, CMSC33, Richard Chang Good-bye ssembly

More information

L07-L09 recap: Fundamental lesson(s)!

L07-L09 recap: Fundamental lesson(s)! L7-L9 recap: Fundamental lesson(s)! Over the next 3 lectures (using the IPS ISA as context) I ll explain:! How functions are treated and processed in assembly! How system calls are enabled in assembly!

More information

McIDAS-V Tutorial Displaying Point Observations from ADDE Datasets updated July 2016 (software version 1.6)

McIDAS-V Tutorial Displaying Point Observations from ADDE Datasets updated July 2016 (software version 1.6) McIDAS-V Tutorial Displaying Point Observations from ADDE Datasets updated July 2016 (software version 1.6) McIDAS-V is a free, open source, visualization and data analysis software package that is the

More information

Programming Language Concepts, CS2104 Lecture 3

Programming Language Concepts, CS2104 Lecture 3 Programming Language Concepts, CS2104 Lecture 3 Statements, Kernel Language, Abstract Machine 31 Aug 2007 CS2104, Lecture 3 1 Reminder of last lecture Programming language definition: syntax, semantics

More information

BASIC TECHNOLOGY Pre K starts and shuts down computer, monitor, and printer E E D D P P P P P P P P P P

BASIC TECHNOLOGY Pre K starts and shuts down computer, monitor, and printer E E D D P P P P P P P P P P BASIC TECHNOLOGY Pre K 1 2 3 4 5 6 7 8 9 10 11 12 starts and shuts down computer, monitor, and printer P P P P P P practices responsible use and care of technology devices P P P P P P opens and quits an

More information

LABORATORY MANUAL MICROPROCESSOR AND MICROCONTROLLER

LABORATORY MANUAL MICROPROCESSOR AND MICROCONTROLLER LABORATORY MANUAL S u b j e c t : MICROPROCESSOR AND MICROCONTROLLER TE (E lectr onics) ( S e m V ) 1 I n d e x Serial No T i tl e P a g e N o M i c r o p r o c e s s o r 8 0 8 5 1 8 Bit Addition by Direct

More information

Lab 2 Worksheet. Problems. Problem 1: Geometry and Linear Equations

Lab 2 Worksheet. Problems. Problem 1: Geometry and Linear Equations Lab 2 Worksheet Problems Problem : Geometry and Linear Equations Linear algebra is, first and foremost, the study of systems of linear equations. You are going to encounter linear systems frequently in

More information

A Brief Introduction To. GRTensor. On MAPLE Platform. A write-up for the presentation delivered on the same topic as a part of the course PHYS 601

A Brief Introduction To. GRTensor. On MAPLE Platform. A write-up for the presentation delivered on the same topic as a part of the course PHYS 601 A Brief Introduction To GRTensor On MAPLE Platform A write-up for the presentation delivered on the same topic as a part of the course PHYS 601 March 2012 BY: ARSHDEEP SINGH BHATIA arshdeepsb@gmail.com

More information

In-System Serial Programming (ISSP) Guide

In-System Serial Programming (ISSP) Guide CY3207ISSP In-System Serial Programming (ISSP) Guide Spec. # 001-15301 Rev. ** Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): 408.943.2600 http://www.cypress.com

More information

C2A for Pulsar2 how to control your telescope from C2A

C2A for Pulsar2 how to control your telescope from C2A C2A for Pulsar2 how to control your telescope from C2A C2a is a free and powerful planetarium program available from.http://www.astrosurf.com/c2a/english/ that offers native support for Pulsar2 without

More information

Creating Empirical Calibrations

Creating Empirical Calibrations 030.0023.01.0 Spreadsheet Manual Save Date: December 1, 2010 Table of Contents 1. Overview... 3 2. Enable S1 Calibration Macro... 4 3. Getting Ready... 4 4. Measuring the New Sample... 5 5. Adding New

More information

Big-O Notation and Complexity Analysis

Big-O Notation and Complexity Analysis Big-O Notation and Complexity Analysis Jonathan Backer backer@cs.ubc.ca Department of Computer Science University of British Columbia May 28, 2007 Problems Reading: CLRS: Growth of Functions 3 GT: Algorithm

More information

Account Setup. STEP 1: Create Enhanced View Account

Account Setup. STEP 1: Create Enhanced View Account SpyMeSatGov Access Guide - Android DigitalGlobe Imagery Enhanced View How to setup, search and download imagery from DigitalGlobe utilizing NGA s Enhanced View license Account Setup SpyMeSatGov uses a

More information

Binary addition example worked out

Binary addition example worked out Binary addition example worked out Some terms are given here Exercise: what are these numbers equivalent to in decimal? The initial carry in is implicitly 0 1 1 1 0 (Carries) 1 0 1 1 (Augend) + 1 1 1 0

More information

Chem Page IX - 1 LAB MANUAL Differential Scanning Calorimetry 09_dsc131.docx EXPERIMENT IX

Chem Page IX - 1 LAB MANUAL Differential Scanning Calorimetry 09_dsc131.docx EXPERIMENT IX Chem 366-3 Page IX - 1 LAB MANUAL Differential Scanning Calorimetry 09_dsc131.docx EXPERIMENT IX KINETICS OF DECOMPOSITION OF SODIUM BICARBONATE; A DIFFERENTIAL SCANNING CALORIMETRY EXPERIMENT 1. Purpose

More information

Cantera / Stancan Primer

Cantera / Stancan Primer Cantera / Stancan Primer Matthew Campbell; A.J. Simon; Chris Edwards Introduction to Cantera and Stancan Cantera is an open-source, object-oriented software package which performs chemical and thermodynamic

More information

SDS developer guide. Develop distributed and parallel applications in Java. Nathanaël Cottin. version

SDS developer guide. Develop distributed and parallel applications in Java. Nathanaël Cottin. version SDS developer guide Develop distributed and parallel applications in Java Nathanaël Cottin sds@ncottin.net http://sds.ncottin.net version 0.0.3 Copyright 2007 - Nathanaël Cottin Permission is granted to

More information

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference)

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference) ECE 3401 Lecture 23 Pipeline Design Control State Register Combinational Control Logic New/ Modified Control Word ISA: Instruction Specifications (for reference) P C P C + 1 I N F I R M [ P C ] E X 0 PC

More information

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00 FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING MODULE CAMPUS CSC2A10 OBJECT ORIENTED PROGRAMMING AUCKLAND PARK CAMPUS (APK) EXAM JULY 2014 DATE 07/2014 SESSION 8:00-10:00 ASSESOR(S)

More information

Computer Architecture ELEC2401 & ELEC3441

Computer Architecture ELEC2401 & ELEC3441 Last Time Pipeline Hazard Computer Architecture ELEC2401 & ELEC3441 Lecture 8 Pipelining (3) Dr. Hayden Kwok-Hay So Department of Electrical and Electronic Engineering Structural Hazard Hazard Control

More information

Spatial Analysis using Vector GIS THE GOAL: PREPARATION:

Spatial Analysis using Vector GIS THE GOAL: PREPARATION: PLAN 512 GIS FOR PLANNERS Department of Urban and Environmental Planning University of Virginia Fall 2006 Prof. David L. Phillips Spatial Analysis using Vector GIS THE GOAL: This tutorial explores some

More information

Experiment A11 Chaotic Double Pendulum Procedure

Experiment A11 Chaotic Double Pendulum Procedure AME 21216: Lab I Fall 2017 Experiment A11 Chaotic Double Pendulum Procedure Deliverables: Checked lab notebook, plots with captions Background Measuring and controlling the angular position and velocity

More information

Quantum Computing Virtual Machine. Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu

Quantum Computing Virtual Machine. Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu Quantum Computing Virtual Machine Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu Quantum Computing Virtual Machine Quantum Computing Computer science + quantum mechanics = quantum

More information

QUANTUM CHEMISTRY WITH GAUSSIAN : A VERY BRIEF INTRODUCTION (PART 2)

QUANTUM CHEMISTRY WITH GAUSSIAN : A VERY BRIEF INTRODUCTION (PART 2) QUANTUM CHEMISTRY WITH GAUSSIAN : A VERY BRIEF INTRODUCTION (PART 2) TARAS V. POGORELOV AND MIKE HALLOCK SCHOOL OF CHEMICAL SCIENCES, UIUC This tutorial continues introduction to Gaussian [2]. Here we

More information

In-System Serial Programming (ISSP) Guide

In-System Serial Programming (ISSP) Guide CY3207ISSP In-System Serial Programming (ISSP) Guide Doc. # 001-15301 Rev. *A Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): 408.943.2600 http://www.cypress.com

More information

Laboratory 3 Measuring Capacitor Discharge with the MicroBLIP

Laboratory 3 Measuring Capacitor Discharge with the MicroBLIP Laboratory 3 page 1 of 6 Laboratory 3 Measuring Capacitor Discharge with the MicroBLIP Introduction In this lab, you will use the MicroBLIP in its Data Acquisition Mode to sample the voltage over time

More information

At the end of the exam you must copy that folder onto a USB stick. Also, you must your files to the instructor.

At the end of the exam you must copy that folder onto a USB stick. Also, you must  your files to the instructor. Before you begin your work, please create a new file folder on your computer. The name of the folder should be YourLastName_YourFirstName For example, if your name is John Smith your folder should be named

More information

1 Classical Propositional Logic [20 points]

1 Classical Propositional Logic [20 points] Homework 1 Solutions 15-414/614 : Bug Catching, Spring 2014 1 Classical Propositional Logic [20 points] Let x, y and z be three propositions. (a) (8 points) Show that the two propositional formulas, (x

More information