CS.17.A.MachineI.Overview
|
|
- Norma Webster
- 5 years ago
- Views:
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
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 informationWhat 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.
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 informationComputer 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 informationCOS 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 informationLecture 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 informationMidterm 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 informationCS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014
B CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014 DUE : March 3, 2014 READ : - Related sections of Chapter 2 - Related sections of Chapter 3 - Related sections of Appendix A - Related sections
More informationThe 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 informationNumber 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 informationBinary 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 informationCourse 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 informationCS61C 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 informationChapter 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 informationDecimal & 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 informationInf2C - 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 information1010 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 informationThe 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 informationNumbers 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 informationChapter 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 informationCS 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 informationUnsigned 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 informationECE232: 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 informationUnsigned 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 informationBits, 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 informationAdmin. ! 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 informationCS101 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 informationComputer 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 informationThe 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 informationCS1004: 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 informationAdmin 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 informationCISC 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 informationCOS 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 information12/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 information5. 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 informationThe 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 informationReview 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 informationComputer 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 informationBasic 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 informationCOS 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 information2010 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 informationUCB 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 informationWorld 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 informationEEM 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 informationEC 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 informationCSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1
CSIS1120A 10. Instruction Set & Addressing Mode CSIS1120A 10. Instruction Set & Addressing Mode 1 Elements of a Machine Instruction Operation Code specifies the operation to be performed, e.g. ADD, SUB
More informationNumber 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 informationThe 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 informationC++ to assembly to machine code
IBCM 1 C++ to assembly to machine code hello.cpp #include int main() { std::cout
More informationLecture 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 informationMicrocontroller 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 informationComputer 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 informationChapter 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 informationA 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 informationRecap 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 informationArithmetic 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 informationDigital 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 information2.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 informationCOS 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 informationCOS 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 informationId 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 informationCOMP2611: 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 informationCS61C : 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 informationCS61C - 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 informationCSC 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 informationRui Wang, Assistant professor Dept. of Information and Communication Tongji University.
Instructions: ti Language of the Computer Rui Wang, Assistant professor Dept. of Information and Communication Tongji University it Email: ruiwang@tongji.edu.cn Computer Hierarchy Levels Language understood
More informationTOY 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 information9/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 informationSurvey. 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 informationExploring 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 informationCS 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 informationCS61C : 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 informationLevels 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 informationMIPS Functions and Instruction Formats
MIPS Functions and Instruction Formats 1 The Contract: The MIPS Calling Convention You write functions, your compiler writes functions, other compilers write functions And all your functions call other
More informationCOMP 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 informationComputer 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 informationECE 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 informationOrganisasi 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 informationInstructions: 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 information2. 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 informationSigned 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 informationCS61C : 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 informationThe 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 informationModule 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 informationAdding 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 informationChapter 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 informationComputer 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 informationChapter 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 informationLogic, 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 informationThe 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 informationChapter 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 informationChapter 2A Instructions: Language of the Computer
Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction
More informationCS 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 informationD 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 informationCSCI 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 informationTopic 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 informationECE251: 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 informationCOS 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 informationRepresentation 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 informationProblem 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