Introduction to Computer Systems COMP-273 Assignment #1 Due: September 24, 2009 on Web CT at 23:55

Size: px
Start display at page:

Download "Introduction to Computer Systems COMP-273 Assignment #1 Due: September 24, 2009 on Web CT at 23:55"

Transcription

1 Introduction to Computer Systems COMP-273 Assignment #1 Due: September 24, 2009 on Web CT at 23:55 The purpose of this first assignment is to develop the fundamental skills needed when constructing solutions to more advanced problems in circuits and assembler programming. Question 1: LOGISIM (2 points) For the circuit assignments and the mini-project you will be asked to build logical circuits using the LOGISIM simulator. This useful simulator not only helps you draw pretty circuit diagrams but it also executes them. You can actually watch them run to completion graphically. This will both help you and the TA validate the correctness of your circuits. All your circuits must be validated in this way for you to receive full marks. There is a link to the LOGISIM program on the course web page. You can get there through WEB CT in the following way: WEB CT Select COMP273 Select Course Information on the right hand side will be a link to the LOGISIM JAR file. Download that file and then double click it to run it. It is programmed in JAVA so it should just run when you double click the JAR file, assuming you have Java installed on your computer. Most computers come with Java already installed. This question wants you to do the following: 1. Download LOGISIM 2. Run LOGISIM's tutorial 1. Go to the help menu 2. Select tutorial (it will pop-up a 4 step Beginner's Tutorial ) 3. Construct the Beginner's Tutorial circuit 4. Save this circuit in a file called BEGINNER. 5. Upload this file to WEB CT as your answer. Question 2: Exploring Memory (5 points) In this question, I am asking you to draw a circuit diagram using the elementary registers and gates we covered in class. When making circuit diagrams wires must interconnect all the registers and gates. These connections allow the desired logic and functionality to occur at the physical level. Use LOGISIM to create the following circuit diagram: I would like you to design a partial 4-byte RAM memory system. Page 1 of 5

2 To make things simpler, assume that we are only creating the circuitry for retrieving bytes of information that are already in RAM. Do not consider how the data will get into your 4-byte RAM. You can optionally use LOGISIM's black box feature to help you simplify the diagram, but you must create the black box yourself do not use the pre-built ones from LOGISIM. You are only permitted to use one LOGISIM black box, the BIT. They can be found in the program at: Project Load Library Built In Libraries. BIT is called a FLIP FLOP and it can be found in the MEMORY library. You can use any FLIP FLOP model. (Actually, take some time and look around at all the pre-built stuff but don't get tempted to use any of them, except for the flip-flops) A black box is a mini circuit diagram. LOGISIM lets you create these. They help make your diagrams simpler to read. When you create a black box LOGISIM will only display a picture of a square on the screen with input and output wire/terminals protruding out from the box. The mini circuit is assumed to be contained in the square. The input/output terminals connect to the input/output wires in your mini circuit. As I said, black boxes are optional and do not effect your mark, but you may find it useful. Save the LOGISIM circuit diagram in a file called RAM. This is what you will upload to WEB CT. Your partial RAM will be composed of the following things: 4-bytes of memory (where each byte is addressable independently). Do not draw the circuitry for the bits. Use LOGISIM's black box that defines a single BIT. Group these bits together into your own byte construction. A 2-bit address register (that when loaded with an address will activate that byte in memory). Do not include circuitry for how this register receives its address. Only provide circuitry from that register to RAM. LOGISIM lets you input values directly into flip-flops. Do this for your address register when testing. An 8-bit data register (that will receive the byte from RAM addressed by the address register) A 1-bit status register (when set to 0 no data is sent to the data register but when set to 1 data is put into the data register) You do not need to assume a clock wire. The simulator will automatically do this for you. Your address register uses binary numbers to address RAM. This means that if the address register is loaded with the binary number zero then the first byte of RAM is addressed and its data exits to the data register if and only if the status register is set to 1. And so on until the binary number 3 is put into the address register to address the last byte of RAM. Page 2 of 5

