CS.17.A.MachineI.Overview

Size: px
Start display at page:

Download "CS.17.A.MachineI.Overview"

Transcription

1 P R T I I : L G O R I T H M S, M H I N E S, a n d T H E O R Y P R T I I : L G O R I T H M S, M H I N E S, a n d T H E O R Y omputer Science 7. omputing Machine omputer Science 7. omputing Machine Overview Data types Instructions Operating the machine n Interdisciplinary pproach Section. Machine language programming ROERT SEDGEWIK K E V I N WY N E S.7..MachineI.Overview computing machine Reasons to study Prepare to learn about computer architecture is an imaginary machine similar to: How does your computer's processor work? What are its basic components? How do they interact? ncient computers. Today's smartphone processors. ountless other devices designed and built over the past years. Learn about machine-language programming. How do Java programs relate to your computer? Key to understanding Java references. Intellectual challenge of a new programming regime. Still necessary in some modern applications. multimedia, computer games, embedded devices, scientific computing, Learn fundamental abstractions that have informed processor design for decades. Smartphone processor, s PDP-, 97s 3 4

2 its and words Inside the box Everything in is encoded with a sequence of bits (value or ). Why? Easy to represent two states (on and off) in real world. its are organized in 6-bit sequences called words. More convenient for humans: hexadecimal notation (base 6) 4 hex digits in each word. onvert to and from binary 4 bits at a time. E 7 binary hex D E omponents of machine rithmetic and logic unit (LU) Program counter (P) Instruction register (IR) IR P Holds data and instructions 6 words 6 bits in each word onnected to registers Words are addressable Use hexadecimal for addresses Number words from to Think in hexadecimal Use array notation Example: M[] = 4 LU 6 rithmetic and logic unit (LU) LU D E E D D E D E D E D 's computational engine LU calculator, not a computer Hardware that implements all data-type operations How? Stay tuned for computer architecture lectures Table of 6 words completely specifies contents of memory. 7

3 Program counter and instruction register 6 words, addressable in hex from to (use names R[] through R[]) Scratch space for calculations and data movement. onnected to memory and LU y convention, R[] is always. often simplifies code (stay tuned) Q. Why not just connect memory directly to LU?. Too many different memory names (addresses). Q. Why not just connect memory locations to one another?. Too many different connections. In our code, we often also keep in R[]. R[] R[] R[] E R[3] R[4] R[] R[6] E R[7] R[] R[9] R[] R[] R[] D R[D] R[E] R[] operates by executing a sequence of instructions. ritical abstractions in making this happen Program ounter (P). address of next instruction. Instruction Register (IR). Instruction being executed. etch-increment-execute cycle etch: Get instruction from memory into IR. Increment: Update P to point to next instruction. Execute: Move data to or from memory, change P, or perform calculations, as specified by IR. P EXEUTE IR ETH INREMENT Table of 6 words completely specifies contents of registers. 9 The state of the machine ontents of memory, registers, and P at a particular time Provide a record of what a program has done. ompletely determines what the machine will do. LU and IR hold intermediate states of computation Image sources LU IR P S.7..MachineI.Overview

4 PRT II: LGORITHMS, MHINES, and THEORY data type data type is a set of values and a set of operations on those values. s data type is 6-bit two's complement integers. 7. omputing Machine Overview Data types Instructions Operating the machine Machine language programming Two kinds of operations rithmetic. itwise. ll other types of data must be implemented with software 3-bit and 64-bit integers. 3-bit and 64-bit floating point values. haracters and strings. ll values are represented in 6-bit words. S.7..MachineI.Types 4 data type (original design): Unsigned integers data type (better design): two's complement Values. to 6 Operations. dd. Subtract. Test if., encoded in binary (or, equivalently, hex). Example Warning. ignores overflow. binary hex E Example. E7 + E7 = 3E + = Values. to, encoded in 6-bit two's complement. includes negative integers! Operations. dd. Subtract. Test if positive, negative, or. 6 bit two's complement 6-bit binary representation of x for positive x. 6-bit binary representation of 6 x for negative x. Useful properties Leading bit (bit ) signifies sign. represents zero. dd/subtract is the same as for unsigned. slight annoyance: one extra negative value decimal hex binary +3, ,766 7E +3,76 7D E 3 D 3,766 3,767 3,76 6

5 Two's complement: conversion Overflow in two's complement To convert from decimal to two's complement If greater than +3,767 or less than 3,76 report error. onvert to 6-bit binary. If not negative, done. If negative, flip all bits and add. Examples +3 D ,767 = 7 largest (positive) number = = = = 3,76 smallest (negative) number Examples To convert from two's complement to decimal If sign bit is, flip all bits and add and output minus sign. onvert to decimal. D To add/subtract Use same rules as for unsigned binary. (Still) ignore overflow. Example D = 43 = =D 7 data type: itwise operations ND = x y x ND y Image sources Operations itwise ND. itwise XOR. Shift left. Shift right. XOR = x y x XOR y Shift left 3 fill with s Shift right 3 fill with s Special note: Shift left/right operations also implement multiply/divide by powers of for integers. shift right fills with s if leading bit is 9 S.7..MachineI.Types

