1 CS 161 Introduction to Programming and Problem Solving Chapter 4 Computer Taxonomy Herbert G. Mayer, PSU Status 10/11/2014.

Slides:



Advertisements
Similar presentations
Computer Abstractions and Technology
Advertisements

Computer Organization and Architecture
Computer Organization and Architecture
Computer Organization and Architecture
1 CS 201 Computer Systems Programming Chapter 4 “Computer Taxonomy” Herbert G. Mayer, PSU CS Status 6/30/2014.
Processor Technology and Architecture
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Chapter 12 Three System Examples The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
PSU CS 106 Computing Fundamentals II Introduction HM 1/3/2009.
PSU CS 106 Computing Fundamentals II Sample Architectures HM 4/14/2008.
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
CH12 CPU Structure and Function
CSE378 Gen. Intro1 Machine Organization and Assembly Language Programming Machine Organization –Hardware-centric view (in this class) –Not at the transistor.
Computer Systems 1 Fundamentals of Computing The CPU & Von Neumann.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Lecture#14. Last Lecture Summary Memory Address, size What memory stores OS, Application programs, Data, Instructions Types of Memory Non Volatile and.
Internal hardware and external components of a computer Three-box Model  Processor The brain of the system Executes programs A big finite state machine.
1 Chapter 1 Parallel Machines and Computations (Fundamentals of Parallel Processing) Dr. Ranette Halverson.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Lecture 02: Fundamentals of Computer Design - Basics Kai Bu
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
ECE 456 Computer Architecture
Ch. 2 Data Manipulation 4 The central processing unit. 4 The stored-program concept. 4 Program execution. 4 Other architectures. 4 Arithmetic/logic instructions.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer Organization & Assembly Language © by DR. M. Amer.
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
M U N - February 17, Phil Bording1 Computer Engineering of Wave Machines for Seismic Modeling and Seismic Migration R. Phillip Bording February.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
1 ECE 587 Advanced Computer Architecture I Chapter 2 Computer Taxonomy Herbert G. Mayer, PSU Status 7/1/2015.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 5: MIPS Instructions I
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
1 ECE 371 Microprocessors Chapter 2 Microprocessors: A High Level View Herbert G. Mayer, PSU Status 10/13/2015 For use at CCUT Fall 2015 Some Material.
Computer performance issues* Pipelines, Parallelism. Process and Threads.
Computer Architecture And Organization UNIT-II Flynn’s Classification Of Computer Architectures.
Lecture 3: Computer Architectures
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Classification of parallel computers Limitations of parallel processing.
Computer Organization Exam Review CS345 David Monismith.
Computer Architecture Lecture 3: ISA Tradeoffs
COMP2121: Microprocessors and Interfacing
Chapter 1: A Tour of Computer Systems
CS 201 Computer Systems Programming Chapter 4 “Computer Taxonomy”
buses, crossing switch, multistage network.
Introduction to microprocessor (Continued) Unit 1 Lecture 2
Chapter 1 Fundamentals of Computer Design
CS 201 Computer Systems Programming Chapter 4
Morgan Kaufmann Publishers Computer Organization and Assembly Language
buses, crossing switch, multistage network.
August 29 New address for Fang-Yi
Computer Architecture
What is Computer Architecture?
Introduction to Microprocessor Programming
What is Computer Architecture?
What is Computer Architecture?
CPU Structure CPU must:
Register sets The register section/array consists completely of circuitry used to temporarily store data or program codes until they are sent to the.
CSE378 Introduction to Machine Organization
Presentation transcript:

1 CS 161 Introduction to Programming and Problem Solving Chapter 4 Computer Taxonomy Herbert G. Mayer, PSU Status 10/11/2014

2 Syllabus Introduction Common Architecture Attributes General Limitations Data-Stream Instruction-Stream Generic Architecture Model Instruction Set Architecture (ISA) Iron Law of Performance Hello World in C++ References

3 Introduction: Uniprocessors Single Accumulator Architectures, earliest in the 1940s; e.g. Atanasoff, Zuse, von Neumann General-Purpose Register Architectures (GPR) 2-Address Architecture, i.e. GPR with one operand implied, e.g. IBM Address Architecture, i.e. GPR with all operands of arithmetic operation explicit, e.g. VAX 11/70 Stack Machines (e.g. B5000, B6000, HP3000) Pipelined architecture, e.g. CDC 5000, Cyber 6000 Vector Architecture, e.g. Amdahl 470/6, competing with IBM’s 360 in the 1970s blurs line to Multiprocessor