3 Question 3: Assembler (4 points) A friend of yours has come to you for help. They attempted to write an assembler program to solve the following equation: x = (x + y) - 10 * y. They initialized x and y with the integer numbers 50 and -2 respectively. Assuming the assembler language they used has the following 32-bit instruction format: OPCODE DESTINATION ARG1 ARG2 Where: OPCODE is 4 bits, DESTINATION is an 8-bit address, ARG1 is an 8-bit address (optional argument) and ARG2 is either an 8-bit address or a 12-bit binary integer constant and the following language chart: INSTRUCTION MNEMONIC OPCODE SYNTAX Add with constant addi 0000 nnnnnnnn nnnnnnnn cccccccccccc Add with variables add 0001 nnnnnnnn nnnnnnnn nnnnnnnnxxxx Subtract with constant subi 0010 nnnnnnnn nnnnnnnn cccccccccccc Subtract with variables sub 0011 nnnnnnnn nnnnnnnn nnnnnnnnxxxx Mult with constant muli 0100 nnnnnnnn nnnnnnnn cccccccccccc Mult with variables mul 0101 nnnnnnnn nnnnnnnn nnnnnnnnxxxx Define a constant def 1000 nnnnnnnn xxxxxxxx cccccccccccc Where: n is a binary integer address number (represents address of variable) c is a binary 2's compliment capable integer number (c for constant) x that bit is not being used This is the code that does not work: ADDRESS BINARY Page 3 of 5

4 Do the following for this questions: 1. Convert your friend's assembler program from Binary to Mnemonics (for example add x y z is x = y + z, or addi x y 10 is x = y + 10 ). 2. State, in English or French, what he/she did wrong 3. Using Mnemonics rewrite the program correctly 4. Now convert your Mnemonic to binary (as your imaginary friend did for you, above) Question 4: Data Representation (4 marks) A standard computer modem requires specific code sequences that cause it to behave in the manner the programmer desires. Modems have three special registers. There is an 8- bit data register. This register contains the byte of data the modem either transmits or it contains the byte of data the modem received. Modems also have a command register. The command register is used to control the modem. Depending on the code placed in that register the modem performs an operation. The operation is executed by the modem immediately (ie. As soon as the command register receives a code it is executed). Finally the modem has a status register. This register is set by the modem itself. It contains information about the state of the modem. Programmers read the status register, write to the command register and either read or write to the data register depending on what they want to do at that moment. Assume the following: The status register is 8 bits long and records the following information: o Bit 1 = 1 if modem is connected to network, zero otherwise o Bit 2 = 1 if modem has timed-out, zero otherwise o Bit 3 = 1 if data was just received, zero otherwise o Bit 4 = 1 if transmitted data failed, zero otherwise o Bit 5-7 = binary number indicating the speed of the modem, zero if off o Bit 8 = 1 if an unknown error occurred, zero otherwise The 16-bit command register is assigned binary integer numbers: o Integer 1 (in binary) = hang up o Integer 2 (in binary) = connect o Integer 5 (in binary) = send data o Integer 6 (in binary) = wait for data o Integer 64, 1024, 2048 (in binary) = different modem speeds In binary, make an ordered list of what you would place in each register for each step as described below (Indicate the step number and which register or registers are being set, and in binary the contents of those registers. In the case of the status register also indicate the bit-arithmetic used to extract the information you want). Do the following: Page 4 of 5

5 1. Set the modem speed to Connect to network 3. Verify that you connected 4. Send the following message SOS 5. Check if the transmission failed or timed out 6. Wait for any one character reply 7. Hang up Note that when testing the status register more than one bit can be accessed. You cannot assume that the bit you are interested in is the only one set. Instead, you need to use boolean logic AND, OR, NOT, XOR bit operations to extract the bits you are interested in. Make sure to show how you did this. Question 5: Circuit Two (5 Marks) Assume you have an application that requires you to design a circuit that receives as input a 2-bit integer number (00, 01, 10, 11) and must output a 2-bit integer number that is one less but wraps around the number sequence. In other words: INPUT OUTPUT Notice that 1 goes to zero, 2 goes to 1, 3 goes to 2 and 0 raps around to 3. Draw and validate this circuit using LOGISIM. Save the file as CIRCUIT2. ASSIGNMENT SUBMISSION INSTRUCTIONS Submit your solution to Web CT before the due date 5% is removed for each day late up to 2 days at which time the submission box closes Please submit your assignment in electronic form. The circuit diagrams must be in LOGISIM while text can be in PDF, RTF or TXT file formats. If you have a large number of files (more than 5), to make things easier for the TA, ZIP all you files into one ZIP file. GRADING INSTRUCTIONS This assignment is worth a total of 20 points The breakdown is stated on each question Each question is graded by an even distribution of points. In other words, if your question is 50% correct you get 50% of the marks. Page 5 of 5

Basic Von Neumann Designs

Basic Von Neumann Designs COMP 273 Assignment #2 Part One Due: Monday October 12, 2009 at 23:55 on Web CT Mini-Project Due: Monday November 9, 2009 at 23:55 on Web CT Basic Von Neumann Designs This assignment is divided into two

More information

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating

More information

Unit 2: Data Storage CS 101, Fall 2018