6 instructions PRT II: LGORITHMS, MHINES, and THEORY NY 6-bit (4 hex digit) value defines a instruction. opcode instruction halt irst hex digit specifies which instruction. add subtract 7. omputing Machine Overview Data types Instructions Operating the machine Machine language programming Each instruction changes machine state in a well-defined way. category opcodes implements changes operations data-type operations registers data movement flow of control 7 9 D E data moves between registers and memory conditionals, loops, and functions registers, memory P 3 bitwise and 4 bitwise xor shift left 6 shift right 7 load address load 9 store load indirect store indirect branch if zero D branch if positive E jump register S.7..MachineI.Instructions jump and link Encoding instructions program NY 6-bit (4 hex digit) value defines a instruction. Two different instruction formats Type RR: Opcode and 3 registers. Type : Opcode, register, and memory address. Examples opcode destination d source s source t opcode destination d address addr dd R[] to R[] and put result in R[]. Load into R[] data from M[]. opcode instruction RR halt RR add RR subtract 3 RR bitwise and 4 RR bitwise xor RR shift left 6 RR shift right 7 load address load 9 store RR load indirect RR store indirect branch if zero D branch if positive E RR jump register jump and link 3 dd two integers Load operands from memory into registers. dd the registers. Put result in memory. Load into R[] data from M[] Load into R[] data from M[6] dd R[] and R[] and put result into R[] Store R[] into M[7] Halt Q. How can you tell whether a word is an instruction?. If the P has its address, it is an instruction! P D D R[] M[] R[] M[6] R[] R[] + R[] M[7] R[] halt 4

7 Same program with different data dd two integers Load operands from memory into registers. dd the registers. Put result in memory. Load into R[] data from M[] P R[] M[] R[] M[6] R[] R[] + R[] M[7] R[] halt instruction data Load into R[] data from M[6] 7 7 dd R[] and R[] and put result into R[] Store R[] into M[7] Halt Q. How can you tell whether a word is data?. If it is added to another word, it is data! 6 7-9,93 7,339 -,9 S.7..MachineI.Instructions 7. omputing Machine Overview Data types Instructions Operating the machine PRT II: LGORITHMS, MHINES, and THEORY Machine language programming Outside the box User interface Switches. Lights. ontrol uttons. LOD LOOK STEP RUN ON/O irst step: Turn on the machine! S.7.D.MachineI.Operating

8 Loading a program into memory Loading instructions into memory To load an instruction Set memory address switches. Set 6 data switches to instruction encoding. Press LOD to load instruction from switches into addressed memory word. To load an instruction Set memory address switches. Set 6 data switches to instruction encoding. Press LOD to load instruction from switches into addressed memory word. LOD LOOK STEP RUN ON/O : : 6 : 3: 97 4: LOD LOOK STEP RUN ON/O : : 6 : 3: 97 4: 9 3 Loading instructions into memory Loading instructions into memory To load an instruction Set memory address switches. Set 6 data switches to instruction encoding. Press LOD to load instruction from switches into addressed memory word. To load an instruction Set memory address switches. Set 6 data switches to instruction encoding. Press LOD to load instruction from switches into addressed memory word. LOD LOOK STEP RUN ON/O : : 6 : 3: 97 4: LOD LOOK STEP RUN ON/O : : 6 : 3: 97 4: 3 3

9 Loading instructions into memory Looking at what's in the memory To load an instruction Set memory address switches. Set 6 data switches to instruction encoding. Press LOD to load instruction from switches into addressed memory word. To double check that you loaded the data correctly Set memory address switches. Press LOOK to examine the addressed memory word. LOD LOOK STEP RUN ON/O : : 6 : 3: 97 4: LOD LOOK STEP RUN ON/O : : 6 : 3: 97 4: Loading data into memory To load data, use the same procedure as for instructions Set memory address switches. Set 6 data switches to data encoding. Press LOD to load data from switches into addressed memory word. Loading data into memory To load data, use the same procedure as for instructions Set memory address switches. Set 6 data switches to data encoding. Press LOD to load data from switches into addressed memory word. LOD ON : : 6 : 3: 97 4: LOD LOOK STEP RUN ON/O LOD ON : : 6 : 3: 97 4: LOD LOOK STEP RUN ON/O : 6: : 6: 3 36

10 Running a program Switches and lights To run a program, set the address switches to the address of first instruction and press RUN. [ data lights may flash, but all (and RUN light) go off when HLT instruction is reached ] To see the output, set the address switches to the address of expected result and press LOOK. LOD LOOK STEP RUN ON/O : : 6 : 3: 97 4: Q. Did people really program this way?. Yes! : 6: 7: D To run the program again, enter different data and press RUN again PRT II: LGORITHMS, MHINES, and THEORY 7. omputing Machine Overview Data types Instructions Operating the machine Machine language programming S..D.MachineI.Operating S.7.E.MachineI.Programming

11 Machine language programming onditionals and loops instructions support the same basic programming constructs as Java. Primitive data types. ssignment statements. onditionals and loops. rrays (next lecture). Standard input and output (next). any program you might want to write objects functions and modules uses opcodes E and [see book] To control the flow of instruction execution Test a register's value. hange the P, depending on the value. Example: bsolute value of R[] D If R[] > set P to (skip ) Subtract R[] from (R[]) and put result into R[] opcode D instruction branch if zero branch if positive graphics, sound, and image I/O arrays uses opcodes and [see next lecture] Example: Typical while loop (assumes R[] is ) and can support advanced programming constructs, as well. unctions and libraries (see text). Linked structures (see text). primitive data types conditionals and loops Math text I/O assignment statements If R[] is set P to 3 Decrement R[] by 4 Set P to while (a!= ) { a--; } To infinity and beyond! 4 4 Standard input and output Standard input and output n immediate problem We're not going to be able to address real-world problems with just switches and lights for I/O! One solution: Paper tape. Need to bolt new I/O devices to the side of the machine. Punched paper tape Encode 6-bit words in two -bit rows. To write a word, punch a hole for each. To read a word, shine a light behind the tape and sense the holes. STDIN STDOUT mechanism onnect hardware to memory location. To write the contents of a register to stdout, store to. To read from stdin into a register, load from

