What is TOY? An imaginary machine similar to: ! Ancient computers. ! Today's microprocessors.
|
|
- Dorothy Woods
- 5 years ago
- Views:
Transcription
1 5. The TOY Machine Introduction to Programming in Java: An Interdisciplinary Approach Robert Sedgewick and Kevin Wayne Copyright 3// 5:3 AM!
2 What is TOY? An imaginary machine similar to:! Ancient computers.! Today's microprocessors. 4
3 Why Study TOY? Machine language programming.! How do Java programs relate to computer?! Key to understanding Java references.! Still situations today where it is really necessary. multimedia, computer games, scientific computing, SSE, AVX Computer architecture.! How does it work?! How is a computer put together? TOY machine. Optimized for simplicity, not cost or performance. 5
4 Data and Programs Are Encoded in Binary Each bit consists of two states:! or ; true or false.! Switch is on or off; wire has high voltage or low voltage. Everything stored in a computer is a sequence of bits.! Data and programs.! Text, documents, pictures, sounds, movies, executables, TOY machine. Data and programs stored in memory. 6
5 Binary Encoding How to represent integers?! Use binary encoding. Dec Bin Dec Bin! Ex: 6375 = ? 6375 = 6375 =
6 Hexadecimal Encoding How to represent integers?! Use hexadecimal encoding. Dec Bin Hex Dec Bin Hex! Ex: 6375 = 8 8 = 8E binary code, 4 bits at a time 3 3 A B 4 4 C D E F ? 8 E =! ! 6 + 4! ! 6 =
7 Inside the Box Switches. Input data and programs. Lights. View data. Memory.! Stores data and programs.! 56 6-bit "words."! Special word for stdin / stdout. Registers.! Fastest form of storage.! Scratch space during computation.! 6 6-bit registers.! Register is always. Arithmetic-logic unit (ALU). Manipulate data stored in registers. Program counter (PC).! An extra 8-bit register.! Next instruction to be executed. Standard input, standard output. Interact with outside world. MEMORY R E G ALU
8 TOY Machine "Core" Dump Core dump. Contents of machine at a particular place and time.! Record of what program has done.! Completely determines what machine will do. Registers pc Memory R R R R3 : 8 5 8: R4 R8 RC R5 R9 RD R6 RA RE R7 RB RF index of next instruction data program : 8: : 8:.. E8: 8A 8B CAB 9C variables F: F8:
9 A Sample Program A sample program. Adds = D. TOY memory (program and data) comments RA RB RC pc : 8 8 : 5 5 : Registers Program counter : 8A RA " mem[] : 8B RB " mem[] : CAB RC " RA + RB 3: 9C mem[] " RC 4: halt add.toy
10 A Sample Program Program counter. The pc is initially, so the machine interprets 8A as an instruction. RA RB RC pc : 8 8 : 5 5 : Registers index of next instruction to execute Program counter : 8A RA " mem[] : 8B RB " mem[] : CAB RC " RA + RB 3: 9C mem[] " RC 4: halt add.toy 3
11 Load Load. [opcode 8]! Loads the contents of some memory location into a register.! 8A means load the contents of memory cell into register A. RA RB RC pc : 8 8 : 5 5 : Registers Program counter : 8A RA " mem[] : 8B RB " mem[] : CAB RC " RA + RB 3: 9C mem[] " RC 4: halt add.toy ? 8 6 A 6 6 opcode dest d addr 4
12 Load Load. [opcode 8]! Loads the contents of some memory location into a register.! 8B means load the contents of memory cell into register B. RA RB RC pc : 8 8 : 5 5 : 8 Registers Program counter : 8A RA " mem[] : 8B RB " mem[] : CAB RC " RA + RB 3: 9C mem[] " RC 4: halt add.toy ? 8 6 B 6 6 opcode dest d addr 5
13 Add Add. [opcode ]! Add contents of two registers and store sum in a third.! CAB means add the contents of registers A and B and put the result into register C. RA RB RC pc : 8 8 : 5 5 : 8 5 Registers Program counter : 8A RA " mem[] : 8B RB " mem[] : CAB RC " RA + RB 3: 9C mem[] " RC 4: halt add.toy ? 6 C 6 A 6 B 6 opcode dest d source s source t 6
14 Store Store. [opcode 9]! Stores the contents of some register into a memory cell.! 9C means store the contents of register C into memory cell. RA RB RC pc : 8 8 : 5 5 : 8 5 Registers D 3 Program counter : 8A RA " mem[] : 8B RB " mem[] : CAB RC " RA + RB 3: 9C mem[] " RC 4: halt add.toy ? 9 6 C 6 6 opcode dest d addr 7
15 Halt Halt. [opcode ]! Stop the machine. RA RB RC pc : 8 8 : 5 5 : D D 8 5 Registers D 4 Program counter : 8A RA " mem[] : 8B RB " mem[] : CAB RC " RA + RB 3: 9C mem[] " RC 4: halt add.toy 8
16 Program and Data Instructions Program. Sequence of 6-bit integers, interpreted one way. Data. Sequence of 6-bit integers, interpreted other way. Program counter (pc). Holds memory address of the next "instruction" and determines which integers get interpreted as instructions. 6 instruction types. Changes contents of registers, memory, and pc in specified, well-defined ways. : halt : add : subtract 3: and 4: xor 5: shift left 6: shift right 7: load address 8: load 9: store A: load indirect B: store indirect C: branch zero D: branch positive E: jump register F: jump and link 9
17 TOY Instruction Set Architecture TOY instruction set architecture (ISA).! Interface that specifies behavior of machine.! 6 register, 56 words of main memory, 6-bit words.! 6 instructions. Each instruction consists of 6 bits.! Bits -5 encode one of 6 instruction types or opcodes.! Bits 8- encode destination register d.! Bits -7 encode: [Format ] source registers s and t [Format ] 8-bit memory address or constant add, subtract, load, store, ? Format Format opcode dest d source s source t opcode dest d addr
18 Interfacing with the TOY Machine To enter a program or data:! Set 8 memory address switches.! Set 6 data switches.! Press Load: data written into addressed word of memory. To view the results of a program:! Set 8 memory address switches.! Press Look: contents of addressed word appears in lights.
19 Interfacing with the TOY Machine To execute the program:! Set 8 memory address switches to address of first instruction.! Press Look to set pc to first instruction.! Press Run to repeat fetch-execute cycle until halt opcode. Fetch-execute cycle.! Fetch: get instruction from memory.! Execute: update pc, move data to or from memory and registers, perform calculations. Fetch
20 Flow Control Flow control.! To harness the power of TOY, need loops and conditionals.! Manipulate pc to control program flow. if (boolean expression) { statement ; statement ; } while (boolean expression) { statement ; statement ; } Branch if zero. [opcode C]! Changes pc depending on whether value of some register is zero.! Used to implement: for, while, if-else. Branch if positive. [opcode D]! Changes pc depending on whether value of some register is positive.! Used to implement: for, while, if-else. 3
21 An Example: Multiplication Multiply. Given integers a and b, compute c = a! b. TOY multiplication. No direct support in TOY hardware. Brute-force multiplication algorithm:! Initialize c to.! Add b to c, a times. int a = 3; int b = 9; int c = ; while (a!= ) { c = c + b; a = a - ; } brute force multiply in Java Issues ignored. Slow, overflow, negative numbers. 4
22 Multiply A: 3 3 B: 9 9 C: D: E: inputs output constants : 8AA RA " mem[a] a : 8BB RB " mem[b] b : 8CD RC " mem[d] c = 3: 8E R " mem[e] always loop 4: CA8 if (RA == ) pc " 8 while (a!= ) { 5: CCB RC " RC + RB c = c + b 6: AA RA " RA - R a = a - 7: C4 pc " 4 } 8: 9CC mem[c] " RC 9: halt multiply.toy 5
23 Step-By-Step Trace R RA RB RC : 8AA RA " mem[a] 3 : 8BB RB " mem[b] 9 : 8CD RC " mem[d] 3: 8E R " mem[e] 4: CA8 if (RA == ) pc " 8 5: CCB RC " RC + RB 9 6: AA RA " RA R 7: C4 pc " 4 4: CA8 if (RA == ) pc " 8 5: CCB RC " RC + RB 6: AA RA " RA R 7: C4 pc " 4 4: CA8 if (RA == ) pc " 8 5: CCB RC " RC + RB B 6: AA RA " RA R 7: C4 pc " 4 4: CA8 if (RA == ) pc " 8 8: 9CC mem[c] " RC 9: halt multiply.toy 6
24 A Little History Electronic Numerical Integrator and Calculator (ENIAC).! First widely known general purpose electronic computer.! Conditional jumps, programmable.! Programming: change switches and cable connections.! Data: enter numbers using punch cards. 3 tons 3 x 5 x 8.5 ft 7,468 vacuum tubes 3 multiply/sec John Mauchly (left) and J. Presper Eckert (right) ENIAC, Ester Gerston (left), Gloria Gordon (right) US Army photo: 7
25 Basic Characteristics of TOY Machine TOY is a general-purpose computer.! Sufficient power to perform any computation.! Limited only by amount of memory and time. Stored-program computer. [von Neumann memo, 944]! Data and program encoded in binary.! Data and program stored in same memory.! Can change program without rewiring. John von Neumann Outgrowth of Alan Turing's work. (stay tuned) All modern computers are general-purpose computers and have same (von Neumann) architecture. Maurice Wilkes (left) EDSAC (right) 8
26 Harvard vs. Princeton Harvard architecture.! Separate program and data memories.! Can't load game from disk (data) and execute (program).! Used in some microcontrollers. Von Neumann architecture.! Program and data stored in same memory.! Used in almost all computers. Q. What's the difference between Harvard and Princeton? A. At Princeton, data and programs are the same. 9
27 TOY Reference Card Format Format opcode dest d source s source t opcode dest d addr # Operation Fmt Pseudocode : halt exit() : add R[d] " R[s] + R[t] : subtract R[d] " R[s] - R[t] 3: and R[d] " R[s] & R[t] 4: xor R[d] " R[s] ^ R[t] 5: shift left R[d] " R[s] << R[t] 6: shift right R[d] " R[s] >> R[t] 7: load addr R[d] " addr 8: load R[d] " mem[addr] 9: store mem[addr] " R[d] A: load indirect B: store indirect C: branch zero R[d] " mem[r[t]] mem[r[t]] " R[d] if (R[d] == ) pc " addr Register always reads. Loads from mem[ff] from stdin. Stores to mem[ff] to stdout. D: branch positive E: jump register F: jump and link if (R[d] > ) pc " addr pc " R[d] R[d] " pc; pc " addr 6-bit registers. 6-bit memory. 8-bit program counter. 3
! 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 information11. 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 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 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 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 information! Binary and hex. ! Box with switches and lights. ! 4,328 bits = (255 " 16) + (15 " 16) + (8) = 541 bytes! ! von Neumann architecture.
What We've Learned About TOY TOY II Data representation. Binary and hex. TOY: what's in it, how to use it. Box with switches and lights. 4,328 bits = (255 " 6) + (5 " 6) + (8) = 54 bytes von Neumann architecture.
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 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 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 informationCS.17.A.MachineI.Overview
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
More informationCOS 126 General Computer Science Fall Exam 1
COS 126 General Computer Science Fall 2005 Exam 1 This test has 9 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 cheatsheet,
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 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 informationComputer Science. 18. von Neumann Machines. Computer Science COMPUTER SCIENCE. Sections
COMPUTER SCIENCE S E D G E W I C K / W A Y N E PA R T I I : A L G O R I T H M S, M A C H I N E S, a n d T H E O R Y Computer Science Computer Science An Interdisciplinary Approach ROBERT SEDGEWICK K E
More informationCIS 110 Introduction to Computer Programming. 17 December 2012 Final Exam
CIS 110 Introduction to Computer Programming 17 December 2012 Final Exam Name: Recitation # (e.g. 201): Pennkey (e.g. bjbrown): My signature below certifies that I have complied with the University of
More information2. Computer Evolution and Performance
2. Computer Evolution and Performance Spring 2016 Spring 2016 CS430 - Computer Architecture 1 Chapter 2: Computer Evolution and Performance Reading: pp. 16-49 Good Problems to Work: 2.1, 2.3, 2.4, 2.8,
More informationLecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)
Lecture Topics Today: The MIPS ISA (P&H 2.1-2.14) Next: continued 1 Announcements Milestone #1 (due 1/26) Milestone #2 (due 2/2) Milestone #3 (due 2/9) 2 1 Evolution of Computing Machinery To understand
More informationChapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atanasoff in 1939?) Hard-wired program --
More informationCS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015
CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 3, 2015 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if
More informationCS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016
CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 2, 2016 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if
More informationC++ to assembly to machine code
IBCM 1 C++ to assembly to machine code hello.cpp #include int main() { std::cout
More informationChapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atanasoff in 1939?) Hard-wired program --
More informationVirtual machines. Virtual machines. Abstractions for computers. Abstractions for computers. Virtual machines
1 2 Problems with programming using machine code Difficult to remember instructions Difficult to remember variables Hard to calculate addresses/relocate variables or functions Need to handle instruction
More information18. Machine Language. Computer Systems. COMP1917: Computing 1. Machine Language Programming. History of Computer Technology
COMP1917 13s2 18. Machine Language 1 COMP1917: Computing 1 18. Machine Language Computer Systems Recall: modern computer systems are layered. Applications Programming Language Operating System Assembly
More informationEC-801 Advanced Computer Architecture
EC-801 Advanced Computer Architecture Lecture 5 Instruction Set Architecture I Dr Hashim Ali Fall 2018 Department of Computer Science and Engineering HITEC University Taxila!1 Instruction Set Architecture
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 informationIntroduction to Computer Engineering. CS/ECE 252 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper
More informationCOS 126 General Computer Science Fall Exam 1
COS 126 General Computer Science Fall 2008 Exam 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 cheatsheet,
More informationChapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atananasoff in 1939?) Hard-wired program
More informationCSEE 3827: Fundamentals of Computer Systems
CSEE 3827: Fundamentals of Computer Systems Lecture 15 April 1, 2009 martha@cs.columbia.edu and the rest of the semester Source code (e.g., *.java, *.c) (software) Compiler MIPS instruction set architecture
More informationLecture 4: MIPS Instruction Set
Lecture 4: MIPS Instruction Set No class on Tuesday Today s topic: MIPS instructions Code examples 1 Instruction Set Understanding the language of the hardware is key to understanding the hardware/software
More informationCIS 110 Introduction to Computer Programming. 7 May 2012 Final Exam
CIS 110 Introduction to Computer Programming 7 May 2012 Final Exam Name: Recitation # (e.g. 201): Pennkey (e.g. bjbrown): My signature below certifies that I have complied with the University of Pennsylvania
More informationAdvanced Parallel Architecture Lesson 3. Annalisa Massini /2015
Advanced Parallel Architecture Lesson 3 Annalisa Massini - Von Neumann Architecture 2 Two lessons Summary of the traditional computer architecture Von Neumann architecture http://williamstallings.com/coa/coa7e.html
More informationLC-3 Architecture. (Ch4 ish material)
LC-3 Architecture (Ch4 ish material) 1 CISC vs. RISC CISC : Complex Instruction Set Computer Lots of instructions of variable size, very memory optimal, typically less registers. RISC : Reduced Instruction
More informationCopyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers
Chapter 4 The Von Neumann Model Original slides from Gregory Byrd, North Carolina State University Modified slides by C. Wilcox, S. Rajopadhye, Colorado State University Computing Layers Problems Algorithms
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 information6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )
6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Signals and Wires Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate digital signals
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 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 informationAgenda EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 1: Introduction. Go over the syllabus 3/31/2010
// EE : INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN Lecture : Introduction /9/ Avinash Kodi, kodi@ohio.edu Agenda Go over the syllabus Introduction ti to Digital it Systems // Why Digital Systems?
More informationComputer Architecture Review. ICS332 - Spring 2016 Operating Systems
Computer Architecture Review ICS332 - Spring 2016 Operating Systems ENIAC (1946) Electronic Numerical Integrator and Calculator Stored-Program Computer (instead of Fixed-Program) Vacuum tubes, punch cards
More information11/22/1999 7pm - 9pm. Name: Login Name: Preceptor Name: Precept Number:
Login Preceptor Precept Number: Computer Science 126 Second Midterm Exam 11/22/1999 7pm - 9pm This exam has 10 questions. The weight of each question is printed in the table below and next to each question.
More 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 informationTHE MICROPROCESSOR Von Neumann s Architecture Model
THE ICROPROCESSOR Von Neumann s Architecture odel Input/Output unit Provides instructions and data emory unit Stores both instructions and data Arithmetic and logic unit Processes everything Control unit
More informationNotes: The Marie Simulator
The Accumulator (AC) is the register where calculations are performed. To add two numbers together, a) load the first number into the accumulator with a Load instruction b) Add the second number to the
More informationDesigning an Instruction Set
Designing an Instruction Set Lab 4 due today NEXT TUESDAY, /22! 6.4 Fall 22 /7/ L2 Instruction Set Let s Build a Simple Computer Data path for computing N*(N-) N A SEL B SEL A LE L.E. A B LE L.E. B * -
More informationCS 24: INTRODUCTION TO. Spring 2018 Lecture 3 COMPUTING SYSTEMS
CS 24: INTRODUCTION TO Spring 2018 Lecture 3 COMPUTING SYSTEMS LAST TIME Basic components of processors: Buses, multiplexers, demultiplexers Arithmetic/Logic Unit (ALU) Addressable memory Assembled components
More informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization
CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
More informationvon Neumann Architecture Basic Computer System Early Computers Microprocessor Reading Assignment An Introduction to Computer Architecture
Reading Assignment EEL 4744C: Microprocessor Applications Lecture 1 Part 1 An Introduction to Computer Architecture Microcontrollers and Microcomputers: Chapter 1, Appendix A, Chapter 2 Software and Hardware
More informationBasic Computer System. von Neumann Architecture. Reading Assignment. An Introduction to Computer Architecture. EEL 4744C: Microprocessor Applications
Reading Assignment EEL 4744C: Microprocessor Applications Lecture 1 Part 1 An Introduction to Computer Architecture Microcontrollers and Microcomputers: Chapter 1, Appendix A, Chapter 2 Software and Hardware
More informationInstruction Set Design
Instruction Set Design software instruction set hardware CPE442 Lec 3 ISA.1 Instruction Set Architecture Programmer's View ADD SUBTRACT AND OR COMPARE... 01010 01110 10011 10001 11010... CPU Memory I/O
More informationLecture 2: RISC V Instruction Set Architecture. Housekeeping
S 17 L2 1 18 447 Lecture 2: RISC V Instruction Set Architecture James C. Hoe Department of ECE Carnegie Mellon University Housekeeping S 17 L2 2 Your goal today get bootstrapped on RISC V RV32I to start
More informationHardware Design I Chap. 10 Design of microprocessor
Hardware Design I Chap. 0 Design of microprocessor E-mail: shimada@is.naist.jp Outline What is microprocessor? Microprocessor from sequential machine viewpoint Microprocessor and Neumann computer Memory
More informationTypical Processor Execution Cycle
Typical Processor Execution Cycle Instruction Fetch Obtain instruction from program storage Instruction Decode Determine required actions and instruction size Operand Fetch Locate and obtain operand data
More informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA
CISC 662 Graduate Computer Architecture Lecture 4 - ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
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 informationRISC Architecture Ch 12
RISC Ch 12 Some History Instruction Usage Characteristics Large Register Files Register Allocation Optimization RISC vs. CISC 1 General purpose computer Howard Aiken, Mark I, 1944 relays, 17m long, 2.4m
More informationLecture 10: Simple Data Path
Lecture 10: Simple Data Path Course so far Performance comparisons Amdahl s law ISA function & principles What do bits mean? Computer math Today Take QUIZ 6 over P&H.1-, before 11:59pm today How do computers
More informationISA and RISCV. CASS 2018 Lavanya Ramapantulu
ISA and RISCV CASS 2018 Lavanya Ramapantulu Program Program =?? Algorithm + Data Structures Niklaus Wirth Program (Abstraction) of processor/hardware that executes 3-Jul-18 CASS18 - ISA and RISCV 2 Program
More informationSoftware and Hardware
Software and Hardware Numbers At the most fundamental level, a computer manipulates electricity according to specific rules To make those rules produce something useful, we need to associate the electrical
More 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 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 informationWilliam Stallings Computer Organization and Architecture 8 th Edition. Chapter 2 Computer Evolution and Performance
William Stallings Computer Organization and Architecture 8 th Edition Chapter 2 Computer Evolution and Performance Analytical Engine ENIAC - background Electronic Numerical Integrator And Computer Eckert
More informationOutline. EEL-4713 Computer Architecture Designing a Single Cycle Datapath
Outline EEL-473 Computer Architecture Designing a Single Cycle path Introduction The steps of designing a processor path and timing for register-register operations path for logical operations with immediates
More informationThe von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.
IT 3123 Hardware and Software Concepts February 11 and Memory II Copyright 2005 by Bob Brown The von Neumann Architecture 00 01 02 03 PC IR Control Unit Command Memory ALU 96 97 98 99 Notice: This session
More informationare Softw Instruction Set Architecture Microarchitecture are rdw
Program, Application Software Programming Language Compiler/Interpreter Operating System Instruction Set Architecture Hardware Microarchitecture Digital Logic Devices (transistors, etc.) Solid-State Physics
More informationIntroduction to Computer Science. Homework 1
Introduction to Computer Science Homework. In each circuit below, the rectangles represent the same type of gate. Based on the input and output information given, identify whether the gate involved is
More informationThe Modern Computer. Exploring Computer Science
The Modern Computer Exploring Computer Science 2016-2017 Programmers at Work on ENIAC Gloria Ruth Gordon [Bolotsky] and Ester Gerston c. 1946 Source: http://ftp.arl.mil/ftp/historic-computers/ Programmers
More informationLecture 2: RISC V Instruction Set Architecture. James C. Hoe Department of ECE Carnegie Mellon University
18 447 Lecture 2: RISC V Instruction Set Architecture James C. Hoe Department of ECE Carnegie Mellon University 18 447 S18 L02 S1, James C. Hoe, CMU/ECE/CALCM, 2018 Your goal today Housekeeping get bootstrapped
More informationProgrammable Machines
Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational
More informationComputer Architecture
CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,
More informationProgrammable Machines
Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2009 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:
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 informationWelcome to COS151! 1.1
Welcome to COS151! Title: Introduction to Computer Science Course website: https://cs.up.ac.za/admin/courses/cos151 Find the study guide there Announcements Assignments (download & upload) Brief overview
More information361 datapath.1. Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath
361 datapath.1 Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath Outline of Today s Lecture Introduction Where are we with respect to the BIG picture? Questions and Administrative
More information9. Programmable Machines
9. Programmable Machines 6.004x Computation Structures Part 2 Computer Architecture Copyright 2015 MIT EECS 6.004 Computation Structures L09: Programmable Machines, Slide #1 Example: Factorial factorial(n)
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013 TOPICS TODAY Course overview Levels of machines Machine models: von Neumann & System Bus Fetch-Execute Cycle Base
More informationIntroduction to Digital Logic
Introduction to Digital Logic Lecture 5 Simple CPU Overview Instruction Set Software Process Software Program High Level Language Description if (x > ) x = x + y - z; a = b*x; Compiler JLEZ X,SKIP MOVE.W
More informationChronological History of the Pre-Computer Developments
500 B. C. Abacus 1621 Slide Rule 1623 Schickard s Adding Machine (Germany) 1642 Pascal s Adding Machine (France) 1673 Leibniz Calculator (Germany) 1804 Jacquard Loom and Punch Cards 1822 Babbage s Difference
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations
More informationIntroduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University
Introduction to the MIPS Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS The Microprocessor without Interlocked Pipeline Stages
More informationFundamental concepts of Information Technology
Fundamental concepts of Information Technology A brief history, the Neumann architecture, the language of computers Csernyi Gábor Department of English Linguistics University of Debrecen Csernyi Gábor
More informationComputer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra
Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationEE 3170 Microcontroller Applications
EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline
More informationCENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu
CENG 342 Computer Organization and Design Lecture 6: MIPS Processor - I Bei Yu CEG342 L6. Spring 26 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified
More informationComputer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories
Computer Organization Structure of a Computer Computer design as an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + Control = finite
More informationCSCI 402: Computer Architectures. Instructions: Language of the Computer (1) Fengguang Song Department of Computer & Information Science IUPUI
To study Chapter 2: CSCI 402: Computer Architectures Instructions: Language of the Computer (1) Fengguang Song Department of Computer & Information Science IUPUI Contents 2.1-2.3 Introduction to what is
More informationThe MIPS Processor Datapath
The MIPS Processor Datapath Module Outline MIPS datapath implementation Register File, Instruction memory, Data memory Instruction interpretation and execution. Combinational control Assignment: Datapath
More informationInstruction Set Architecture. "Speaking with the computer"
Instruction Set Architecture "Speaking with the computer" The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design
More informationELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 4: Datapath and Control
ELEC 52/62 Computer Architecture and Design Spring 217 Lecture 4: Datapath and Control Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849
More informationCENG 3420 Lecture 06: Datapath
CENG 342 Lecture 6: Datapath Bei Yu byu@cse.cuhk.edu.hk CENG342 L6. Spring 27 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified to contain only: memory-reference
More informationTopic Notes: MIPS Instruction Set Architecture
Computer Science 220 Assembly Language & Comp. Architecture Siena College Fall 2011 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture.
More informationA Processor. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3
A Processor Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 2.16-20, 4.1-3 Let s build a MIPS CPU but using Harvard architecture Basic Computer System Registers ALU
More informationCOMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA)
COMP2121: Microprocessors and Interfacing Instruction Set Architecture (ISA) http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 Contents Memory models Registers Data types Instructions
More informationCS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats
CS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats Instructors: Krste Asanović and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 9/14/17 Fall 2017 - Lecture #7 1 Levels of
More information9/14/17. Levels of Representation/Interpretation. Big Idea: Stored-Program Computer
CS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats Instructors: Krste Asanović and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 Fall 2017 - Lecture #7 1 Levels of Representation/Interpretation
More information( input = α output = λ move = L )
basicarchitectures What we are looking for -- A general design/organization -- Some concept of generality and completeness -- A completely abstract view of machines a definition a completely (?) general
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 information