Unit 2: Data Storage CS 101, Fall 2018 Unit 2: Data Storage CS 101, Fall 2018 Learning Objectives After completing this unit, you should be able to: Evaluate digital circuits that use AND, OR, XOR, and NOT. Convert binary integers to/from decimal,

More information

ASSIGNMENT ECE514 (COMPUTER ORGANIZATION) ASSIGNMENT NO. 3

ASSIGNMENT ECE514 (COMPUTER ORGANIZATION) ASSIGNMENT NO. 3 ASSIGNMENT ECE514 (COMPUTER ORGANIZATION) ASSIGNMENT NO. 3 This is an individual assignment for ECE514. It carries a mark of 10%. The rubric of marks is given in Appendix 3. This assignment is about designing

More information

COMP 303 MIPS Processor Design Project 3: Simple Execution Loop

COMP 303 MIPS Processor Design Project 3: Simple Execution Loop COMP 303 MIPS Processor Design Project 3: Simple Execution Loop Due date: November 20, 23:59 Overview: In the first three projects for COMP 303, you will design and implement a subset of the MIPS32 architecture

More information

ARM 64-bit Register File

ARM 64-bit Register File ARM 64-bit Register File Introduction: In this class we will develop and simulate a simple, pipelined ARM microprocessor. Labs #1 & #2 build some basic components of the processor, then labs #3 and #4

More information

CSE 141L Computer Architecture Lab Fall Lecture 3

CSE 141L Computer Architecture Lab Fall Lecture 3 CSE 141L Computer Architecture Lab Fall 2005 Lecture 3 Pramod V. Argade November 1, 2005 Fall 2005 CSE 141L Course Schedule Lecture # Date Day Lecture Topic Lab Due 1 9/27 Tuesday No Class 2 10/4 Tuesday

More information

Faculty of Science FINAL EXAMINATION

Faculty 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 information

Register Transfer and Micro-operations

Register Transfer and Micro-operations Register Transfer Language Register Transfer Bus Memory Transfer Micro-operations Some Application of Logic Micro Operations Register Transfer and Micro-operations Learning Objectives After reading this

More information

Introduction to Digital Logic Using Logisim

Introduction to Digital Logic Using Logisim Introduction to Digital Logic Using Logisim Gates, Plexers, Decoders, Registers, Addition and Comparison Autumn 2010 Uppsala University karl.marklund@it.uu.se ...open up a command shell and type logisim

More information

Combinational Logic II

Combinational Logic II Combinational Logic II Ranga Rodrigo July 26, 2009 1 Binary Adder-Subtractor Digital computers perform variety of information processing tasks. Among the functions encountered are the various arithmetic

More information

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators JAVA Standard Edition Java - Basic Operators Java provides a rich set of operators to manipulate variables.

More information

--------------------------------------------------------------------------------------------------------------------- 1. Objectives: Using the Logisim simulator Designing and testing a Pipelined 16-bit

More information

Lab #9: Introduction to Logisim CS 0447/COE 0147: Spring 2012

Lab #9: Introduction to Logisim CS 0447/COE 0147: Spring 2012 Lab #9: Introduction to Logisim CS 0447/COE 0147: Spring 2012 You have 2 weeks to do this lab, as always. Each of you should submit your own solution according to the instructions at your TA's website.

More information

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT UNIT-III 1 KNREDDY UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT Register Transfer: Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Micro operations Logic

More information

University of Pennsylvania. Department of Electrical and Systems Engineering. ESE Undergraduate Laboratory. Introduction to LabView

University of Pennsylvania. Department of Electrical and Systems Engineering. ESE Undergraduate Laboratory. Introduction to LabView University of Pennsylvania Department of Electrical and Systems Engineering ESE Undergraduate Laboratory Introduction to LabView PURPOSE The purpose of this lab is to get you familiarized with LabView.

More information

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0 Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1

More information

ENCM 369 Winter 2019 Lab 6 for the Week of February 25

ENCM 369 Winter 2019 Lab 6 for the Week of February 25 page of ENCM 369 Winter 29 Lab 6 for the Week of February 25 Steve Norman Department of Electrical & Computer Engineering University of Calgary February 29 Lab instructions and other documents for ENCM

More information

Approaches to Digital System Design

Approaches to Digital System Design Approaches to Digital System Design In Digital Devices, you learned how to create a logic network (Flip-flops + combinational gates) to solve a problem The logic network was SPECIFIC to the problem. To

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline

More information

IS1200/IS1500. Lab 5 Processor Design v1.0