12 low of control and standard output example: ibonacci numbers reference card Register trace P R[] = R[] = a = ; 4 7 R[] = b = ; R[9] = M[4] i = N; if (R[9] == ) P = 4 while (i!= ) { 4 9 write R[] to stdout StdOut.print(a); 46 R[] = R[] + R[] c = a + b; 47 R[] = R[] a = b; 4 R[] = R[] b = c; R[9] = R[9] - i = i - ; P = 44 } 4 halt 4 STDOUT 3 3 opcode operation format pseudo-code halt halt add RR R[d] = R[s] + R[t] subtract RR R[d] = R[s] - R[t] 3 bitwise and RR R[d] = R[s] & R[t] 4 bitwise xor RR R[d] = R[s] ^ R[t] shift left RR R[d] = R[s] << R[t] 6 shift right RR R[d] = R[s] >> R[t] 7 load addr R[d] = addr load R[d] = M[addr] 9 store M[addr] = R[d] load indirect RR R[d] = M[R[t]] store indirect RR M[R[t]] = R[d] branch zero if (R[d] == ) P = addr D branch positive if (R[d] > ) P = addr E jump register RR P = R[d] jump and link R[d] = P + ; P = addr ormat RR opcode destination d source s source t ormat opcode destination d address ZERO R[] is always. STNDRD INPUT Load from. STNDRD OUTPUT Store to Pop quiz on Pop quiz on Q. What is the interpretation of Q. How does one flip all the bits in a register? 7 as a instruction? 7 as a two's complement integer value? as a instruction? as a two's complement integer value? as a instruction? as a two's complement integer value? (nswer in base 6). 47 4

13 Pop quiz 3 on vs. your laptop Q. What does the following program leave in R[]? 7 R[] = 7 R[] = 7 R[] = 3 R[] = R[] + R[] 4 R[] = R[] - D 3 if (R[] > ) P = 3 6 HLT Two different computing machines oth implement basic data types, conditionals, loops, and other low-level constructs. oth can have arrays, functions, and other high-level constructs. oth have infinite input and output streams. any program you might want to write objects functions and libraries graphics, sound, and image I/O arrays Q. Is 6 words enough to do anything useful?. Yes! (See book, and stay tuned for next lecture.) conditionals and loops Math primitive data types text I/O assignment statements. Yes! It is a Turing Machine, with a read/write I/O device (see theory lectures). OK, we definitely want a faster version with more memory when we can afford it 49 P R T I I : L G O R I T H M S, M H I N E S, a n d T H E O R Y omputer Science omputer Science n Interdisciplinary pproach Section. ROERT SEDGEWIK K E V I N WY N E S.7.E.MachineI.Programming 7. omputing Machine

11. A Computing Machine

11. A Computing Machine COMPUTER SCIENCE S E D G E W I C K / W A Y N E Computer Science Including Programming in Java 11. A Computing Machine Section 5.1 http://introcs.cs.princeton.edu COMPUTER SCIENCE S E D G E W I C K / W

More information

What is TOY? An imaginary machine similar to: ! Ancient computers. ! Today's microprocessors.

What is TOY? An imaginary machine similar to: ! Ancient computers. ! Today's microprocessors. 5. The TOY Machine Introduction to Programming in Java: An Interdisciplinary Approach Robert Sedgewick and Kevin Wayne Copyright 3// 5:3 AM! What is TOY? An imaginary machine similar to:! Ancient computers.!

More information

! Ancient computers. ! Today's microprocessors. Memory. ! Stores data and programs. ! 256 "words." (16 bits each) ! Special word for stdin / stdout.

! Ancient computers. ! Today's microprocessors. Memory. ! Stores data and programs. ! 256 words. (16 bits each) ! Special word for stdin / stdout. What is TOY?. The TOY Machine An imaginary machine similar to:! Ancient computers.! Today's microprocessors. Introduction to Computer Science Sedgewick and Wayne Copyright http://www.cs.princeton.edu/introcs

More information

Computer Architecture /

Computer Architecture / Computer Architecture 02-201 / 02-601 The Conceptual Architecture of a Computer PC CPU register 0 register 1 register 2 registers hold small amounts of data for processing by the CPU Reading / writing

More information

COS 126 Written Exam 2 Spring 18

COS 126 Written Exam 2 Spring 18 COS 126 Written Exam 2 Spring 18 Instructions. This exam has 7 questions, worth 10 points each. You have 50 minutes. Resources. You may reference your optional two-sided 8.5-by-11 handwritten "cheat sheet"

More information

Lecture A2: X-TOY Programming

Lecture A2: X-TOY Programming Lecture A2: X-TOY Programming What We ve Learned About X-TOY X-TOY: what s in it, how to use it. Bo with switches and lights. 436 bits = 256 6 + 6 6 + 8. von Neumann architecture. Data representation.

More information

Midterm 1 topics (in one slide) Bits and bitwise operations. Outline. Unsigned and signed integers. Floating point numbers. Number representation

Midterm 1 topics (in one slide) Bits and bitwise operations. Outline. Unsigned and signed integers. Floating point numbers. Number representation Midterm 1 topics (in one slide) CSci 2021: Review Lecture 1 Stephen McCamant University of Minnesota, Computer Science & Engineering Number representation Bits and bitwise operators Unsigned and signed

More information

CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014

CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014 B CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014 DUE : March 3, 2014 READ : - Related sections of Chapter 2 - Related sections of Chapter 3 - Related sections of Appendix A - Related sections