4 Introduction: Multiprocessors Shared Memory Architecture; e.g. Illiac IV, BSP Distributed Memory Architecture Systolic Architecture; see Intel ® iWarp and CMU’s warp architecture Data Flow Machine; see Jack Dennis’ work at MIT

5 Introduction: Hybrid Architectures Superscalar Architecture; see Intel 80860, AKA i860 VLIW Architecture see Multiflow computer or systolic array architecture, like Warp at CMU Pittsburgh, or iWarp at Intel in the 1990s Pipelined Architecture; debatable if it is a hybrid architecture EPIC Architecture; see HP and Intel ® Itanium ® architecture

6 Common Architecture Attributes Main memory (main store), external from processor Program instructions stored in main memory Also, data stored in main memory; typical for von Neumann architecture Data available in –distributed over– static memory, stack, heap, reserved OS space, free space, IO space Instruction pointer (AKA instruction counter, program counter pc), other special registers Von Neumann memory bottle-neck: everything travels on the same, single bus 

7 Common Architecture Attributes Accumulator (register, 1 or many) holds result of arithmetic-logical operation Memory Controller handles memory access requests from processor; moves bits to/from memory; is part of “chipset” Current trend is to move some of the memory controller or IO controller onto CPU chip; caveat: that does not mean the chipset IS part of the CPU! Logical processor unit includes: FP unit, Integer unit, control unit, register file, load-store unit, pathways Physical processor unit includes: heat sensors, frequency control, voltage regulator, and more

8 General Limitations Compute-Bound: type of application, in which the vast majority of execution time is spent executing instructions; data flow register-to- register; time to access memory is a small % of overall Memory-Bound: application, in which the majority of execution time is spent loading and storing data in memory; time executing instructions is small % vs. time to access memory IO-Bound: application, in which the majority of execution time is spent accessing secondary storage; time executing instructions, even the time accessing memory, is small % vs. time to access secondary storage Backup-Bound (semi-serious only): Like IO-Bound, but backup storage medium can be even slower than typical secondary storage devices

9 Data-Stream Instruction-Stream Classification developed by Michael J. Flynn, Single-Instruction, Single-Data Stream (SISD) Architecture PDP Single-Instruction, Multiple-Data Stream (SIMD) Architecture Array Processors, Solomon, Illiac IV, BSP, TMC 3. 3.Multiple-Instruction, Single-Data Stream (MISD) Architecture Pipelined architecture 4. 4.Multiple-Instruction, Multiple-Data Stream Architecture (MIMD) true multiprocessor

10 Generic Architecture Model

11 Instruction Set Architecture (ISA) ISA is boundary between Software and Hardware Specifies logical machine visible to the programmer & compiler Is functional specification for processor designer That boundary is sometimes a very low-level piece of system SW that handles exceptions, interrupts, and HW-specific services that could fall into the domain of the OS

12 Instruction Set Architecture (ISA) What is specified, what is typical for ISA: Operations: what to perform and in which order Active, temporary operand storage for the CPU, can be: accumulator, stack, register, and memory note that stack can be word-sized, even bit-sized (e.g. extreme design of successor for NCR’s Century architecture of the 1970s) Number of operands per instruction; some implied, others listed explicit Operand location: where and how to locate/specify the operands: Register, literal, data in memory Type and size of operands: bit, byte, word, double-word,... Instruction Encoding in binary Data types: int, float, double, decimal, char, bit

13 Instruction Set Architecture (ISA)

14 Iron Law of Performance Clock-rate doesn’t count! Bus width doesn’t count. Number of registers and operations executed in parallel doesn’t count! What counts is how long it takes for my computational task to complete. That time is of essence in computing! If a MIPS-based solution runs at 1 GHz that completes a program X in 2.2 minutes, while that same Intel Pentium ® 4– based program runs at 3 GHz and completes that same program x in 5.5 minutes, programmers are more happy about the MIPS solution! Who then cares about the clock rate? If a solution on an Intel CPU can be expressed in an object program of size Y bytes, but on some other IBM architecture of size 1.86 * Y bytes, the Intel solution is generally more attractive Meaning of this: Wall-clock time (Time) counts, i.e. time I have to wait for completion Program Size is overall complexity of computational task

15 Iron Law of Performance

16 Hello World in C++ // will show later in C with printf() #include #include int main( void ) { // main cout << ”Hello World!” << endl; // in C: printf( “Hello World!\n” ); return 0; } // end main

17 References              