IS1200/IS1500. Lab 5 Processor Design v1.0 IS1200/IS1500 Lab 5 Processor Design 2015-10-20 v1.0 Introduction Welcome to the fifth lab! In this laboratory exercise, you will learn the fundamentals of processor design. After finishing this lab, you

More information

Hardware Description and Verification Lava Exam

Hardware Description and Verification Lava Exam Hardware Description and Verification Lava Exam Mary Sheeran Revised by Thomas Hallgren hallgren@chalmers.se May 16, 2010 Introduction The purpose of this take-home exam is to give you further practice

More information

To practice combinational logic on Logisim and Xilinx ISE tools. ...

To practice combinational logic on Logisim and Xilinx ISE tools. ... ENGG1203: Introduction to Electrical and Electronic Engineering Second Semester, 2017 18 Lab 1 Objective: To practice combinational logic on Logisim and Xilinx ISE tools. 1 Find your lab partner You will

More information

Part 1 (70% of grade for homework 2): MIPS Programming: Simulating a simple computer

Part 1 (70% of grade for homework 2): MIPS Programming: Simulating a simple computer CS 465 - Homework 2 Fall 2016 Profs. Daniel A. Menasce and Yutao Zhong Team Allowed: maximum of two per team. State clearly team member names and GMU IDs as comments in source code and each page of submitted

More information

Assignment Tutorial.

Assignment 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 information

CSE 140L Spring 2010 Bonus Final

CSE 140L Spring 2010 Bonus Final CSE 140L Spring 2010 Bonus Final Logistics for Bonus Final: This final should be done in individually. Use Xilinx tools version 10.1. What is due: - Report: o Submit a single report in.pdf form via email

More information

Digital Lab Reports. Guide for 1250 Students

Digital Lab Reports. Guide for 1250 Students Digital Lab Reports Guide for 1250 Students 1 Use Microsoft Word to prepare your report. Some requirements: Word files (.docx) or PDFs (.pdf) are required. The Office of the CIO offers a free download

More information

COURSE: COMPUTER FUNDAMENTALS AND PC SOFTWARE (MCA -01)

COURSE: COMPUTER FUNDAMENTALS AND PC SOFTWARE (MCA -01) COURSE: COMPUTER FUNDAMENTALS AND PC SOFTWARE (MCA -01) [Assignments are required to be written in your own language. Copying in toto from the learning materials will carry less score] A. Answer the following

More information

register:a group of binary cells suitable for holding binary information flip-flops + gates

register:a group of binary cells suitable for holding binary information flip-flops + gates 9 차시 1 Ch. 6 Registers and Counters 6.1 Registers register:a group of binary cells suitable for holding binary information flip-flops + gates control when and how new information is transferred into the

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 May 10, 2010 Final Exam Name: ID number: This is

More information

11/22/1999 7pm - 9pm. Name: Login Name: Preceptor Name: Precept Number:

11/22/1999 7pm - 9pm. Name: Login Name: Preceptor Name: Precept Number: Login Preceptor Precept Number: Computer Science 126 Second Midterm Exam 11/22/1999 7pm - 9pm This exam has 10 questions. The weight of each question is printed in the table below and next to each question.

More information

Problem Points Your Points Total 80

Problem Points Your Points Total 80 Grades: 20% of the final grade. CDA 3103 Computer Organization Exam 2 Solution Set Name: USF ID: Problem Points Your Points 1 10 2 10 3 20 4 10 5 15 6 15 Total 80 Exam Rules Close book, notes and HW. Only

More information

COP 3014 Honors: Spring 2017 Homework 5

COP 3014 Honors: Spring 2017 Homework 5 COP 3014 Honors: Spring 2017 Homework 5 Total Points: 150 Due: Thursday 03/09/2017 11:59:59 PM 1 Objective The purpose of this assignment is to test your familiarity with C++ functions and arrays. You

More information

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming)

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Learning any imperative programming language involves mastering a number of common concepts: Variables: declaration/definition

More information

Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 05 Optimization Issues Now I see, that is not been seen there;

More information

CONCORDIA UNIVERSITY Department of Computer Science and Software Engineering COMP 228/4 Section PP Midterm Exam

CONCORDIA UNIVERSITY Department of Computer Science and Software Engineering COMP 228/4 Section PP Midterm Exam 1 CONCORDIA UNIVERSITY Department of Computer Science and Software Engineering COMP 228/4 Section PP Midterm Exam Instructor: Tadeusz S. Obuchowicz Date: Tuesday, February 28, 2012 Time Allowed: 1 hour

More information

CT 229. Java Syntax 26/09/2006 CT229