More information

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: The CPU and Memory How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: 1 Registers A register is a permanent storage location within

More information

Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as:

Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as: N Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as: a n a a a The value of this number is given by: = a n Ka a a a a a

More information

Binary Representations and Arithmetic

Binary Representations and Arithmetic Binary Representations and Arithmetic 9--26 Common number systems. Base : decimal Base 2: binary Base 6: hexadecimal (memory addresses) Base 8: octal (obsolete computer systems) Base 64 (email attachments,

More information

Course Schedule. CS 221 Computer Architecture. Week 3: Plan. I. Hexadecimals and Character Representations. Hexadecimal Representation

Course Schedule. CS 221 Computer Architecture. Week 3: Plan. I. Hexadecimals and Character Representations. Hexadecimal Representation Course Schedule CS 221 Computer Architecture Week 3: Information Representation (2) Fall 2001 W1 Sep 11- Sep 14 Introduction W2 Sep 18- Sep 21 Information Representation (1) (Chapter 3) W3 Sep 25- Sep

More information

CS61C Machine Structures. Lecture 13 - MIPS Instruction Representation I. 9/26/2007 John Wawrzynek. www-inst.eecs.berkeley.

CS61C Machine Structures. Lecture 13 - MIPS Instruction Representation I. 9/26/2007 John Wawrzynek. www-inst.eecs.berkeley. CS61C Machine Structures Lecture 13 - MIPS Instruction Representation I 9/26/2007 John Wawrzynek (www.cs.berkeley.edu/~johnw) www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L13 MIPS Instruction Representation

More information

Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations Chapter 2 Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize

More information

Decimal & Binary Representation Systems. Decimal & Binary Representation Systems

Decimal & Binary Representation Systems. Decimal & Binary Representation Systems Decimal & Binary Representation Systems Decimal & binary are positional representation systems each position has a value: d*base i for example: 321 10 = 3*10 2 + 2*10 1 + 1*10 0 for example: 101000001

More information

Inf2C - Computer Systems Lecture 2 Data Representation

Inf2C - Computer Systems Lecture 2 Data Representation Inf2C - Computer Systems Lecture 2 Data Representation Boris Grot School of Informatics University of Edinburgh Last lecture Moore s law Types of computer systems Computer components Computer system stack

More information

1010 2?= ?= CS 64 Lecture 2 Data Representation. Decimal Numbers: Base 10. Reading: FLD Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

1010 2?= ?= CS 64 Lecture 2 Data Representation. Decimal Numbers: Base 10. Reading: FLD Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 CS 64 Lecture 2 Data Representation Reading: FLD 1.2-1.4 Decimal Numbers: Base 10 Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Example: 3271 = (3x10 3 ) + (2x10 2 ) + (7x10 1 ) + (1x10 0 ) 1010 10?= 1010 2?= 1

More information

The Design of C: A Rational Reconstruction"

The Design of C: A Rational Reconstruction The Design of C: A Rational Reconstruction 1 Goals of this Lecture Help you learn about: The decisions that were available to the designers of C The decisions that were made by the designers of C and thereby

More information

Numbers and Computers. Debdeep Mukhopadhyay Assistant Professor Dept of Computer Sc and Engg IIT Madras

Numbers and Computers. Debdeep Mukhopadhyay Assistant Professor Dept of Computer Sc and Engg IIT Madras Numbers and Computers Debdeep Mukhopadhyay Assistant Professor Dept of Computer Sc and Engg IIT Madras 1 Think of a number between 1 and 15 8 9 10 11 12 13 14 15 4 5 6 7 12 13 14 15 2 3 6 7 10 11 14 15

More information

Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations Chapter Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize two

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

Unsigned Binary Integers

Unsigned Binary Integers Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 4: Logic Operations and Introduction to Conditionals Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Previously examined

More information

Unsigned Binary Integers

Unsigned Binary Integers Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0

More information

Bits, Words, and Integers

Bits, Words, and Integers Computer Science 52 Bits, Words, and Integers Spring Semester, 2017 In this document, we look at how bits are organized into meaningful data. In particular, we will see the details of how integers are

More information

Admin. ! Assignment 3. ! due Monday at 11:59pm! one small error in 5b (fast division) that s been fixed. ! Midterm next Thursday in-class (10/1)

Admin. ! Assignment 3. ! due Monday at 11:59pm! one small error in 5b (fast division) that s been fixed. ! Midterm next Thursday in-class (10/1) Admin CS4B MACHINE David Kauchak CS 5 Fall 5! Assignment 3! due Monday at :59pm! one small error in 5b (fast division) that s been fixed! Midterm next Thursday in-class (/)! Comprehensive! Closed books,

More information

CS101 Lecture 04: Binary Arithmetic

CS101 Lecture 04: Binary Arithmetic CS101 Lecture 04: Binary Arithmetic Binary Number Addition Two s complement encoding Briefly: real number representation Aaron Stevens (azs@bu.edu) 25 January 2013 What You ll Learn Today Counting in binary

More information

Computer Organization and Technology Processor and System Structures

Computer Organization and Technology Processor and System Structures Computer Organization and Technology Processor and System Structures Assoc. Prof. Dr. Wattanapong Kurdthongmee Division of Computer Engineering, School of Engineering and Resources, Walailak University

More information

The Manual Processor. Lecture 17. Registers: The Multiplexers: The Arithmetic and Logic Unit. The Shifter (This is just a special multiplexer)

The Manual Processor. Lecture 17. Registers: The Multiplexers: The Arithmetic and Logic Unit. The Shifter (This is just a special multiplexer) The Manual Processor Lecture 7 In 7 LK Designing a entral Processor Unit: 7 6 5 4 3 2 Part : rchitecture and Instructions LK LK Res LU RES Out LKRES Y-out Y-in LK arry Out omputer Hardware Lecture 7 Slide

More information

CS1004: Intro to CS in Java, Spring 2005

CS1004: Intro to CS in Java, Spring 2005 CS1004: Intro to CS in Java, Spring 2005 Lecture #10: Computer architecture Janak J Parekh janak@cs.columbia.edu HW#2 due Tuesday Administrivia Mass Storage RAM is volatile Not useful for permanent storage,

More information

Admin CS41B MACHINE. Midterm topics. Admin 2/11/16. Midterm next Thursday in-class (2/18) SML. recursion. math. David Kauchak CS 52 Spring 2016

Admin CS41B MACHINE. Midterm topics. Admin 2/11/16. Midterm next Thursday in-class (2/18) SML. recursion. math. David Kauchak CS 52 Spring 2016 Admin! Assignment 3! due Monday at :59pm! Academic honesty CS4B MACHINE David Kauchak CS 5 Spring 6 Admin Midterm next Thursday in-class (/8)! Comprehensive! Closed books, notes, computers, etc.! Except,

More information

CISC 662 Graduate Computer Architecture. Classifying ISA. Lecture 3 - ISA Michela Taufer. In a CPU. From Source to Assembly Code

CISC 662 Graduate Computer Architecture. Classifying ISA. Lecture 3 - ISA Michela Taufer. In a CPU. From Source to Assembly Code IS 662 Graduate omputer rchitecture Lecture 3 - IS Michela Taufer lassifying IS Powerpoint Lecture Notes from John Hennessy and David Patterson s: omputer rchitecture, 4th edition ---- dditional teaching

More information

COS 126 General Computer Science Fall Midterm 1

COS 126 General Computer Science Fall Midterm 1 COS 126 General Computer Science Fall 2001 Midterm 1 This test has 11 questions worth a total of 50 points. You have 120 minutes. The exam is closed book, except that you are allowed to use a one page

More information

12/11/ The TOY Machine II. Data Representation. What We've Learned About TOY. What We Do Today. Adding and Subtracting Binary Numbers

12/11/ The TOY Machine II. Data Representation. What We've Learned About TOY. What We Do Today. Adding and Subtracting Binary Numbers // What We've Learned About TOY. The TOY Machine II TOY machine. Box with switches and lights. 6-bit memory locations, 6-bit registers, 8-bit pc. 4,38 bits = ( 6) + ( 6) + (8) = 4 bytes! von Neumann architecture.

More information

5. The TOY Machine II

5. The TOY Machine II 5. The TOY Machine II Laboratory Instrument Computer (LINC) Introduction to Computer Science: An Interdisciplinary Approach Robert Sedgewick and Kevin Wayne Copyright 2002 2011 2/18/2013 9:52:08 AM What

More information

The Design of C: A Rational Reconstruction

The Design of C: A Rational Reconstruction The Design of C: A Rational Reconstruction 1 Goals of this Lecture Help you learn about: The decisions that were available to the designers of C The decisions that were made by the designers of C and thereby

More information

Review 1/2 MIPS assembly language instructions mapped to numbers in 3 formats. CS61C Negative Numbers and Logical Operations R I J.

Review 1/2 MIPS assembly language instructions mapped to numbers in 3 formats. CS61C Negative Numbers and Logical Operations R I J. CS61C Negative Numbers and Logical Operations cs 61C L7 Number.1 Lecture 7 February 10, 1999 Dave Patterson (http.cs.berkeley.edu/~patterson) www-inst.eecs.berkeley.edu/~cs61c/schedule.html Review 1/2

More information

Computer Organization II CMSC 3833 Lecture 33

Computer Organization II CMSC 3833 Lecture 33 Term MARIE Definition Machine Architecture that is Really Intuitive and Easy 4.8.1 The Architecture Figure s Architecture Characteristics: Binary, two s complement Stored program, fixed word length Word

More information

Basic Definition INTEGER DATA. Unsigned Binary and Binary-Coded Decimal. BCD: Binary-Coded Decimal

Basic Definition INTEGER DATA. Unsigned Binary and Binary-Coded Decimal. BCD: Binary-Coded Decimal Basic Definition REPRESENTING INTEGER DATA Englander Ch. 4 An integer is a number which has no fractional part. Examples: -2022-213 0 1 514 323434565232 Unsigned and -Coded Decimal BCD: -Coded Decimal

More information

COS 126 Written Exam 2 (Spring 2015)

COS 126 Written Exam 2 (Spring 2015) COS 126 Written Exam 2 (Spring 2015) There are 8 questions on this exam, weighted as indicated below. This exam is closed book. You may use a single-page two-sided hand-written cheatsheet. There is a blank

More information

2010 Summer Answers [OS I]

2010 Summer Answers [OS I] CS2503 A-Z Accumulator o Register where CPU stores intermediate arithmetic results. o Speeds up process by not having to store these results in main memory. Addition o Carried out by the ALU. o ADD AX,

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Guest Lecturer Alan Christopher Lecture 08 MIPS Instruction Representation I 2014-02-07 BOINC MORE THAN JUST SETI@HOME BOINC (developed here

More information

World Inside a Computer is Binary

World Inside a Computer is Binary C Programming 1 Representation of int data World Inside a Computer is Binary C Programming 2 Decimal Number System Basic symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Radix-10 positional number system. The radix

More information

EEM 486: Computer Architecture. Lecture 2. MIPS Instruction Set Architecture

EEM 486: Computer Architecture. Lecture 2. MIPS Instruction Set Architecture EEM 486: Computer Architecture Lecture 2 MIPS Instruction Set Architecture EEM 486 Overview Instruction Representation Big idea: stored program consequences of stored program Instructions as numbers Instruction

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

CSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1

CSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1 CSIS1120A 10. Instruction Set & Addressing Mode CSIS1120A 10. Instruction Set & Addressing Mode 1 Elements of a Machine Instruction Operation Code specifies the operation to be performed, e.g. ADD, SUB

More information

Number Systems. Both numbers are positive

Number Systems. Both numbers are positive Number Systems Range of Numbers and Overflow When arithmetic operation such as Addition, Subtraction, Multiplication and Division are performed on numbers the results generated may exceed the range of

More information

The Design of C: A Rational Reconstruction" Jennifer Rexford!

The Design of C: A Rational Reconstruction Jennifer Rexford! The Design of C: A Rational Reconstruction" Jennifer Rexford! 1 Goals of this Lecture"" Number systems! Binary numbers! Finite precision! Binary arithmetic! Logical operators! Design rationale for C! Decisions

More information

C++ to assembly to machine code

C++ to assembly to machine code IBCM 1 C++ to assembly to machine code hello.cpp #include int main() { std::cout

More information

Lecture 6: Signed Numbers & Arithmetic Circuits. BCD (Binary Coded Decimal) Points Addressed in this Lecture

Lecture 6: Signed Numbers & Arithmetic Circuits. BCD (Binary Coded Decimal) Points Addressed in this Lecture Points ddressed in this Lecture Lecture 6: Signed Numbers rithmetic Circuits Professor Peter Cheung Department of EEE, Imperial College London (Floyd 2.5-2.7, 6.1-6.7) (Tocci 6.1-6.11, 9.1-9.2, 9.4) Representing

More information

Microcontroller Systems

Microcontroller Systems µcontroller systems 1 / 43 Microcontroller Systems Engineering Science 2nd year A2 Lectures Prof David Murray david.murray@eng.ox.ac.uk www.robots.ox.ac.uk/ dwm/courses/2co Michaelmas 2014 µcontroller

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Bits and Bytes and Numbers

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Bits and Bytes and Numbers Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Bits and Bytes and Numbers Number Systems Much of this is review, given the 221 prerequisite Question: how high can

More information

Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations Chapter 2 Bits, Data Types, and Operations Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University How do we represent data in a computer?!

More information

A complement number system is used to represent positive and negative integers. A complement number system is based on a fixed length representation

A complement number system is used to represent positive and negative integers. A complement number system is based on a fixed length representation Complement Number Systems A complement number system is used to represent positive and negative integers A complement number system is based on a fixed length representation of numbers Pretend that integers

More information

Recap from Last Time. CSE 2021: Computer Organization. It s All about Numbers! 5/12/2011. Text Pictures Video clips Audio

Recap from Last Time. CSE 2021: Computer Organization. It s All about Numbers! 5/12/2011. Text Pictures Video clips Audio CSE 2021: Computer Organization Recap from Last Time load from disk High-Level Program Lecture-2(a) Data Translation Binary patterns, signed and unsigned integers Today s topic Data Translation Code Translation

More information

Arithmetic Processing

Arithmetic Processing CS/EE 5830/6830 VLSI ARCHITECTURE Chapter 1 Basic Number Representations and Arithmetic Algorithms Arithmetic Processing AP = (operands, operation, results, conditions, singularities) Operands are: Set

More information

Digital Arithmetic. Digital Arithmetic: Operations and Circuits Dr. Farahmand

Digital Arithmetic. Digital Arithmetic: Operations and Circuits Dr. Farahmand Digital Arithmetic Digital Arithmetic: Operations and Circuits Dr. Farahmand Binary Arithmetic Digital circuits are frequently used for arithmetic operations Fundamental arithmetic operations on binary

More information

2.2 THE MARIE Instruction Set Architecture

2.2 THE MARIE Instruction Set Architecture 2.2 THE MARIE Instruction Set Architecture MARIE has a very simple, yet powerful, instruction set. The instruction set architecture (ISA) of a machine specifies the instructions that the computer can perform

More information

COS 126 General Computer Science Spring Written Exam 1

COS 126 General Computer Science Spring Written Exam 1 COS 126 General Computer Science Spring 2014 Written Exam 1 This exam is closed book, except that you are allowed to use a one-page single-sided cheatsheet. No calculators or other electronic devices are

More information

COS 126 Midterm 1 Written Exam Spring 2015

COS 126 Midterm 1 Written Exam Spring 2015 COS 126 Midterm 1 Written Exam Spring 2015 There are 9 questions on this exam, weighted as indicated below. The exam is closed book, though you are allowed to use a single-page one-sided hand-written cheatsheet.

More information

Id Question Microprocessor is the example of architecture. A Princeton B Von Neumann C Rockwell D Harvard Answer A Marks 1 Unit 1

Id Question Microprocessor is the example of architecture. A Princeton B Von Neumann C Rockwell D Harvard Answer A Marks 1 Unit 1 Question Microprocessor is the example of architecture. Princeton Von Neumann Rockwell Harvard nswer Question bus is unidirectional. ata ddress ontrol None of these nswer Question Use of isolates PU form

More information

COMP2611: Computer Organization. Data Representation

COMP2611: Computer Organization. Data Representation COMP2611: Computer Organization Comp2611 Fall 2015 2 1. Binary numbers and 2 s Complement Numbers 3 Bits: are the basis for binary number representation in digital computers What you will learn here: How

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures $2M 3D camera Lecture 8 MIPS Instruction Representation I Instructor: Miki Lustig 2014-09-17 August 25: The final ISA showdown: Is ARM, x86, or

More information

CS61C - Machine Structures. Lecture 6 - Instruction Representation. September 15, 2000 David Patterson.

CS61C - Machine Structures. Lecture 6 - Instruction Representation. September 15, 2000 David Patterson. CS61C - Machine Structures Lecture 6 - Instruction Representation September 15, 2000 David Patterson http://www-inst.eecs.berkeley.edu/~cs61c/ 1 Review Instructions: add, addi, sub, lw, sw beq, bne, j

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

Rui Wang, Assistant professor Dept. of Information and Communication Tongji University.

Rui Wang, Assistant professor Dept. of Information and Communication Tongji University. Instructions: ti Language of the Computer Rui Wang, Assistant professor Dept. of Information and Communication Tongji University it Email: ruiwang@tongji.edu.cn Computer Hierarchy Levels Language understood

More information

TOY II LINC LINC. !1 Introduction to Computer Science Sedgewick and Wayne Copyright 2007

TOY II LINC LINC. !1 Introduction to Computer Science Sedgewick and Wayne Copyright 2007 TOY II Introduction to Computer Science Sedgewick and Wayne Copyright 27 http://www.cs.princeton.edu/introcs 2 LINC LINC 5 6 What We've Learned About TOY Quick Review: Multiply Data representation. Binary

More information

9/23/15. Agenda. Goals of this Lecture. For Your Amusement. Number Systems and Number Representation. The Binary Number System

9/23/15. Agenda. Goals of this Lecture. For Your Amusement. Number Systems and Number Representation. The Binary Number System For Your Amusement Number Systems and Number Representation Jennifer Rexford Question: Why do computer programmers confuse Christmas and Halloween? Answer: Because 25 Dec = 31 Oct -- http://www.electronicsweekly.com

More information

Survey. Motivation 29.5 / 40 class is required

Survey. Motivation 29.5 / 40 class is required Survey Motivation 29.5 / 40 class is required Concerns 6 / 40 not good at examination That s why we have 3 examinations 6 / 40 this class sounds difficult 8 / 40 understand the instructor Want class to

More information

Exploring Little Numbers

Exploring Little Numbers Exploring Little Numbers Chapter 1 Exploring Little Numbers We manipulate numbers all the time and in this chapter we propose you a little journey into the way integers are mapped to their binary representations.

More information

CS 24: INTRODUCTION TO. Spring 2015 Lecture 2 COMPUTING SYSTEMS

CS 24: INTRODUCTION TO. Spring 2015 Lecture 2 COMPUTING SYSTEMS CS 24: INTRODUCTION TO Spring 2015 Lecture 2 COMPUTING SYSTEMS LAST TIME! Began exploring the concepts behind a simple programmable computer! Construct the computer using Boolean values (a.k.a. bits )

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 13 MIPS Instruction Representation I New 160 Megapixel camera!! The Seitz 6 x 17 panorama camera sells for $36K, and produces a 21,250 x

More information

Levels of Programming. Registers

Levels of Programming. Registers Levels of Programming COSC 2021: Computer Organization Instructor: Dr. Amir Asif Department of Computer Science York University Handout # 3: MIPS Instruction Set I Topics: 1. Arithmetic Instructions 2.

More information

MIPS Functions and Instruction Formats

MIPS Functions and Instruction Formats MIPS Functions and Instruction Formats 1 The Contract: The MIPS Calling Convention You write functions, your compiler writes functions, other compilers write functions And all your functions call other

More information

COMP 122/L Lecture 2. Kyle Dewey

COMP 122/L Lecture 2. Kyle Dewey COMP 122/L Lecture 2 Kyle Dewey Outline Operations on binary values AND, OR, XOR, NOT Bit shifting (left, two forms of right) Addition Subtraction Twos complement Bitwise Operations Bitwise AND Similar

More information

Computer Organisation CS303

Computer Organisation CS303 Computer Organisation CS303 Module Period Assignments 1 Day 1 to Day 6 1. Write a program to evaluate the arithmetic statement: X=(A-B + C * (D * E-F))/G + H*K a. Using a general register computer with

More information

ECE 30 Introduction to Computer Engineering

ECE 30 Introduction to Computer Engineering ECE 30 Introduction to Computer Engineering Study Problems, Set #6 Spring 2015 1. With x = 1111 1111 1111 1111 1011 0011 0101 0011 2 and y = 0000 0000 0000 0000 0000 0010 1101 0111 2 representing two s

More information

Organisasi Sistem Komputer

Organisasi Sistem Komputer LOGO Organisasi Sistem Komputer OSK 8 Aritmatika Komputer 1 1 PT. Elektronika FT UNY Does the calculations Arithmetic & Logic Unit Everything else in the computer is there to service this unit Handles

More information

Instructions: MIPS ISA. Chapter 2 Instructions: Language of the Computer 1

Instructions: MIPS ISA. Chapter 2 Instructions: Language of the Computer 1 Instructions: MIPS ISA Chapter 2 Instructions: Language of the Computer 1 PH Chapter 2 Pt A Instructions: MIPS ISA Based on Text: Patterson Henessey Publisher: Morgan Kaufmann Edited by Y.K. Malaiya for

More information

2. Define Instruction Set Architecture. What are its two main characteristics? Be precise!

2. Define Instruction Set Architecture. What are its two main characteristics? Be precise! Chapter 1: Computer Abstractions and Technology 1. Assume two processors, a CISC processor and a RISC processor. In order to run a particular program, the CISC processor must execute 10 million instructions

More information

Signed umbers. Sign/Magnitude otation

Signed umbers. Sign/Magnitude otation Signed umbers So far we have discussed unsigned number representations. In particular, we have looked at the binary number system and shorthand methods in representing binary codes. With m binary digits,

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 13 Introduction to MIPS Instruction Representation I Lecturer PSOE Dan Garcia www.cs.berkeley.edu/~ddgarcia Anyone seen Terminator? Military

More information

The Assembly Language of the Boz 5

The Assembly Language of the Boz 5 The Assembly Language of the Boz 5 The Boz 5 uses bits 31 27 of the IR as a five bit opcode. Of the possible 32 opcodes, only 26 are implemented. Op-Code Mnemonic Description 00000 HLT Halt the Computer

More information

Module 2: Computer Arithmetic

Module 2: Computer Arithmetic Module 2: Computer Arithmetic 1 B O O K : C O M P U T E R O R G A N I Z A T I O N A N D D E S I G N, 3 E D, D A V I D L. P A T T E R S O N A N D J O H N L. H A N N E S S Y, M O R G A N K A U F M A N N

More information

Adding Binary Integers. Part 5. Adding Base 10 Numbers. Adding 2's Complement. Adding Binary Example = 10. Arithmetic Logic Unit

Adding Binary Integers. Part 5. Adding Base 10 Numbers. Adding 2's Complement. Adding Binary Example = 10. Arithmetic Logic Unit Part 5 Adding Binary Integers Arithmetic Logic Unit = Adding Binary Integers Adding Base Numbers Computer's add binary numbers the same way that we do with decimal Columns are aligned, added, and "'s"

More information

Chapter 2. Instruction Set. RISC vs. CISC Instruction set. The University of Adelaide, School of Computer Science 18 September 2017

Chapter 2. Instruction Set. RISC vs. CISC Instruction set. The University of Adelaide, School of Computer Science 18 September 2017 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface RISC-V Edition Chapter 2 Instructions: Language of the Computer These slides are based on the slides by the authors. The slides doesn t

More information

Computer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2

Computer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2 Computer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2 Instructor: Rob Bergen Applied Computer Science University of Winnipeg Announcements Website is up

More information

Chapter 3: part 3 Binary Subtraction

Chapter 3: part 3 Binary Subtraction Chapter 3: part 3 Binary Subtraction Iterative combinational circuits Binary adders Half and full adders Ripple carry and carry lookahead adders Binary subtraction Binary adder-subtractors Signed binary

More information

Logic, Words, and Integers

Logic, Words, and Integers Computer Science 52 Logic, Words, and Integers 1 Words and Data The basic unit of information in a computer is the bit; it is simply a quantity that takes one of two values, 0 or 1. A sequence of k bits

More information

The Design of C: A Rational Reconstruction

The Design of C: A Rational Reconstruction The Design of C: A Rational Reconstruction 2 Goals of this Lecture Help you learn about: The decisions that were available to the designers of C The decisions that were made by the designers of C and thereby

More information

Chapter 13. The ISA of a simplified DLX Why use abstractions?

Chapter 13. The ISA of a simplified DLX Why use abstractions? Chapter 13 The ISA of a simplified DLX In this chapter we describe a specification of a simple microprocessor called the simplified DLX. The specification is called an instruction set architecture (ISA).

More information

Chapter 2A Instructions: Language of the Computer

Chapter 2A Instructions: Language of the Computer Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction

More information

CS 61C: Great Ideas in Computer Architecture. MIPS Instruction Formats

CS 61C: Great Ideas in Computer Architecture. MIPS Instruction Formats CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats Instructor: Justin Hsia 6/27/2012 Summer 2012 Lecture #7 1 Review of Last Lecture New registers: $a0-$a3, $v0-$v1, $ra, $sp Also: $at,

More information

D I G I T A L C I R C U I T S E E

D I G I T A L C I R C U I T S E E D I G I T A L C I R C U I T S E E Digital Circuits Basic Scope and Introduction This book covers theory solved examples and previous year gate question for following topics: Number system, Boolean algebra,

More information

CSCI 2212: Intermediate Programming / C Chapter 15

CSCI 2212: Intermediate Programming / C Chapter 15 ... /34 CSCI 222: Intermediate Programming / C Chapter 5 Alice E. Fischer October 9 and 2, 25 ... 2/34 Outline Integer Representations Binary Integers Integer Types Bit Operations Applying Bit Operations

More information

Topic Notes: Bits and Bytes and Numbers

Topic Notes: Bits and Bytes and Numbers Computer Science 220 Assembly Language & Comp Architecture Siena College Fall 2011 Topic Notes: Bits and Bytes and Numbers Binary Basics At least some of this will be review for most of you, but we start

More information

ECE251: Tuesday Aug. 29

ECE251: Tuesday Aug. 29 ECE251: Tuesday Aug. 29 ARM Cortex Architecture: Data Movement Loading memory data into registers Storing register data into memory Indexed Addressing Reading: Chapters 1 and 5 Labs: #1 due this week at

More information

COS 140: Foundations of Computer Science

COS 140: Foundations of Computer Science COS 140: Foundations of Computer Science CPU Organization and Assembly Language Fall 2018 CPU 3 Components of the CPU..................................................... 4 Registers................................................................

More information

Representation of Non Negative Integers

Representation of Non Negative Integers Representation of Non Negative Integers In each of one s complement and two s complement arithmetic, no special steps are required to represent a non negative integer. All conversions to the complement

More information

Problem with Scanning an Infix Expression

Problem with Scanning an Infix Expression Operator Notation Consider the infix expression (X Y) + (W U), with parentheses added to make the evaluation order perfectly obvious. This is an arithmetic expression written in standard form, called infix

More information