Lab 9: Linking, I/O, and Caches
|
|
- Phoebe Hill
- 6 years ago
- Views:
Transcription
1 Lab 9: Linking, I/O, and Caches Due Date: Monday 4/24/ :59PM This lab covers material on linking, loading, I/O, and caches (lectures 20 23). There are 100 points total. Written Problems (100 points) 1. Briefly explain the role of a linker. 2. For the following code, draw a symbol table that the assembler would construct and fill it in: loop end zero number endstr.orig x3000 LD R0, zero LD R1, number BRz end ADD R0, R0, 1 ADD R1, R1, -1 BRnzp loop LEA R0, endstr PUTS HALT.FILL x0.fill x1000.stringz "I m Done" 3. Create a program on fourier named test.c and fill it with the following: #include <stdlib.h> extern int foo(); int main () { foo(); 1
2 return 0; Then run the following command: $> gcc -o test test.c What is the output of compiling? Now run the following: $> gcc -c test.c -o test.o Now what is the output? Why is it different? 4. I decide to build a new I/O subsystem for LC-3. I m going to design an I/O bus that can connect up to 256 different devices, each housed in a slot. I call it the HaleIO Bus. In this scheme, every device must expose a standard header that describes its capabilities and its accessible registers. This is called the HaleIO configuration space. The configuration space is simply an array of 16-bit values (shown below). HaleIO Header Device ID (16 bits) 0 Vendor ID (16 bits) 1 IE 2 Base Address Register (BAR) 3 Bit 15 Bit 0 Every device must specify its ID, its Vendor ID, an interrupt enable bit, and a base address register (BAR) in its config space. The interrupt enable bit (IE) allows the device to generate interrupts to the CPU. The purpose of the BAR is to tell software where the device s memory mapped registers are in memory. In other words, it contains an MMIO address. This is the base address at which software can read and write the device s registers. For example, if I have a device that has 2 registers and with a BAR value of xf778, that means I can access the device s first register at xf778 and its second register at xf779. 2
3 To allow software to read and write the config space of any device, I expose three new MMIO registers on the LC-3. The first is the device number register, DEVNUM at address xfcf8. Valid device numbers range from (these correspond to slots on the bus). The next is the offset register, DEVOFF at address xfcf9. The final register is the data register, DEVDATA at xfcfa. To read the configuration space of a device, software must put the device number in DEVNUM and specify which config space offset it wants to read in DEVOFF (in that order). The value at that offset will then be loaded by the hadrware into DEVDATA. To write a config space offset, I store a value into DEVDATA first, then specify the device number and offset the same way. The HaleIO bus specification states that reads to the config space of a slot that has no device attached will return all 0s. HaleIO Mouse Registers Reg 0 Button 2 Enable Reg 1 Button 1 Enable Reg 2 Reg 3 Wheel Sensitivity (0 100) Wheel Enable Reg 4 X/Y Coordinate Bit 15 Bit 0 I designed my first HaleIO-compliant device, a mouse. The mouse device ID is xf00d. You don t know which HaleIO slot (dev number) it s in. Write an LC-3 program that probes the HaleIO bus for the mouse. If it doesn t find it, your program will print an error using PUTS. If it does find it, you should use the mouse s MMIO registers (shown above) to enable all the buttons and the wheel, and set the wheel sensitivity to I decide to add a cache to the LC-3. It will be a direct-mapped, 1KB cache and will have a cache line size of 32 bytes. a) How many words will be stored in a single cache line? b) How many entries (cache lines) are in the cache? c) Assuming the standard LC-3 address width (16-bits), how many bits of the address must we use for the line offset (block offset), the cache index, and the tag, respectively? d) For the following piece of C code, what will the cache miss rate be with this cache? Recall that miss rate is the number of cache misses divided by the total number of memory references. int i; int a[512]; // ints are 16 bits on LC-3 for (i = 0; i < 512; i++) { x = a[i]; 3
4 e) I need to write a super fast linear algebra package for manipulating matrices, e.g. for engineering simulations. In C, we can represent matrices as multi-dimensional arrays. The C language says that such arrays will be laid out in memory in row-major order. This means, e.g. for the following matrix: [ ] a11 a A = 12 a 13 a 21 a 22 a 23 in C I can access a 23 with a[2][3] and my matrix will be laid out in memory like so: address value 0 a 11 1 a 12 2 a 13 3 a 21 4 a 22 5 a 23 I m dealing with matrices and I m trying to decide how I ll access them. The first option: int i,j; int a[512][16]; for (i = 0; i < 512; i++) { for (j = 0; j < 16; j++) { x = a[i][j]; The second option: int i,j; int a[512][16]; for (i = 0; i < 16; i++) { for (j = 0; j < 512; j++) { x = a[j][i]; // note the difference Which option is better and why? f) Memory speeds have historicaly not at all kept up with CPU speeds. What effect will that have on which choice you make above? (Remember the cache lives on the CPU). 4
5 Hand-in Instructions Make sure to put your name on your submission. Submissions without names will be given zero points! For code, this means put a comment at the top of your code file(s) with your name on it. Physical : If you re submitting a written copy, hand it to one of the TAs or to the instructor. You can also leave it in the instructor s mailbox in the CS department office, but make sure to get it time stamped when you do (see the Submitting Work section of the syllabus). Digital : If you would like to submit an electronic copy, note that I will only accept PDF files (no Word docs please). Again, see the Submitting Work section of the syllabus. Please do not take a poorly lit picture of your assignment. Your grade will suffer commensurately with our inability to read your work. Once you have a PDF, you should submit it on fourier. You should name your file yourid-lab9.pdf where yourid is the thing in front of in your address. You can first get your PDF (for example, for me it might be called kh123-lab9.pdf) onto fourier like so: [me@mylocalmachine]$ scp kh123-lab9.pdf kh123@fourier.cs.iit.edu: Then you can login to fourier via ssh and submit it: [kh123@fourier]$ cp kh123-lab9.pdf /home/khale/handin/lab9 Late handins If you re turning in your assignment late digitally, you ll need to me your PDF file directly. 5
CpSc 1111 Lab 9 2-D Arrays
CpSc 1111 Lab 9 2-D Arrays Overview This week, you will gain some experience with 2-dimensional arrays, using loops to do the following: initialize a 2-D array with data from an input file print out the
More informationECE Lab 8. Logic Design for a Direct-Mapped Cache. To understand the function and design of a direct-mapped memory cache.
ECE 201 - Lab 8 Logic Design for a Direct-Mapped Cache PURPOSE To understand the function and design of a direct-mapped memory cache. EQUIPMENT Simulation Software REQUIREMENTS Electronic copy of your
More informationYour submitted proj3.c must compile and run on linprog as in the following example:
CDA3101 Project 3: Cache Simulator Due 8/3 I. Purpose The purpose of this project is to exercise your understanding of caches of various sizes and configurations, as well as the write policies of write-through
More informationFinal Project: LC-3 Simulator
Final Project: LC-3 Simulator Due Date: Friday 4/27/2018 11:59PM; No late handins This is the final project for this course. It is a simulator for LC-3 computer from the Patt and Patel book. As you work
More informationHigh Performance Computing and Programming, Lecture 3
High Performance Computing and Programming, Lecture 3 Memory usage and some other things Ali Dorostkar Division of Scientific Computing, Department of Information Technology, Uppsala University, Sweden
More informationLab 1 Part 1: Introduction to CUDA
Lab 1 Part 1: Introduction to CUDA Code tarball: lab1.tgz In this hands-on lab, you will learn to use CUDA to program a GPU. The lab can be conducted on the SSSU Fermi Blade (M2050) or NCSA Forge using
More informationMemory, Data, & Addressing I
Memory, Data, & Addressing I CSE 351 Autumn 2017 Instructor: Justin Hsia Teaching Assistants: Lucas Wotton Michael Zhang Parker DeWilde Ryan Wong Sam Gehman Sam Wolfson Savanna Yee Vinny Palaniappan http://xkcd.com/953/
More informationIntroduction to Computer Systems
CS-213 Introduction to Computer Systems Yan Chen Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F 06 Teaching staff Instructor TA Prof. Yan Chen (Thu 2-4pm, Tech
More informationSpring 2017 :: CSE 506. Device Programming. Nima Honarmand
Device Programming Nima Honarmand read/write interrupt read/write Spring 2017 :: CSE 506 Device Interface (Logical View) Device Interface Components: Device registers Device Memory DMA buffers Interrupt
More informationCS 135, Fall 2010 Project 4: Code Optimization Assigned: November 30th, 2010 Due: December 12,, 2010, 12noon
CS 135, Fall 2010 Project 4: Code Optimization Assigned: November 30th, 2010 Due: December 12,, 2010, 12noon 1 Introduction This assignment deals with optimizing memory intensive code. Image processing
More informationOregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011
Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Spring 2011 Outline Using Secure Shell Clients GCC Some Examples Intro to C * * Windows File transfer client:
More informationAgenda. Cache-Memory Consistency? (1/2) 7/14/2011. New-School Machine Structures (It s a bit more complicated!)
7/4/ CS 6C: Great Ideas in Computer Architecture (Machine Structures) Caches II Instructor: Michael Greenbaum New-School Machine Structures (It s a bit more complicated!) Parallel Requests Assigned to
More informationIntroduction to Computer Systems
Introduction to Computer Systems Today: Welcome to EECS 213 Lecture topics and assignments Next time: Bits & bytes and some Boolean algebra Fabián E. Bustamante, Spring 2010 Welcome to Intro. to Computer
More informationLab 5: SDC Virtual Machine
Lab 5: SDC Virtual Machine Due Date: Thursday 3/9/2017 11:59PM This lab covers the material in lectures 10-12. You will be creating a virtual (software-based) implementation of a basic, decimal-based Von
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 informationECE 2300 Digital Logic & Computer Organization. More Caches Measuring Performance
ECE 23 Digital Logic & Computer Organization Spring 28 More s Measuring Performance Announcements HW7 due tomorrow :59pm Prelab 5(c) due Saturday 3pm Lab 6 (last one) released HW8 (last one) to be released
More informationGeneral Instructions. You can use QtSpim simulator to work on these assignments.
General Instructions You can use QtSpim simulator to work on these assignments. Only one member of each group has to submit the assignment. Please Make sure that there is no duplicate submission from your
More informationYour submitted proj3.c must compile and run on linprog as in the following example:
CDA3101 Project 3: Cache Simulator Due 12/7 I. Purpose The purpose of this project is to exercise your understanding of caches of various sizes and configurations, as well as the write policies of write-through
More informationAssignment Tutorial.
Assignment Tutorial rudolf.lam@mail.mcgill.ca What we are looking at today Overview Demo Why Motivation for this lecture on assignment How The way the assignment is run What The components of the assignment
More informationLogistics. IIT CS 350 S '17 - Hale
Logistics Remember: Lab 5 due next week not this week. Finish it early though so you can move on to Lab 6! Lab 2 grades in BB Required reading posted (Patt & Patel Ch. 5) First exam during class next Wednesday
More informationECE 206, Fall 2001: Lab 3
ECE 206, : Lab 3 Data Movement Instructions Learning Objectives This lab will give you practice with a number of LC-2 programming constructs. In particular you will cover the following topics: - Load/store
More informationCS399 New Beginnings. Jonathan Walpole
CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,
More informationChris Riesbeck, Fall Introduction to Computer Systems
Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck
More informationECE/CS 252 Fall 2011 Homework 7 (25 points) // Due in Lecture on Nov. 30, 2011 (Wed)
ECE/CS 252 Fall 2011 Homework 7 (25 points) // Due in Lecture on v. 30, 2011 (Wed) Instructions: 1. Do this homework in groups. Individual homework will be penalized. Hand in one copy per group. 2. You
More informationELE 758 * DIGITAL SYSTEMS ENGINEERING * MIDTERM TEST * Circle the memory type based on electrically re-chargeable elements
ELE 758 * DIGITAL SYSTEMS ENGINEERING * MIDTERM TEST * Student name: Date: Example 1 Section: Memory hierarchy (SRAM, DRAM) Question # 1.1 Circle the memory type based on electrically re-chargeable elements
More informationUW CSE 351, Winter 2013 Final Exam
Full Name: Student ID #: UW CSE 351, Winter 2013 Final Exam March 20, 2013 2:30pm - 4:20pm Instructions: Write your full name and UW student ID number on the front of the exam. When the exam begins, make
More informationFaculty of Science FINAL EXAMINATION
Faculty of Science FINAL EXAMINATION COMPUTER SCIENCE COMP 273 INTRODUCTION TO COMPUTER SYSTEMS Examiner: Prof. Michael Langer April 18, 2012 Associate Examiner: Mr. Joseph Vybihal 2 P.M. 5 P.M. STUDENT
More informationIntroduction to Computer Systems
Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer
More informationCpSc 1111 Lab 6 Conditional Statements, Loops, the Math Library, and Random Numbers What s the Point?
CpSc 1111 Lab 6 Conditional Statements, Loops, the Math Library, and Random Numbers What s the Point? Overview For this lab, you will use: one or more of the conditional statements explained below scanf()
More informationCarnegie Mellon. Cache Lab. Recitation 7: Oct 11 th, 2016
1 Cache Lab Recitation 7: Oct 11 th, 2016 2 Outline Memory organization Caching Different types of locality Cache organization Cache lab Part (a) Building Cache Simulator Part (b) Efficient Matrix Transpose
More informationFigure 1: Organisation for 128KB Direct Mapped Cache with 16-word Block Size and Word Addressable
Tutorial 12: Cache Problem 1: Direct Mapped Cache Consider a 128KB of data in a direct-mapped cache with 16 word blocks. Determine the size of the tag, index and offset fields if a 32-bit architecture
More informationCS 356, Fall 2018 Data Lab (Part 2): Manipulating Bits Due: Mon, Sep. 17, 11:59PM
CS 356, Fall 2018 Data Lab (Part 2): Manipulating Bits Due: Mon, Sep. 17, 11:59PM 1 Introduction This second part of the data lab continues on bit-level manipulations and 2 s complement arithmetic as well
More informationCOS 318: Operating Systems
COS 318: Operating Systems Overview Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Important Times Lectures 9/20 Lecture is here Other lectures in
More informationStructured Programming
CS 170 Java Programming 1 Objects and Variables A Little More History, Variables and Assignment, Objects, Classes, and Methods Structured Programming Ideas about how programs should be organized Functionally
More informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Fall 2014 Lab #4: Sequential Design: Counters Issued Wed 9/10/14; Due Wed 9/17/14 (11:59pm) This lab assignment
More informationCode Generation. CS 1622: Code Generation & Register Allocation. Arrays. Why is Code Generation Hard? Multidimensional Arrays. Array Element Address
Code Generation CS 1622: Code Generation & Register Allocation Input: Intermediate representation Output: Target code Example: cond_expr if-statement stmt_list L1: slti $t1, 3, $s0 beq $t1, $zero, L1 addi
More informationSubmission instructions (read carefully): SS17 / Assignment 4 Instructor: Markus Püschel. ETH Zurich
263-2300-00: How To Write Fast Numerical Code Assignment 4: 120 points Due Date: Th, April 13th, 17:00 http://www.inf.ethz.ch/personal/markusp/teaching/263-2300-eth-spring17/course.html Questions: fastcode@lists.inf.ethz.ch
More informationCS150 Assignment 7 DNA!
CS150 Assignment 7 DNA! Date assigned: Monday, November 17, 2008 Design Documents Due: Friday, November 21, 2008, 1pm (5 points) Date due: Tuesday, December 2, 2008, 5pm (55 points) Total points: 60pts
More informationCS 051 Homework Laboratory #2
CS 051 Homework Laboratory #2 Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing many students have to figure out for the first time when they come to college is how
More informationCompSci 125 Lecture 02
Assignments CompSci 125 Lecture 02 Java and Java Programming with Eclipse! Homework:! http://coen.boisestate.edu/jconrad/compsci-125-homework! hw1 due Jan 28 (MW), 29 (TuTh)! Programming:! http://coen.boisestate.edu/jconrad/cs125-programming-assignments!
More informationIntroduction to Computer Systems
Introduction to Computer Systems Web Page http://pdinda.org/ics Syllabus See the web page for more information. Class discussions are on Piazza We will make only minimal use of Canvas (grade reports, perhaps
More informationPhysics 2660: Fundamentals of Scientific Computing. Lecture 3 Instructor: Prof. Chris Neu
Physics 2660: Fundamentals of Scientific Computing Lecture 3 Instructor: Prof. Chris Neu (chris.neu@virginia.edu) Announcements Weekly readings will be assigned and available through the class wiki home
More informationData III & Integers I
Data III & Integers I CSE 351 Autumn 2018 Instructor: Justin Hsia Teaching Assistants: Akshat Aggarwal An Wang Andrew Hu Brian Dai Britt Henderson James Shin Kevin Bi Kory Watson Riley Germundson Sophie
More informationCS 2505 Fall 2013 Data Lab: Manipulating Bits Assigned: November 20 Due: Friday December 13, 11:59PM Ends: Friday December 13, 11:59PM
CS 2505 Fall 2013 Data Lab: Manipulating Bits Assigned: November 20 Due: Friday December 13, 11:59PM Ends: Friday December 13, 11:59PM 1 Introduction The purpose of this assignment is to become more familiar
More information- b: size of block in bytes. - s: number of sets in the cache (or total number of sets between split caches). - n: associativity of cache.
CDA3101 Project 3: Cache Simulator (Graduate Version) Due 8/1 I. Purpose The purpose of this project is to exercise your understanding of caches of various sizes and configurations, as well as the write
More informationCS 177. Lists and Matrices. Week 8
CS 177 Lists and Matrices Week 8 1 Announcements Project 2 due on 7 th March, 2015 at 11.59 pm Table of Contents Lists Matrices Traversing a Matrix Construction of Matrices 3 Just a list of numbers 1D
More informationCode Generation. Lecture 12
Code Generation Lecture 12 1 Lecture Outline Topic 1: Basic Code Generation The MIPS assembly language A simple source language Stack-machine implementation of the simple language Topic 2: Code Generation
More informationWelcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Winter 2018
Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Winter 2018 Ziad Matni Dept. of Computer Science, UCSB A Word About Registration for CS64 FOR
More informationMemory Management - Demand Paging and Multi-level Page Tables
Memory Management - Demand Paging and Multi-level Page Tables CS 416: Operating Systems Design, Spring 2011 Department of Computer Science Rutgers Sakai: 01:198:416 Sp11 (https://sakai.rutgers.edu) Topics
More informationMenu. Class 1: Introduction. Staff. Course Structure and Expectations. Contacting Us. Contacting You
Fall 2006 Class 1: Introduction CS333: Computer University of Virginia Computer Science Michele Co Menu Course Structure Course Goals First Assignment Course Admin (add class/change section) 2 Course Structure
More informationProblem Solving in C. Stepwise Refinement. ...but can stop refining at a higher level of abstraction. Same basic constructs. as covered in Chapter 6
Problem Solving in C Stepwise Refinement as covered in Chapter 6...but can stop refining at a higher level of abstraction. Same basic constructs Sequential -- C statements Conditional -- if-else, switch
More informationLecture 2. Memory locality optimizations Address space organization
Lecture 2 Memory locality optimizations Address space organization Announcements Office hours in EBU3B Room 3244 Mondays 3.00 to 4.00pm; Thurs 2:00pm-3:30pm Partners XSED Portal accounts Log in to Lilliput
More informationME 1403 Engineering Practice & Graphics Spring Lecture 1. Instructor: Syed Hasib Akhter Faruqui.
ME 1403 Engineering Practice & Graphics Spring 2018 Lecture 1 Instructor: Syed Hasib Akhter Faruqui Email: shafnehal@gmail.com Outline Engineering CAD Software s What is Solidworks? Text Book Rules and
More informationCS 3330 Introduction. Daniel and Charles. CS 3330 Computer Architecture 1
CS 3330 Introduction Daniel and Charles CS 3330 Computer Architecture 1 lecturers Charles and I will be splitting lectures same(ish) lecture in each section Grading Take Home Quizzes: 10% (10% dropped)
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #23 Cache I 2007-8-2 Scott Beamer, Instructor CS61C L23 Caches I (1) The Big Picture Computer Processor (active) Control ( brain ) Datapath
More informationEECS150 Lab Lecture 5 Introduction to the Project
EECS150 Lab Lecture 5 Introduction to the Project Ian Juch Electrical Engineering and Computer Sciences University of California, Berkeley 9/28/2012 1 Note on Lab4 You should augment the testbenches we
More informationMemory Hierarchy. Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3. Instructor: Joanna Klukowska
Memory Hierarchy Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3 Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O Hallaron (CMU) Mohamed Zahran (NYU)
More information2/2/11. Administrative. L6: Memory Hierarchy Optimization IV, Bandwidth Optimization. Project Proposal (due 3/9) Faculty Project Suggestions
Administrative L6: Memory Hierarchy Optimization IV, Bandwidth Optimization Next assignment available Goals of assignment: simple memory hierarchy management block-thread decomposition tradeoff Due Tuesday,
More informationECE 448 Lecture 9. Bare Metal System Software Development
ECE 448 Lecture 9 Bare Metal System Software Development ECE 448 FPGA and ASIC Design with VHDL George Mason University Required Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 9, Bare Metal
More informationECE331 Homework 4. Due Monday, August 13, 2018 (via Moodle)
ECE331 Homework 4 Due Monday, August 13, 2018 (via Moodle) 1. Below is a list of 32-bit memory address references, given as hexadecimal byte addresses. The memory accesses are all reads and they occur
More informationBASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition
BASIC COMPUTER ORGANIZATION Silberschatz, Galvin and Gagne 2009 Topics CPU Structure Registers Memory Hierarchy (L1/L2/L3/RAM) Machine Language Assembly Language Running Process 3.2 Silberschatz, Galvin
More informationCS 2316 Homework 9a Login Due: Friday, November 2nd, before 11:55 PM Out of 100 points. Premise
CS 2316 Homework 9a Login Due: Friday, November 2nd, before 11:55 PM Out of 100 points Files to submit: 1. HW9.py This is an INDIVIDUAL assignment! Collaboration at a reasonable level will not result in
More informationMemory Hierarchy. Cache Memory Organization and Access. General Cache Concept. Example Memory Hierarchy Smaller, faster,
Memory Hierarchy Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3 Cache Memory Organization and Access Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O
More informationLecture 5: Multidimensional Arrays. Wednesday, 11 February 2009
Lecture 5: Multidimensional Arrays CS209 : Algorithms and Scientific Computing Wednesday, 11 February 2009 CS209 Lecture 5: Multidimensional Arrays 1/20 In today lecture... 1 Let s recall... 2 Multidimensional
More informationCPE 631 Advanced Computer Systems Architecture: Homework #2
CPE 631 Advanced Computer Systems Architecture: Homework #2 Issued: 02/01/2006 Due: 02/15/2006 Q#1. (30 points) Evaluate effectiveness of blocking optimization for matrix multiplication on SRx machines.
More informationQuick Start Manual for Mechanical TA
Quick Start Manual for Mechanical TA Chris Thornton cwthornt@cs.ubc.ca August 18, 2013 Contents 1 Quick Install 1 2 Creating Courses 2 3 User Management 2 4 Assignment Management 3 4.1 Peer Review Assignment
More informationCpSc 1111 Lab 4 Part a Flow Control, Branching, and Formatting
CpSc 1111 Lab 4 Part a Flow Control, Branching, and Formatting Your factors.c and multtable.c files are due by Wednesday, 11:59 pm, to be submitted on the SoC handin page at http://handin.cs.clemson.edu.
More informationENGR 3950U / CSCI 3020U (Operating Systems) Simulated UNIX File System Project Instructor: Dr. Kamran Sartipi
ENGR 3950U / CSCI 3020U (Operating Systems) Simulated UNIX File System Project Instructor: Dr. Kamran Sartipi Your project is to implement a simple file system using C language. The final version of your
More informationCPSC 213. Introduction to Computer Systems. Introduction. Unit 0
CPSC 213 Introduction to Computer Systems Unit Introduction 1 Overview of the course Hardware context of a single executing program hardware context is CPU and Main Memory develop CPU architecture to implement
More informationME 333: Introduction to Mechatronics
ME 333: Introduction to Mechatronics Assignment 3: Investigating the PIC C32 Tool Suite Electronic submission due before 11:00 AM on Thursday February 2nd All questions asked in this problem set must be
More informationCpSc 1111 Lab 5 Formatting and Flow Control
CpSc 1111 Lab 5 Formatting and Flow Control Overview By the end of the lab, you will be able to: use fscanf() to accept a character input from the user execute a basic block iteratively using loops to
More informationENCM 501 Winter 2017 Assignment 3 for the Week of January 30
page 1 of 7 ENCM 501 Winter 2017 Assignment 3 for the Week of January 30 Steve Norman Department of Electrical & Computer Engineering University of Calgary January 2017 Assignment instructions and other
More informationUW CSE 351, Winter 2013 Midterm Exam
Full Name: Student ID: UW CSE 351, Winter 2013 Midterm Exam February 15, 2013 Instructions: Make sure that your exam is not missing any of the 9 pages, then write your full name and UW student ID on the
More informationEECE.2160: ECE Application Programming
Spring 2018 Programming Assignment #10: Instruction Decoding and File I/O Due Wednesday, 5/9/18, 11:59:59 PM (Extra credit ( 4 pts on final average), no late submissions or resubmissions) 1. Introduction
More informationComputer Systems C S Cynthia Lee Today s materials adapted from Kevin Webb at Swarthmore College
Computer Systems C S 0 7 Cynthia Lee Today s materials adapted from Kevin Webb at Swarthmore College 2 Today s Topics TODAY S LECTURE: Caching ANNOUNCEMENTS: Assign6 & Assign7 due Friday! 6 & 7 NO late
More informationCSC 220: Computer Organization Unit 12 CPU programming
College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 12 CPU programming 1 Instruction set architectures Last time we built a simple, but complete,
More informationLab 03 - x86-64: atoi
CSCI0330 Intro Computer Systems Doeppner Lab 03 - x86-64: atoi Due: October 1, 2017 at 4pm 1 Introduction 1 2 Assignment 1 2.1 Algorithm 2 3 Assembling and Testing 3 3.1 A Text Editor, Makefile, and gdb
More informationCSE351: Memory, Data, & Addressing I
CSE351: Memory, Data, & Addressing I CSE 351 Spring 2017 Instructor: Ruth Anderson Teaching Assistants: Dylan Johnson Kevin Bi Linxing Preston Jiang Cody Ohlsen Yufang Sun Joshua Curtis http://xkcd.com/138/
More informationMemory. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University
Memory Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Building a Processor memory inst register file alu PC +4 +4 new pc offset target imm control extend =? cmp
More informationAE Computer Programming for Aerospace Engineers
AE 030 - Computer Programming for Aerospace Engineers Instructor Information: Credit: Professor Long Lu Long.Lu@sjsu.edu 2 units Class Times & Locations: Section 01 (Lecture): M 16:30-17:20 in CL 226 Section
More informationCS355 Hw 4. Interface. Due by the end of day Tuesday, March 20.
Due by the end of day Tuesday, March 20. CS355 Hw 4 User-level Threads You will write a library to support multiple threads within a single Linux process. This is a user-level thread library because the
More information6.S096 Lecture 2 Subtleties of C
6.S096 Lecture 2 Subtleties of C Data structures and Floating-point arithmetic Andre Kessler January 10, 2014 Andre Kessler 6.S096 Lecture 2 Subtleties of C January 10, 2014 1 / 17 Outline 1 Memory Model
More informationPhysics 2660: Fundamentals of Scientific Computing. Lecture 7 Instructor: Prof. Chris Neu
Physics 2660: Fundamentals of Scientific Computing Lecture 7 Instructor: Prof. Chris Neu (chris.neu@virginia.edu) Reminder HW06 due Thursday 15 March electronically by noon HW grades are starting to appear!
More informationBinghamton University. CS-120 Summer LC3 Memory. Text: Introduction to Computer Systems : Sections 5.1.1, 5.3
LC3 Memory Text: Introduction to Computer Systems : Sections 5.1.1, 5.3 John Von Neumann (1903-1957) Princeton / Institute for Advanced Studies Need to compute particle interactions during a nuclear reaction
More informationSlide Set 9. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng
Slide Set 9 for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary March 2018 ENCM 369 Winter 2018 Section 01
More informationCIT 593: Intro to Computer Systems Homework #4: Assembly Language Due October 18, 2012, 4:30pm. Name
CIT 593: Intro to Computer Systems Homework #4: Assembly Language Due October 18, 2012, 4:30pm Instructions You may print this document and write your answers here, or submit solutions on a separate piece
More informationCentral Washington University Department of Computer Science Course Syllabus
Central Washington University Department of Computer Science Course Syllabus CS 110: Programming Fundamentals I December 27, 2015 1 Course Information Course Information Lecture: Mo,Tu,We: 10:00AM - 10:50AM,
More informationCS 326: Operating Systems. Lecture 1
CS 326: Operating Systems Lecture 1 Welcome to CS 326! Glad to have you all in class! Lecture Information: Time: T, Th 9:55 11:40am Lab: M 4:45 6:20pm Room: LS G12 Course website: http://www.cs.usfca.edu/~mmalensek/cs326
More informationProblem Max Points Score Total 100
University of California, Berkeley College of Engineering Computer Science Division EECS Fall 2011 Anthony D. Joseph and Ion Stoica Final Exam December 15, 2011 CS162 Operating Systems Your Name: SID AND
More informationCpSc 1011 Lab 4 Formatting and Flow Control Windchill Temps
CpSc 1011 Lab 4 Formatting and Flow Control Windchill Temps Overview By the end of the lab, you will be able to: use fscanf() to accept inputs from the user and use fprint() for print statements to the
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Introduction o Instructor of Section 002 Dr. Yue Cheng (web: cs.gmu.edu/~yuecheng) Email: yuecheng@gmu.edu Office: 5324 Engineering
More informationCS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14
CS 134 Operating Systems April 8, 2013 Lecture 20 Input/Output Instructor: Neil Rhodes Hardware How hardware works Operating system layer What the kernel does API What the programmer does Overview 2 kinds
More informationCS 101, Mock Computer Architecture
CS 101, Mock Computer Architecture Computer organization and architecture refers to the actual hardware used to construct the computer, and the way that the hardware operates both physically and logically
More informationTemple University Computer Science Programming Under the Linux Operating System January 2017
Temple University Computer Science Programming Under the Linux Operating System January 2017 Here are the Linux commands you need to know to get started with Lab 1, and all subsequent labs as well. These
More informationSolution : mov R0, mov R3,0 mov R4,31 movu R2,0x0001 mov R5,0 andu R1,R0,0xffff
Q4. Write an ARM assembly program that checks if a 32-bit number is a palindrome. Assume that the input is available in r 3. The program should set r 4 to 1 if it is a palindrome, otherwise r 4 should
More informationCaches III. CSE 351 Winter Instructor: Mark Wyse
Caches III CSE 351 Winter 2018 Instructor: Mark Wyse Teaching Assistants: Kevin Bi Parker DeWilde Emily Furst Sarah House Waylon Huang Vinny Palaniappan https://what-if.xkcd.com/111/ Administrative Midterm
More informationCS 240 Stage 3 Abstractions for Practical Systems
CS 240 Stage 3 Abstractions for Practical Systems Caching and the memory hierarchy Operating systems and the process model Virtual memory Dynamic memory allocation Victory lap Memory Hierarchy: Cache Memory
More informationCS 113: Introduction to
CS 113: Introduction to Course information MWF 12:20-1:10pm 1/21-2/15, 306 Hollister Hall Add/drop deadline: 1/28 C Instructor: David Crandall See website for office hours and contact information Prerequisites
More informationWelcome to Computer Organization and Design Logic
Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Fall 2018 Ziad Matni, Ph.D. Dept. of Computer Science, UCSB A Word About Registration for CS64
More informationHow to Write Fast Numerical Code Spring 2011 Lecture 7. Instructor: Markus Püschel TA: Georg Ofenbeck
How to Write Fast Numerical Code Spring 2011 Lecture 7 Instructor: Markus Püschel TA: Georg Ofenbeck Last Time: Locality Temporal and Spatial memory memory Last Time: Reuse FFT: O(log(n)) reuse MMM: O(n)
More information