CT 229. Java Syntax 26/09/2006 CT229 CT 229 Java Syntax 26/09/2006 CT229 Lab Assignments Assignment Due Date: Oct 1 st Before submission make sure that the name of each.java file matches the name given in the assignment sheet!!!! Remember:

More information

CS 100 Spring Lecture Notes 3/8/05 Review for Exam 2

CS 100 Spring Lecture Notes 3/8/05 Review for Exam 2 CS 100 Spring 2005 Lecture Notes 3/8/05 Review for Exam 2 The second exam is Thursday, March 10. It will cover topics from Homework 2 through Homework 4, including anything pertaining to binary representation.

More information

Arithmetic-logic units

Arithmetic-logic units Arithmetic-logic units An arithmetic-logic unit, or ALU, performs many different arithmetic and logic operations. The ALU is the heart of a processor you could say that everything else in the CPU is there

More information

CHAPTER 4: Register Transfer Language and Microoperations

CHAPTER 4: Register Transfer Language and Microoperations CS 224: Computer Organization S.KHABET CHAPTER 4: Register Transfer Language and Microoperations Outline Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations

More information

A 32-bit Processor: Sequencing and Output Logic

A 32-bit Processor: Sequencing and Output Logic Lecture 18 A 32-bit Processor: Sequencing and Output Logic Hardware Lecture 18 Slide 1 Last lecture we defined the data paths: Hardware Lecture 18 Slide 2 and we specified an instruction set: Instruction

More information

378: Machine Organization and Assembly Language

378: Machine Organization and Assembly Language 378: Machine Organization and Assembly Language Spring 2010 Luis Ceze Slides adapted from: UIUC, Luis Ceze, Larry Snyder, Hal Perkins 1 What is computer architecture about? Computer architecture is the

More information

1. Boolean algebra. [6] 2. Constructing a circuit. [4] 3. Number representation [4] 4. Adders [4] 5. ALU [2] 6. Software [4]

1. Boolean algebra. [6] 2. Constructing a circuit. [4] 3. Number representation [4] 4. Adders [4] 5. ALU [2] 6. Software [4] Family Name:.......................... Other Names:.......................... ID Number:.......................... ENGR101: Test 4 May 2009 Instructions Time allowed: 45 minutes. There are 45 marks in

More information

CSCE 312 Lab manual. Instructor: Dr. Rabi Mahapatra TA: Ying Fung Yiu. Prepared by. Dr. Rabi N Mahapatra. Suneil Mohan & Amitava Biswas.

CSCE 312 Lab manual. Instructor: Dr. Rabi Mahapatra TA: Ying Fung Yiu. Prepared by. Dr. Rabi N Mahapatra. Suneil Mohan & Amitava Biswas. CSCE 312 Lab manual Lab-2 - Combinational logic design Instructor: Dr. Rabi Mahapatra TA: Ying Fung Yiu Prepared by Dr. Rabi N Mahapatra. Suneil Mohan & Amitava Biswas Fall 2014 Department of Computer

More information

Fundamentals of Programming Session 2

Fundamentals of Programming Session 2 Fundamentals of Programming Session 2 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2013 Sharif University of Technology Outlines Programming Language Binary numbers Addition Subtraction

More information

CSC 220: Computer Organization Unit 10 Arithmetic-logic units

CSC 220: Computer Organization Unit 10 Arithmetic-logic units College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 10 Arithmetic-logic units 1 Remember: 2 Arithmetic-logic units An arithmetic-logic unit,

More information

I ve been getting this a lot lately So, what are you teaching this term? Computer Organization. Do you mean, like keeping your computer in place?

I ve been getting this a lot lately So, what are you teaching this term? Computer Organization. Do you mean, like keeping your computer in place? I ve been getting this a lot lately So, what are you teaching this term? Computer Organization. Do you mean, like keeping your computer in place? here s the monitor, here goes the CPU, Do you need a class

More information

CPSC 213. Introduction to Computer Systems. Introduction. Unit 0

CPSC 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 information

Sample Exam I PAC II ANSWERS

Sample Exam I PAC II ANSWERS Sample Exam I PAC II ANSWERS Please answer questions 1 and 2 on this paper and put all other answers in the blue book. 1. True/False. Please circle the correct response. a. T In the C and assembly calling

More information

CS 261 Fall Mike Lam, Professor. Combinational Circuits

CS 261 Fall Mike Lam, Professor. Combinational Circuits CS 261 Fall 2017 Mike Lam, Professor Combinational Circuits The final frontier Java programs running on Java VM C programs compiled on Linux Assembly / machine code on CPU + memory??? Switches and electric

More information

COS 116 The Computational Universe Laboratory 7: Digital Logic I

