Computer Organization
|
|
- Aldous Reynolds
- 5 years ago
- Views:
Transcription
1 Computer Organization Douglas Comer Computer Science Department Purue University 250 N. University Street West Lafayette, IN Copyright All rights reserve. This ocument may not be reprouce by any means without written consent of the author.
2 V Processor Types An Instruction Sets CS Chapt
3 What Instructions Shoul A Processor Offer? Minimum set is sufficient, but inconvenient Extremely large set is convenient, but inefficient Architect must consier aitional factors Physical size of processor Expecte use Power consumption CS Chapt
4 The Point About Instruction Sets The set of operations a processor provies represents a traeoff among the cost of the harware, the convenience for a programmer, an engineering consierations such as power consumption. CS Chapt
5 Representation Architect must choose Set of instructions Exact representation harware uses for each instruction (instruction format) Precise meaning when instruction execute Above items efine the instruction set CS Chapt
6 Parts Of An Instruction Opcoe specifies instruction to be performe Operans specify ata values on which to operate Result location specifies where result will be place CS Chapt
7 Instruction Format Instruction represente as binary string Typically Opcoe at beginning of instruction Operans follow opcoe CS Chapt
8 Illustration Of Typical Instruction Format opcoe operan 1 operan 2... CS Chapt
9 Instruction Length Fixe-length Every instruction is same size Harware is less complex Harware can run faster Variable-length Some instructions shorter than others Appeals to programmers More efficient use of memory CS Chapt
10 The Point About Fixe-Length Instructions When a fixe-length instruction set is employe, some instructions contain extra fiels that the harware ignores. The unuse fiels shoul be viewe as part of a harware optimization, not as an inication of a poor esign. CS Chapt
11 General-Purpose Registers High-spee storage evice Typically part of the processor Each register small size (typically, each register can accommoate an integer) Basic operations are fetch an store Numbere from 0 through N 1 Many processors require operans for arithmetic operations to be place in general-purpose registers CS Chapt
12 Floating Point Registers Usually separate from general-purpose registers Each hols one floating-point value Many processors require operans for floating point operations to be place in floating point registers CS Chapt
13 Example Of Programming With Registers A X an Y, an place result in Z Steps Loa a copy of X into register 3 Loa a copy of Y into register 4 A the value in register 3 to the value in register 4, an irect the result to register 5 Store a copy of the value in register 5 in Z Note: assumes registers 3, 4, an 5 are free CS Chapt
14 Terminology Register spilling Refers to placing current contents of registers in memory for later recall Occurs when registers neee for other computation Register allocation Choose which values to keep in registers at any time Programmer or compiler ecies CS Chapt
15 Double Precision Refers to value that is twice as large as usual Harware often uses a contiguous pair of registers to hol a ouble precision value CS Chapt
16 Register Banks Registers partitione into isjoint sets calle banks Aitional harware etail Optimizes performance Complicates programming CS Chapt
17 Register Banks Registers partitione into isjoint sets calle banks Aitional harware etail Optimizes performance Complicates programming CS Chapt
18 Typical Register Bank Scheme Registers ivie into two banks ALU instruction that takes two operans must have one operan from each bank Programmer s responsibility CS Chapt
19 Illustration Of Register Banks Bank A Bank B separate harware units use to access the register banks Processor Both banks can be accesse simultaneously CS Chapt
20 Consequence For Programmers Operans must be assigne to banks Even trivial programs cause problems Example R X + Y S Z - X T Y + Z CS Chapt
21 Register Conflicts Occur when operans specify same register bank Reporte by compiler / assembler Can require programmer to copy values to opposite register bank CS Chapt
22 Types Of Instruction Sets Two basic forms Complex Instruction Set Computer (CISC) Reuce Instruction Set Computer (RISC) CS Chapt
23 CISC Instruction Set Many instructions (often hunres) Given instruction can require arbitrary time to compute Examples of CISC instructions Move graphical item on bitmappe isplay Memory copy or clear Floating point computation CS Chapt
24 RISC Instruction Set Few instructions (typically 32 or 64) Each instruction executes in one clock cycle Example: MIPS instruction set CS Chapt
25 Summary Of Instruction Sets A processor is classifie as CISC if the instruction set contains instructions that perform complex computations that can require long times; a processor is classifie as RISC if it contains a small number of instructions that can each execute in one clock cycle. CS Chapt
26 Execution Pipeline Harware optimization technique Allows processor to complete instructions faster Typically use with RISC instruction set CS Chapt
27 Typical Instruction Cycle Fetch the next instruction Examine the opcoe to etermine how many operans are neee Fetch each of the operans (e.g., extract values from registers) Perform the operation specifie by the opcoe Store the result in the location specifie (e.g., a register) CS Chapt
28 To Optimize Instruction Cycle Buil separate harware block for each step Arrange to pass instruction through sequence of harware blocks CS Chapt
29 Illustration Of Execution Pipeline stage 1 stage 2 stage 3 stage 4 stage 5 fetch instruction examine opcoe fetch operans perform operation store result Example pipeline has five stages CS Chapt
30 Pipeline Spee All stages operate in parallel Given stage can start to process a new instruction as soon as current instruction finishes Effect: N-stage pipeline can operate on N instructions simultaneously CS Chapt
31 Illustration Of Instructions In A Pipeline clock stage 1 stage 2 stage 3 stage 4 stage 5 Time 1 2 inst. 1 inst. 2 - inst inst. 3 inst. 2 inst inst. 4 inst. 3 inst. 2 inst. 1-5 inst. 5 inst. 4 inst. 3 inst. 2 inst. 1 6 inst. 6 inst. 5 inst. 4 inst. 3 inst. 2 7 inst. 7 inst. 6 inst. 5 inst. 4 inst. 3 8 inst. 8 inst. 7 inst. 6 inst. 5 inst. 4 CS Chapt
32 RISC Processors An Pipelines Although a RISC processor cannot perform all steps of the fetch-execute cycle in a single clock cycle, an instruction pipeline with parallel harware provies approximately the same performance: once the pipeline is full, one instruction completes on every clock cycle. CS Chapt
33 Using A Pipeline Pipeline is transparent to programmer Disavantage: programmer who oes not unerstan pipeline can prouce inefficient coe Reason: harware automatically stalls pipeline if items are not available CS Chapt
34 Example Of Instruction Stalls Assume Nee to perform aition an subtraction operations Operans an results in registers A through E Coe is: Instruction K: Instruction K+1: C a A B D subtract E C Secon instruction stalls to wait for operan C CS Chapt
35 Effect Of Stall On Pipeline clock stage 1 stage 2 stage 3 stage 4 stage 5 Time 1 2 inst. K inst. K+1 inst. K-1 inst. K inst. K-2 inst. K-1 inst. K-3 inst. K-2 inst. K-4 inst. K-3 3 inst. K+2 inst. K+1 inst. K inst. K-1 inst. K-2 4 inst. K+3 inst. K+2 (inst. K+1) inst. K inst. K (inst. K+1) - inst. K inst. K inst. K+4 inst. K+3 inst. K+2 inst. K+1-8 inst. K+5 inst. K+4 inst. K+3 inst. K+2 inst. K+1 Bubble passes through pipeline CS Chapt
36 Potential Causes Of A Pipeline Stall Access external storage Invoke a coprocessor Branch to a new location Call a subroutine CS Chapt
37 Achieving Maximum Spee Program must be written to accommoate instruction pipeline To minimize stalls Avoi introucing unnecessary branches Delay references to result register(s) CS Chapt
38 Example Of Avoiing Stalls C a A B C a A B D subtract E C F a G H F a G H M a K L J subtract I F D subtract E C M a K L J subtract I F P subtract M N P subtract M N (a) (b) Stalls eliminate by rearranging (a) to (b) CS Chapt
39 A Note About Pipelines Although harware that uses an instruction pipeline will not run at full spee unless programs are written to accommoate the pipeline, a programmer can choose to ignore pipelining an assume the harware will automatically increase spee whenever possible. CS Chapt
40 No-Op Instructions Have no effect on Registers Memory Program counter Computation Can be inserte to avoi instruction stalls Often use by a compiler CS Chapt
41 Use Of No-OP Example Instruction K: C a A B Instruction L+1: no-op Instruction K+2: D subtract E C No-op allows time for result from register C to be fetche for subtract operation CS Chapt
42 Forwaring Harware optimization to avoi stall Allows ALU to reference result in next instruction Example Instruction K: C a A B Instruction K+1: D subtract E C Forwaring harware passes result of a operation irectly to next instruction CS Chapt
43 Types Of Operations One possible categorization Arithmetic instructions (integer arithmetic) Logical instructions (also calle Boolean) Data access an transfer instructions Conitional an unconitional branch instructions Floating point instructions Processor control instructions CS Chapt
44 Program Counter Harware register Use uring fetch-execute cycle Gives aress of next instruction to execute Also known as instruction pointer CS Chapt
45 Fetch-Execute Algorithm Details Assign the program counter an initial program aress. Repeat forever { Fetch: access the next step of the program from the location given by the program counter. Set an internal aress register, A, to the aress beyon the instruction that was just fetche. Execute: Perform the step of the program. Copy the contents of aress register A to the program counter. } CS Chapt
46 Branches An Fetch Execute Absolute branch Typically name jump Operan is an aress Assigns operan to internal register A Relative branch Typically name br Operan is a signe value Operan is ae to internal register A CS Chapt
47 Subroutine Call Jump subroutine (jsr instruction) Similar to a jump Saves value of internal register A Replaces A with operan aress Return from subroutine (ret instruction) Retrieves value save uring jsr Replaces A with save value CS Chapt
48 Passing Arguments Multiple methos have been use Examples Store arguments in memory Store arguments in special-purpose harware registers Store arguments in general-purpose registers Many techniques also use to return result from function CS Chapt
49 Register Winow Harware optimization for argument passing Processor contains many general-purpose registers Small subset of registers visible at any time Caller places arguments in reserve registers During proceure call, register winow moves CS Chapt
50 Illustration Of Register Winows current registers 0-7 when subroutine runs x 1 x 2 x 3 x 4 A B C D l 1 l 2 l 3 l 4 registers 0-7 when program runs CS Chapt
51 Example Instruction Set Known as MIPS instruction set Early RISC esign Minimalistic CS Chapt
52 MIPS Instruction Set (Part 1) Instruction Meaning Arithmetic a integer aition subtract integer subtraction a immeiate integer aition (register + constant) a unsigne unsigne integer aition subtract unsigne unsigne integer subtraction a immeiate unsigne unsigne aition with a constant move from coprocessor access coprocessor register multiply integer multiplication multiply unsigne unsigne integer multiplication ivie integer ivision ivie unsigne unsigne integer ivision move from Hi access high-orer register move from Lo access low-orer register Logical (Boolean) an logical an (two registers) or logical or (two registers) an immeiate an of register an constant or immeiate or of register an constant shift left logical Shift register left N bits shift right logical Shift register right N bits CS Chapt
53 MIPS Instruction Set (Part 2) Instruction Meaning Data Transfer loa wor loa register from memory store wor store register into memory loa upper immeiate place constant in upper sixteen bits of register move from coproc. register obtain a value from a coprocessor Conitional Branch branch equal branch if two registers equal branch not equal branch if two registers unequal set on less than compare two registers set less than immeiate compare register an constant set less than unsigne compare unsigne registers set less than immeiate compare unsigne register an constant Unconitional Branch jump go to target aress jump register go to aress in register jump an link proceure call CS Chapt
54 MIPS Floating Point Instructions Instruction Meaning Arithmetic FP a FP subtract FP multiply FP ivie FP a ouble FP subtract ouble FP multiply ouble FP ivie ouble floating point aition floating point subtraction floating point multiplication floating point ivision ouble-precision aition ouble-precision subtraction ouble-precision multiplication ouble-precision ivision Data Transfer loa wor coprocessor store wor coprocessor loa value into FP register store FP register to memory Conitional Branch branch FP true branch FP false FP compare single FP compare ouble branch if FP conition is true branch if FP conition is false compare two FP registers compare two ouble precision values CS Chapt
55 Aesthetic Aspects Of Instruction Sets Elegance Balance No frivolous or useless instructions Orthogonality No unnecessary uplication No overlap among instructions CS Chapt
56 Principle Of Orthogonality The principle of orthogonality specifies that each instruction shoul perform a unique task without uplicating or overlapping the functionality of other instructions. CS Chapt
57 Conition Coes Harware bits Set by ALU Teste in conitional branch instruction CS Chapt
58 Example Of Conition Coe cmp r4, r5 # compare regs. 4 & 5, an set conition coe be lab1 # branch to lab1 if con. coe specifies equal mov r3, 0 # place a zero in register 3 lab1:...program continues at this point CS Chapt
59 Questions?
Computer Organization
Computer Organization Douglas Comer Computer Science Department Purue University 250 N. University Street West Lafayette, IN 47907-2066 http://www.cs.purue.eu/people/comer Copyright 2006. All rights reserve.
More informationInterfacing Compiler and Hardware. Computer Systems Architecture. Processor Types And Instruction Sets. What Instructions Should A Processor Offer?
Interfacing Compiler and Hardware Computer Systems Architecture FORTRAN 90 program C++ program Processor Types And Sets FORTRAN 90 Compiler C++ Compiler set level Hardware 1 2 What s Should A Processor
More informationYou Can Do That. Unit 16. Motivation. Computer Organization. Computer Organization Design of a Simple Processor. Now that you have some understanding
.. ou Can Do That Unit Computer Organization Design of a imple Clou & Distribute Computing (CyberPhysical, bases, Mining,etc.) Applications (AI, Robotics, Graphics, Mobile) ystems & Networking (Embee ystems,
More information6.823 Computer System Architecture. Problem Set #3 Spring 2002
6.823 Computer System Architecture Problem Set #3 Spring 2002 Stuents are strongly encourage to collaborate in groups of up to three people. A group shoul han in only one copy of the solution to the problem
More informationCoupling the User Interfaces of a Multiuser Program
Coupling the User Interfaces of a Multiuser Program PRASUN DEWAN University of North Carolina at Chapel Hill RAJIV CHOUDHARY Intel Corporation We have evelope a new moel for coupling the user-interfaces
More informationChapter 9 Memory Management
Contents 1. Introuction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threas 6. CPU Scheuling 7. Process Synchronization 8. Dealocks 9. Memory Management 10.Virtual Memory
More informationCS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.
CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 5: Processors Our goal: understand basics of processors and CPU understand the architecture of MARIE, a model computer a close look at the instruction
More informationUnit 15. Building Wide Muxes. Building Wide Muxes. Common Hardware Components WIDE MUXES
5. 5.2 Unit 5 Common Harware Components WIE MUXE 5.3 5.4 Builing Wie Muxes Builing Wie Muxes o far muxesonly have single bit inputs I is only -bit I is only -bit What if we still want to select between
More informationRecitation Caches and Blocking. 4 March 2019
15-213 Recitation Caches an Blocking 4 March 2019 Agena Reminers Revisiting Cache Lab Caching Review Blocking to reuce cache misses Cache alignment Reminers Due Dates Cache Lab (Thursay 3/7) Miterm Exam
More informationMessage Transport With The User Datagram Protocol
Message Transport With The User Datagram Protocol User Datagram Protocol (UDP) Use During startup For VoIP an some vieo applications Accounts for less than 10% of Internet traffic Blocke by some ISPs Computer
More informationECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017
ECE 550D Funamentals of Computer Systems an Engineering Fall 017 Datapaths Prof. John Boar Duke University Slies are erive from work by Profs. Tyler Bletch an Anrew Hilton (Duke) an Amir Roth (Penn) What
More informationLoop Scheduling and Partitions for Hiding Memory Latencies
Loop Scheuling an Partitions for Hiing Memory Latencies Fei Chen Ewin Hsing-Mean Sha Dept. of Computer Science an Engineering University of Notre Dame Notre Dame, IN 46556 Email: fchen,esha @cse.n.eu Tel:
More informationCS 106 Winter 2016 Craig S. Kaplan. Module 01 Processing Recap. Topics
CS 106 Winter 2016 Craig S. Kaplan Moule 01 Processing Recap Topics The basic parts of speech in a Processing program Scope Review of syntax for classes an objects Reaings Your CS 105 notes Learning Processing,
More informationTable-based division by small integer constants
Table-base ivision by small integer constants Florent e Dinechin, Laurent-Stéphane Diier LIP, Université e Lyon (ENS-Lyon/CNRS/INRIA/UCBL) 46, allée Italie, 69364 Lyon Ceex 07 Florent.e.Dinechin@ens-lyon.fr
More informationCompiler Optimisation
Compiler Optimisation Michael O Boyle mob@inf.e.ac.uk Room 1.06 January, 2014 1 Two recommene books for the course Recommene texts Engineering a Compiler Engineering a Compiler by K. D. Cooper an L. Torczon.
More informationComputer Organization CS 206 T Lec# 2: Instruction Sets
Computer Organization CS 206 T Lec# 2: Instruction Sets Topics What is an instruction set Elements of instruction Instruction Format Instruction types Types of operations Types of operand Addressing mode
More informationPART 2. Organization Of An Operating System
PART 2 Organization Of An Operating System CS 503 - PART 2 1 2010 Services An OS Supplies Support for concurrent execution Facilities for process synchronization Inter-process communication mechanisms
More informationIntensive Hypercube Communication: Prearranged Communication in Link-Bound Machines 1 2
This paper appears in J. of Parallel an Distribute Computing 10 (1990), pp. 167 181. Intensive Hypercube Communication: Prearrange Communication in Link-Boun Machines 1 2 Quentin F. Stout an Bruce Wagar
More informationOverview. Operating Systems I. Simple Memory Management. Simple Memory Management. Multiprocessing w/fixed Partitions.
Overview Operating Systems I Management Provie Services processes files Manage Devices processor memory isk Simple Management One process in memory, using it all each program nees I/O rivers until 96 I/O
More informationProfessor Lee, Yong Surk. References 고성능마이크로프로세서구조의개요. Topics Microprocessor & microcontroller
이강좌는 C & S Technology 사의지원으로제작되었으며 copyright가없으므로비영리적인목적에한하여누구든지복사, 배포가가능합니다. 연구실홈페이지에는고성능마이크로프로세서에관련된많은강좌가있으며누구나무료로다운로드받을수있습니다. Professor Lee, Yong Surk 1973 : B.S., Electrical Eng., Yonsei niv. 1981
More informationEFFICIENT ON-LINE TESTING METHOD FOR A FLOATING-POINT ADDER
FFICINT ON-LIN TSTING MTHOD FOR A FLOATING-POINT ADDR A. Droz, M. Lobachev Department of Computer Systems, Oessa State Polytechnic University, Oessa, Ukraine Droz@ukr.net, Lobachev@ukr.net Abstract In
More informationECE 486/586. Computer Architecture. Lecture # 7
ECE 486/586 Computer Architecture Lecture # 7 Spring 2015 Portland State University Lecture Topics Instruction Set Principles Instruction Encoding Role of Compilers The MIPS Architecture Reference: Appendix
More informationCMSC 430 Introduction to Compilers. Spring Register Allocation
CMSC 430 Introuction to Compilers Spring 2016 Register Allocation Introuction Change coe that uses an unoune set of virtual registers to coe that uses a finite set of actual regs For ytecoe targets, can
More informationELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2)
ELEC 5200-001/6200-001 Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2) Victor P. Nelson, Professor & Asst. Chair Vishwani D. Agrawal, James J. Danaher Professor Department
More informationASSEMBLY LANGUAGE MACHINE ORGANIZATION
ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction
More informationTowards a Low-Power Accelerator of Many FPGAs for Stencil Computations
2012 Thir International Conference on Networking an Computing Towars a Low-Power Accelerator of Many FPGAs for Stencil Computations Ryohei Kobayashi Tokyo Institute of Technology, Japan E-mail: kobayashi@arch.cs.titech.ac.jp
More informationDigital System Design Using Verilog. - Processing Unit Design
Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register
More informationChapter 13 Reduced Instruction Set Computers
Chapter 13 Reduced Instruction Set Computers Contents Instruction execution characteristics Use of a large register file Compiler-based register optimization Reduced instruction set architecture RISC pipelining
More information17. Instruction Sets: Characteristics and Functions
17. Instruction Sets: Characteristics and Functions Chapter 12 Spring 2016 CS430 - Computer Architecture 1 Introduction Section 12.1, 12.2, and 12.3 pp. 406-418 Computer Designer: Machine instruction set
More informationIntroduction to C. Why C? Difference between Python and C C compiler stages Basic syntax in C
Final Review CS304 Introduction to C Why C? Difference between Python and C C compiler stages Basic syntax in C Pointers What is a pointer? declaration, &, dereference... Pointer & dynamic memory allocation
More informationTopics Power tends to corrupt; absolute power corrupts absolutely. Computer Organization CS Data Representation
Computer Organization CS 231-01 Data Representation Dr. William H. Robinson November 12, 2004 Topics Power tends to corrupt; absolute power corrupts absolutely. Lord Acton British historian, late 19 th
More informationPage 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions
Structure of von Nuemann machine Arithmetic and Logic Unit Input Output Equipment Main Memory Program Control Unit 1 1 Instruction Set - the type of Instructions Arithmetic + Logical (ADD, SUB, MULT, DIV,
More informationMODULE VII. Emerging Technologies
MODULE VII Emerging Technologies Computer Networks an Internets -- Moule 7 1 Spring, 2014 Copyright 2014. All rights reserve. Topics Software Define Networking The Internet Of Things Other trens in networking
More informationInstruction Sets: Characteristics and Functions Addressing Modes
Instruction Sets: Characteristics and Functions Addressing Modes Chapters 10 and 11, William Stallings Computer Organization and Architecture 7 th Edition What is an Instruction Set? The complete collection
More informationChapter 3 : Control Unit
3.1 Control Memory Chapter 3 Control Unit The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional
More informationLecture 4: Instruction Set Design/Pipelining
Lecture 4: Instruction Set Design/Pipelining Instruction set design (Sections 2.9-2.12) control instructions instruction encoding Basic pipelining implementation (Section A.1) 1 Control Transfer Instructions
More informationCS311 Lecture: Pipelining, Superscalar, and VLIW Architectures revised 10/18/07
CS311 Lecture: Pipelining, Superscalar, and VLIW Architectures revised 10/18/07 Objectives ---------- 1. To introduce the basic concept of CPU speedup 2. To explain how data and branch hazards arise as
More informationLECTURE 10. Pipelining: Advanced ILP
LECTURE 10 Pipelining: Advanced ILP EXCEPTIONS An exception, or interrupt, is an event other than regular transfers of control (branches, jumps, calls, returns) that changes the normal flow of instruction
More informationLecture 4: Instruction Set Architecture
Lecture 4: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation Reading: Textbook (5 th edition) Appendix A Appendix B (4 th edition)
More informationPART 5. Process Coordination And Synchronization
PART 5 Process Coorination An Synchronization CS 503 - PART 5 1 2010 Location Of Process Coorination In The Xinu Hierarchy CS 503 - PART 5 2 2010 Coorination Of Processes Necessary in a concurrent system
More informationWhat is Superscalar? CSCI 4717 Computer Architecture. Why the drive toward Superscalar? What is Superscalar? (continued) In class exercise
CSCI 4717/5717 Computer Architecture Topic: Instruction Level Parallelism Reading: Stallings, Chapter 14 What is Superscalar? A machine designed to improve the performance of the execution of scalar instructions.
More informationMath 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro
Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L09.1 Smith Spring 2008 MIPS
More informationSupplement for MIPS (Section 4.14 of the textbook)
Supplement for MIPS (Section 44 of the textbook) Section 44 does a good job emphasizing that MARIE is a toy architecture that lacks key feature of real-world computer architectures Most noticable, MARIE
More informationOnline Appendix to: Generalizing Database Forensics
Online Appenix to: Generalizing Database Forensics KYRIACOS E. PAVLOU an RICHARD T. SNODGRASS, University of Arizona This appenix presents a step-by-step iscussion of the forensic analysis protocol that
More informationInstruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...
Instruction-set Design Issues: what is the format(s) Opcode Dest. Operand Source Operand 1... 1) Which instructions to include: How many? Complexity - simple ADD R1, R2, R3 complex e.g., VAX MATCHC substrlength,
More informationWilliam Stallings Computer Organization and Architecture 8 th Edition. Chapter 14 Instruction Level Parallelism and Superscalar Processors
William Stallings Computer Organization and Architecture 8 th Edition Chapter 14 Instruction Level Parallelism and Superscalar Processors What is Superscalar? Common instructions (arithmetic, load/store,
More informationTopics in computer architecture
Topics in computer architecture Sun Microsystems SPARC P.J. Drongowski SandSoftwareSound.net Copyright 1990-2013 Paul J. Drongowski Sun Microsystems SPARC Scalable Processor Architecture Computer family
More informationComputer Systems Architecture I. CSE 560M Lecture 3 Prof. Patrick Crowley
Computer Systems Architecture I CSE 560M Lecture 3 Prof. Patrick Crowley Plan for Today Announcements Readings are extremely important! No class meeting next Monday Questions Commentaries A few remaining
More informationMajor and Minor States
Major and Minor States We now consider the micro operations and control signals associated with the execution of each instruction in the ISA. The execution of each instruction is divided into three phases.
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 informationWilliam Stallings Computer Organization and Architecture 8 th Edition. Chapter 12 Processor Structure and Function
William Stallings Computer Organization and Architecture 8 th Edition Chapter 12 Processor Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data
More informationGeneralized Edge Coloring for Channel Assignment in Wireless Networks
Generalize Ege Coloring for Channel Assignment in Wireless Networks Chun-Chen Hsu Institute of Information Science Acaemia Sinica Taipei, Taiwan Da-wei Wang Jan-Jan Wu Institute of Information Science
More informationCPE300: Digital System Architecture and Design
CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Arithmetic Unit 10032011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Chapter 3 Number Systems Fixed Point
More informationInstruction Sets Ch 9-10
Instruction Sets Ch 9-10 Characteristics Operands Operations Addressing Instruction Formats 1 Instruction Set (käskykanta) Collection of instructions that CPU understands Only interface to CPU from outside
More informationInstruction Sets Ch 9-10
Instruction Sets Ch 9-10 Characteristics Operands Operations Addressing Instruction Formats 1 Instruction Set (käskykanta) Collection of instructions that CPU understands Only interface to CPU from outside
More informationWaleed K. Al-Assadi. Anura P. Jayasumana. Yashwant K. Malaiya y. February Colorado State University
Dierential I DDQ Testable Static RAM Architecture Walee K. Al-Assai Anura P. Jayasumana Yashwant K. Malaiya y Technical Report CS-96-102 February 1996 Department of Electrical Engineering/ y Department
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 informationCS350 - Exam 4 (100 Points)
Fall 0 Name CS0 - Exam (00 Points).(0 points) Re-Black Trees For the Re-Black tree below, inicate where insert() woul initially occur before rebalancing/recoloring. Sketch the tree at ALL intermeiate steps
More informationOverview of the MIPS Architecture: Part I. CS 161: Lecture 0 1/24/17
Overview of the MIPS Architecture: Part I CS 161: Lecture 0 1/24/17 Looking Behind the Curtain of Software The OS sits between hardware and user-level software, providing: Isolation (e.g., to give each
More informationComputer Organization MIPS Architecture. Department of Computer Science Missouri University of Science & Technology
Computer Organization MIPS Architecture Department of Computer Science Missouri University of Science & Technology hurson@mst.edu Computer Organization Note, this unit will be covered in three lectures.
More informationStored Program Concept. Instructions: Characteristics of Instruction Set. Architecture Specification. Example of multiple operands
Stored Program Concept Instructions: Instructions are bits Programs are stored in memory to be read or written just like data Processor Memory memory for data, programs, compilers, editors, etc. Fetch
More informationLecture 5: Instruction Pipelining. Pipeline hazards. Sequential execution of an N-stage task: N Task 2
Lecture 5: Instruction Pipelining Basic concepts Pipeline hazards Branch handling and prediction Zebo Peng, IDA, LiTH Sequential execution of an N-stage task: 3 N Task 3 N Task Production time: N time
More informationChapter 4. The Processor. Computer Architecture and IC Design Lab
Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS
More informationLecture 4: Review of MIPS. Instruction formats, impl. of control and datapath, pipelined impl.
Lecture 4: Review of MIPS Instruction formats, impl. of control and datapath, pipelined impl. 1 MIPS Instruction Types Data transfer: Load and store Integer arithmetic/logic Floating point arithmetic Control
More informationd 3 d 4 d d d d d d d d d d d 1 d d d d d d
Proceeings of the IASTED International Conference Software Engineering an Applications (SEA') October 6-, 1, Scottsale, Arizona, USA AN OBJECT-ORIENTED APPROACH FOR MANAGING A NETWORK OF DATABASES Shu-Ching
More informationQueueing Model and Optimization of Packet Dropping in Real-Time Wireless Sensor Networks
Queueing Moel an Optimization of Packet Dropping in Real-Time Wireless Sensor Networks Marc Aoun, Antonios Argyriou, Philips Research, Einhoven, 66AE, The Netherlans Department of Computer an Communication
More informationInstruction Set Architecture (ISA)
Instruction Set Architecture (ISA)... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data
More informationInstructions: Language of the Computer
CS359: Computer Architecture Instructions: Language of the Computer Yanyan Shen Department of Computer Science and Engineering 1 The Language a Computer Understands Word a computer understands: instruction
More informationMath 230 Assembly Programming (AKA Computer Organization) Spring 2008
Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro II Lect 10 Feb 15, 2008 Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L10.1
More informationELECTRONIC SCALE WB-380. Instruction manual
ELECTRONIC SCALE WB-380 Instruction manual Temperature Range for Use : 5 C 35 C Relative Humiity : 30% 80% (without conensation) Temperature Range of Environment :
More informationInstruction Set Principles and Examples. Appendix B
Instruction Set Principles and Examples Appendix B Outline What is Instruction Set Architecture? Classifying ISA Elements of ISA Programming Registers Type and Size of Operands Addressing Modes Types of
More information6.854J / J Advanced Algorithms Fall 2008
MIT OpenCourseWare http://ocw.mit.eu 6.854J / 18.415J Avance Algorithms Fall 2008 For inormation about citing these materials or our Terms o Use, visit: http://ocw.mit.eu/terms. 18.415/6.854 Avance Algorithms
More informationELECTRONIC PHYSICIAN SCALE WB-3000 INSTRUCTION MANUAL
ELECTRONIC PHYSICIAN SCALE WB-3000 INSTRUCTION MANUAL Please keep this manual in a safe place, an make sure it is reaily available whenever necessary. Please use this prouct only after carefully reaing
More informationChapter 1. Computer Abstractions and Technology. Lesson 3: Understanding Performance
Chapter 1 Computer Abstractions and Technology Lesson 3: Understanding Performance Manufacturing ICs 1.7 Real Stuff: The AMD Opteron X4 Yield: proportion of working dies per wafer Chapter 1 Computer Abstractions
More informationPreamble. Singly linked lists. Collaboration policy and academic integrity. Getting help
CS2110 Spring 2016 Assignment A. Linke Lists Due on the CMS by: See the CMS 1 Preamble Linke Lists This assignment begins our iscussions of structures. In this assignment, you will implement a structure
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationMODULE II. Network Programming And Applications
MODULE II Network Programming An Applications Computer Networks an Internets -- Moule 2 1 Spring, 2014 Copyright 2014. All rights reserve. Topics Internet services an communication paraigms Client-server
More informationInstruction Set. Instruction Sets Ch Instruction Representation. Machine Instruction. Instruction Set Design (5) Operation types
Instruction Sets Ch 10-11 Characteristics Operands Operations Addressing Instruction Formats Instruction Set Collection of instructions that CPU understands Only interface to CPU from outside CPU executes
More information+ E. Bit-Alignment for Retargetable Code Generators * 1 Introduction A D T A T A A T D A A. Keen Schoofs Gert Goossens Hugo De Mant
Bit-lignment for Retargetable Coe Generators * Keen Schoofs Gert Goossens Hugo e Mant IMEC, Kapelreef 75, B-3001 Leuven, Belgium bstract When builing a bit-true retargetable compiler, every signal type
More information5008: Computer Architecture HW#2
5008: Computer Architecture HW#2 1. We will now support for register-memory ALU operations to the classic five-stage RISC pipeline. To offset this increase in complexity, all memory addressing will be
More informationECE 313 Computer Organization FINAL EXAM December 13, 2000
This exam is open book and open notes. You have until 11:00AM. Credit for problems requiring calculation will be given only if you show your work. 1. Floating Point Representation / MIPS Assembly Language
More informationEnabling Rollback Support in IT Change Management Systems
Enabling Rollback Support in IT Change Management Systems Guilherme Sperb Machao, Fábio Fabian Daitx, Weverton Luis a Costa Coreiro, Cristiano Bonato Both, Luciano Paschoal Gaspary, Lisanro Zambeneetti
More informationBaring it all to Software: The Raw Machine
Baring it all to Software: The Raw Machine Elliot Waingol, Michael Taylor, Vivek Sarkar, Walter Lee, Victor Lee, Jang Kim, Matthew Frank, Peter Finch, Srikrishna Devabhaktuni, Rajeev Barua, Jonathan Babb,
More informationYet Another Parallel Hypothesis Search for Inverse Entailment Hiroyuki Nishiyama and Hayato Ohwada Faculty of Sci. and Tech. Tokyo University of Scien
Yet Another Parallel Hypothesis Search for Inverse Entailment Hiroyuki Nishiyama an Hayato Ohwaa Faculty of Sci. an Tech. Tokyo University of Science, 2641 Yamazaki, Noa-shi, CHIBA, 278-8510, Japan hiroyuki@rs.noa.tus.ac.jp,
More informationReal instruction set architectures. Part 2: a representative sample
Real instruction set architectures Part 2: a representative sample Some historical architectures VAX: Digital s line of midsize computers, dominant in academia in the 70s and 80s Characteristics: Variable-length
More informationCS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU
CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU Last revised October 15, 2007 Objectives: 1. To show how a CPU is constructed out of a regiser
More informationDesign Management Using Dynamically Defined Flows
Design Management Using Dynamically Deine Flows Peter R. Sutton*, Jay B. Brockman** an Stephen W. Director* *Department o Electrical an Computer Engineering, Carnegie Mellon University, Pittsburgh, PA
More information361 div.1. Computer Architecture EECS 361 Lecture 7: ALU Design : Division
361 div.1 Computer Architecture EECS 361 Lecture 7: ALU Design : Division Outline of Today s Lecture Introduction to Today s Lecture Divide Questions and Administrative Matters Introduction to Single cycle
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 informationCS 101, Mock Computer Architecture
CS 101, Mock Computer Architecture Computer organization and architecture refers to the actual hardware used to construct the computer, and the way that the hardware operates both physically and logically
More informationCS311 Lecture: Pipelining and Superscalar Architectures
Objectives: CS311 Lecture: Pipelining and Superscalar Architectures Last revised July 10, 2013 1. To introduce the basic concept of CPU speedup 2. To explain how data and branch hazards arise as a result
More informationGeneralized Edge Coloring for Channel Assignment in Wireless Networks
TR-IIS-05-021 Generalize Ege Coloring for Channel Assignment in Wireless Networks Chun-Chen Hsu, Pangfeng Liu, Da-Wei Wang, Jan-Jan Wu December 2005 Technical Report No. TR-IIS-05-021 http://www.iis.sinica.eu.tw/lib/techreport/tr2005/tr05.html
More informationModern Processors. RISC Architectures
Modern Processors RISC Architectures Figures used from: Manolis Katevenis, RISC Architectures, Ch. 20 in Zomaya, A.Y.H. (ed), Parallel and Distributed Computing Handbook, McGraw-Hill, 1996 RISC Characteristics
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 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 informationNon-Uniform Sensor Deployment in Mobile Wireless Sensor Networks
01 01 01 01 01 00 01 01 Non-Uniform Sensor Deployment in Mobile Wireless Sensor Networks Mihaela Carei, Yinying Yang, an Jie Wu Department of Computer Science an Engineering Floria Atlantic University
More informationAlmost Disjunct Codes in Large Scale Multihop Wireless Network Media Access Control
Almost Disjunct Coes in Large Scale Multihop Wireless Network Meia Access Control D. Charles Engelhart Anan Sivasubramaniam Penn. State University University Park PA 682 engelhar,anan @cse.psu.eu Abstract
More informationOptimizing the quality of scalable video streams on P2P Networks
Optimizing the quality of scalable vieo streams on PP Networks Paper #7 ASTRACT The volume of multimeia ata, incluing vieo, serve through Peer-to-Peer (PP) networks is growing rapily Unfortunately, high
More informationUNIT- 5. Chapter 12 Processor Structure and Function
UNIT- 5 Chapter 12 Processor Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data CPU With Systems Bus CPU Internal Structure Registers
More informationStudy of Network Optimization Method Based on ACL
Available online at www.scienceirect.com Proceia Engineering 5 (20) 3959 3963 Avance in Control Engineering an Information Science Stuy of Network Optimization Metho Base on ACL Liu Zhian * Department
More information