COS 116 The Computational Universe Laboratory 7: Digital Logic I COS 116 The Computational Universe Laboratory 7: Digital Logic I In this lab you ll construct simple combinational circuits in software, using a simulator, and also in hardware, with a breadboard and silicon

More information

Practical Malware Analysis

Practical Malware Analysis Practical Malware Analysis Ch 4: A Crash Course in x86 Disassembly Revised 1-16-7 Basic Techniques Basic static analysis Looks at malware from the outside Basic dynamic analysis Only shows you how the

More information

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics Chapter 4 Objectives Learn the components common to every modern computer system. Chapter 4 MARIE: An Introduction to a Simple Computer Be able to explain how each component contributes to program execution.

More information

ECE 341 Midterm Exam

ECE 341 Midterm Exam ECE 341 Midterm Exam Time allowed: 75 minutes Total Points: 75 Points Scored: Name: Problem No. 1 (8 points) For each of the following statements, indicate whether the statement is TRUE or FALSE: (a) A

More information

CS 261 Fall Mike Lam, Professor. Logic Gates

CS 261 Fall Mike Lam, Professor. Logic Gates CS 261 Fall 2016 Mike Lam, Professor Logic Gates The final frontier Java programs running on Java VM C programs compiled on Linux Assembly / machine code on CPU + memory??? Switches and electric signals

More information

CprE 381 Computer Organization and Assembly Level Programming

CprE 381 Computer Organization and Assembly Level Programming CprE 381 Computer Organization and Assembly Level Programming Mini-Project B, Version 1.0 Last update: 10/21/2013 This is a three-week project. You will design and implement two versions of a single-cycle

More information

REGISTER TRANSFER LANGUAGE

REGISTER TRANSFER LANGUAGE REGISTER TRANSFER LANGUAGE The operations executed on the data stored in the registers are called micro operations. Classifications of micro operations Register transfer micro operations Arithmetic micro

More information

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control, UNIT - 7 Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control Page 178 UNIT - 7 BASIC PROCESSING

More information

Dec Hex Bin ORG ; ZERO. Introduction To Computing

Dec Hex Bin ORG ; ZERO. Introduction To Computing Dec Hex Bin 0 0 00000000 ORG ; ZERO Introduction To Computing OBJECTIVES this chapter enables the student to: Convert any number from base 2, base 10, or base 16 to any of the other two bases. Add and

More information

Computer Organization and Assembly Language (CS-506)

Computer Organization and Assembly Language (CS-506) Computer Organization and Assembly Language (CS-506) Muhammad Zeeshan Haider Ali Lecturer ISP. Multan ali.zeeshan04@gmail.com https://zeeshanaliatisp.wordpress.com/ Lecture 2 Memory Organization and Structure

More information

CSC 101: Lab Manual#9 Machine Language and the CPU (largely based on the work of Prof. William Turkett) Lab due date: 5:00pm, day after lab session

CSC 101: Lab Manual#9 Machine Language and the CPU (largely based on the work of Prof. William Turkett) Lab due date: 5:00pm, day after lab session CSC 101: Lab Manual#9 Machine Language and the CPU (largely based on the work of Prof. William Turkett) Lab due date: 5:00pm, day after lab session Purpose: The purpose of this lab is to gain additional

More information

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in

More information

EC 413 Computer Organization

EC 413 Computer Organization EC 413 Computer Organization Review I Prof. Michel A. Kinsy Computing: The Art of Abstraction Application Algorithm Programming Language Operating System/Virtual Machine Instruction Set Architecture (ISA)

More information

Level 2: The Hardware World Chapters 4 and 5 (topics of other cs courses)

Level 2: The Hardware World Chapters 4 and 5 (topics of other cs courses) Level 2: The Hardware World Chapters 4 and 5 (topics of other cs courses) Invitation to Computer Science, Java Version, Third Edition Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and

More information

Real Digital Problem Set #6

Real Digital Problem Set #6 Real igital Problem et #6. (2 points) ketch a block diagram for a magnitude comparator bit-slice circuit. Create K-maps to define the bit-slice circuit, and use them to find optimal logic equations. ketch

More information

ECE/CS 3710 Computer Design Lab Lab 2 Mini-MIPS processor Controller modification, memory mapping, assembly code

ECE/CS 3710 Computer Design Lab Lab 2 Mini-MIPS processor Controller modification, memory mapping, assembly code ECE/CS 3710 Computer Design Lab Lab 2 Mini-MIPS processor Controller modification, memory mapping, assembly code Due Tuesday, September 22nd, 2009 Laboratory Objectives Understand and extend a very very

More information

CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU

CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU Last revised October 15, 2007 Objectives: 1. To show how a CPU is constructed out of a regiser

More information

ESE 150 Lab 07: Digital Logic

ESE 150 Lab 07: Digital Logic LAB 07 In this lab we will do the following: 1. Investigate basic logic operations (AND, OR, INV, XOR) 2. Implement an ADDER on an FPGA 3. Implement a simple Finite- State Machine on an FPGA Background:

More information

ECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008

ECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008 1 ECSE-323 Digital System Design Lab #1 Using the Altera Quartus II Software Fall 2008 2 Introduction. In this lab you will learn the basics of the Altera Quartus II FPGA design software through following

More information

CS 31: Introduction to Computer Systems. 03: Binary Arithmetic January 29

CS 31: Introduction to Computer Systems. 03: Binary Arithmetic January 29 CS 31: Introduction to Computer Systems 03: Binary Arithmetic January 29 WiCS! Swarthmore Women in Computer Science Slide 2 Today Binary Arithmetic Unsigned addition Subtraction Representation Signed magnitude

More information

CARLETON UNIVERSITY. Laboratory 2.0

CARLETON UNIVERSITY. Laboratory 2.0 CARLETON UNIVERSITY Department of Electronics ELEC 267 Switching Circuits Jan 3, 28 Overview Laboratory 2. A 3-Bit Binary Sign-Extended Adder/Subtracter A binary adder sums two binary numbers for example

More information

Instruction Set Architecture

Instruction Set Architecture Computer Architecture Instruction Set Architecture Lynn Choi Korea University Machine Language Programming language High-level programming languages Procedural languages: C, PASCAL, FORTRAN Object-oriented

More information

COMP2611: Computer Organization Introduction to Logisim & simple combinational circuit

COMP2611: Computer Organization Introduction to Logisim & simple combinational circuit COMP2611 Fall2015 COMP2611: Computer Organization Introduction to & simple combinational circuit Content 2 Today we will learn: How to download and run ; How to use basic operations; How to build a simple

More information

Programming the processor

Programming the processor CSC258 Week 9 Logistics This week: Lab 7 is the last Logisim DE2 lab. Next week: Lab 8 will be assembly. For assembly labs you can work individually or in pairs. No matter how you do it, the important

More information

ENEE 350 Computer Organization Fall, 2004 Project Part 2, due November 18, 2004

ENEE 350 Computer Organization Fall, 2004 Project Part 2, due November 18, 2004 ENEE 350 Computer Organization Fall, 2004 Project Part 2, due November 18, 2004 Objective In this second phase of the project, you will make a datapath for the instruction set you devised in part 1. This

More information

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Introduction to Computing Module No: CS/ES/1 Quadrant 1 e-text

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Introduction to Computing Module No: CS/ES/1 Quadrant 1 e-text e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Introduction to Computing Module No: CS/ES/1 Quadrant 1 e-text About the course : In this digital world, embedded systems are more

More information

Combinational and sequential circuits (learned in Chapters 1 and 2) can be used to create simple digital systems.

Combinational and sequential circuits (learned in Chapters 1 and 2) can be used to create simple digital systems. REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic Microoperations Shift Microoperations Arithmetic Logic Shift

More information

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE COMP 12111 One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Monday 23rd January 2017 Time: 09:45-11:15 Answer

More information

Chapter 4. MARIE: An Introduction to a Simple Computer

Chapter 4. MARIE: An Introduction to a Simple Computer Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.

More information

CS232 VHDL Lecture. Types

CS232 VHDL Lecture. Types CS232 VHDL Lecture VHSIC Hardware Description Language [VHDL] is a language used to define and describe the behavior of digital circuits. Unlike most other programming languages, VHDL is explicitly parallel.

More information

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker Computers in Engineering COMP 208 Computer Structure Michael A. Hawker Computer Structure We will briefly look at the structure of a modern computer That will help us understand some of the concepts that

More information

1. Draw general diagram of computer showing different logical components (3)

1. Draw general diagram of computer showing different logical components (3) Tutorial 1 1. Draw general diagram of computer showing different logical components (3) 2. List at least three input devices (1.5) 3. List any three output devices (1.5) 4. Fill the blank cells of the

More information

Software and Hardware

Software and Hardware Software and Hardware Numbers At the most fundamental level, a computer manipulates electricity according to specific rules To make those rules produce something useful, we need to associate the electrical

More information

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 122 Computer Fluency Computer Organization Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) The standard computer (von Neumann) architecture consists

More information

ECE 341 Midterm Exam

ECE 341 Midterm Exam ECE 341 Midterm Exam Time allowed: 90 minutes Total Points: 75 Points Scored: Name: Problem No. 1 (10 points) For each of the following statements, indicate whether the statement is TRUE or FALSE: (a)

More information

Revision: August 31, E Main Suite D Pullman, WA (509) Voice and Fax

Revision: August 31, E Main Suite D Pullman, WA (509) Voice and Fax Exercise 7: Combinational rithmetic Circuits Revision: ugust 3, 29 25 E Main uite D Pullman, W 9963 (59) 334 636 Voice and Fax TUDENT I am submitting my own work, and I understand penalties will be assessed

More information

Le L c e t c ur u e e 2 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Variables Operators

Le L c e t c ur u e e 2 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Variables Operators Course Name: Advanced Java Lecture 2 Topics to be covered Variables Operators Variables -Introduction A variables can be considered as a name given to the location in memory where values are stored. One

More information

Programming Using C Homework 5

Programming Using C Homework 5 Programming Using C Homework 5 1. In this problem you will simulate the execution of a computer s CPU. The computer that we will simulate has 32 bytes of addressable memory (each byte is uniquely addressed).

More information

How a Digital Binary Adder Operates

How a Digital Binary Adder Operates Overview of a Binary Adder How a Digital Binary Adder Operates By: Shawn R Moser A binary adder is a digital electronic component that is used to perform the addition of two binary numbers and return the

More information

Computer Systems and -architecture

Computer Systems and -architecture Computer Systems and -architecture Project 3: ALU 1 Ba INF 2018-2019 Brent van Bladel brent.vanbladel@uantwerpen.be Don t hesitate to contact the teaching assistant of this course. M.G.305 or by e-mail.

More information

VERILOG 2: LANGUAGE BASICS

VERILOG 2: LANGUAGE BASICS VERILOG 2: LANGUAGE BASICS Verilog module Modules are basic building blocks. These are two example module definitions which you should use: // Safer traditional method module abc (in1, in2, out); input

More information

ENGIN 112 Intro to Electrical and Computer Engineering

ENGIN 112 Intro to Electrical and Computer Engineering ENGIN 112 Intro to Electrical and Computer Engineering Lecture 30 Random Access Memory (RAM) Overview Memory is a collection of storage cells with associated input and output circuitry Possible to read

More information

II/IV B.Tech (Regular/Supplementary) DEGREE EXAMINATION. Answer ONE question from each unit.

II/IV B.Tech (Regular/Supplementary) DEGREE EXAMINATION. Answer ONE question from each unit. Hall Ticket Number: 14CS IT303 November, 2017 Third Semester Time: Three Hours Answer Question No.1 compulsorily. II/IV B.Tech (Regular/Supplementary) DEGREE EXAMINATION Common for CSE & IT Digital Logic

More information

Job Posting (Aug. 19) ECE 425. ARM7 Block Diagram. ARM Programming. Assembly Language Programming. ARM Architecture 9/7/2017. Microprocessor Systems

Job Posting (Aug. 19) ECE 425. ARM7 Block Diagram. ARM Programming. Assembly Language Programming. ARM Architecture 9/7/2017. Microprocessor Systems Job Posting (Aug. 19) ECE 425 Microprocessor Systems TECHNICAL SKILLS: Use software development tools for microcontrollers. Must have experience with verification test languages such as Vera, Specman,

More information

C-Based Hardware Design

C-Based Hardware Design LECTURE 6 In this lecture we will introduce: The VHDL Language and its benefits. The VHDL entity Concurrent and Sequential constructs Structural design. Hierarchy Packages Various architectures Examples

More information

Assembly Language Programming

Assembly Language Programming Assembly Language Programming Remember the programmer shown in our first lecture? Originally, computers were programmed manually. After a while, scientists began to consider ways to accelerate and facilitate

More information

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction

More information

Programmable Logic Devices (PLDs)

Programmable Logic Devices (PLDs) Programmable Logic Devices (PLDs) 212: Digital Design I, week 13 PLDs basically store binary information in a volatile/nonvolatile device. Data is specified by designer and physically inserted (Programmed)

More information

Philadelphia University Student Name: Student Number:

Philadelphia University Student Name: Student Number: Philadelphia University Student Name: Student Number: Faculty of Engineering Serial Number: Final Exam, First Semester: 2018/2019 Dept. of Computer Engineering Course Title: Logic Circuits Date: 03/01/2019

More information

REGISTER TRANSFER AND MICROOPERATIONS

REGISTER TRANSFER AND MICROOPERATIONS 1 REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic Microoperations Shift Microoperations Arithmetic Logic Shift

More information