Dept. of Computer Science - CS6461 Computer Architecture CS6461 – Computer Architecture Fall 2015 Lecture 1 – Introduction Adopted from Professor Stephen.

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

Slide 1Michael Flynn EE382 Winter/99 EE382 Processor Design Stanford University Winter Quarter Instructor: Michael Flynn Teaching Assistant:
Central Processing Unit
CS364 CH16 Control Unit Operation
Computer Organization and Architecture
Computer Organization and Architecture
Computer Organization and Architecture
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
CS.210 Computer Systems and Architecture and CS.305 Computer Architecture Recap and Re-introduction.
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
Computer Organization and Architecture The CPU Structure.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
CH12 CPU Structure and Function
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Basic Operational Concepts of a Computer
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
1 4.2 MARIE This is the MARIE architecture shown graphically.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Computer Organization and Design Computer Abstractions and Technology
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Computer Architecture 2 nd year (computer and Information Sc.)
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE Lecture 21 & 22 Processor Organization Register Organization Course Instructor: Engr. Aisha Danish.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Lecture 1: Review of Computer Organization
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
1 The Instruction Set Architecture September 27 th, 2007 By: Corbin Johnson CS 146.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
EEL5708/Bölöni Lec 3.1 Fall 2006 Sept 1, 2006 Lotzi Bölöni EEL 5708 High Performance Computer Architecture Lecture 3 Review: Instruction Sets.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Jan. 5, 2000Systems Architecture II1 Machine Organization (CS 570) Lecture 1: Overview of High Performance Processors * Jeremy R. Johnson Wed. Sept. 27,
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
1 Computer Architecture. 2 Basic Elements Processor Main Memory –volatile –referred to as real memory or primary memory I/O modules –secondary memory.
High Performance Computing1 High Performance Computing (CS 680) Lecture 2a: Overview of High Performance Processors * Jeremy R. Johnson *This lecture was.
Lecture 1: Introduction CprE 585 Advanced Computer Architecture, Fall 2004 Zhao Zhang.
New-School Machine Structures Parallel Requests Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Software Design and Development Computer Architecture Computing Science.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Computer Organization and Architecture Lecture 1 : Introduction
Basic Processor Structure/design
Control Unit Lecture 6.
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Lecture 5: Computer systems architecture
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture
William Stallings Computer Organization and Architecture 7th Edition
Overview Introduction General Register Organization Stack Organization
Chapter 15 Control Unit Operation
Computer Organization and ASSEMBLY LANGUAGE
T Computer Architecture, Autumn 2005
Control Unit Introduction Types Comparison Control Memory
MARIE: An Introduction to a Simple Computer
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
A Top-Level View Of Computer Function And Interconnection
Information Representation: Machine Instructions
Computer Architecture
Presentation transcript:

Dept. of Computer Science - CS6461 Computer Architecture CS6461 – Computer Architecture Fall 2015 Lecture 1 – Introduction Adopted from Professor Stephen H. Kaisler’s Slides

Dept. of Computer Science - CS6461 Computer Architecture L1-2 Introduction "Students of computer architecture all too frequently see the microprocessor in the light of the latest high-performance personal computer. For many of them, there is no past—the computer suddenly burst onto the scene as if it had fallen through a time warp. In reality, the computer has a rich and complex history.“ A. Clements What We will Learn? » how computer systems work, not just the CPU and memory » what is the structure of a computer system » how to analyze their performance » issues affecting computer systems (caches, pipelines, I/O systems, storage systems)

Dept. of Computer Science - CS6461 Computer Architecture L1-3 Why Learn This Stuff? – You want to become a computer expert – You want to build high-performance systems: both hardware and software are needed – You need to make a purchasing decision or offer “expert” advice Note: Both Hardware and Software affect system performance!! Algorithm determines number of source-level statements Language, Compiler, and Architecture determine machine instructions Processor and Memory determine how fast instructions are executed I/O and network systems determine how fast you can feed data to the computer and get data from it

Dept. of Computer Science - CS6461 Computer Architecture L1-4 What is Computer Architecture? “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 flows and controls the logic design, and the physical implementation.” Amdahl, Blaauw, and Brooks, 1964

Dept. of Computer Science - CS6461 Computer Architecture L1-5 The Computer Architect The Computer Architect is a different role than the Computer Engineer/Designer (in my mind). A Computer Architect focuses on the functional structure while attempting to ensure that specific properties are provided and performance metrics can be met. The Computer Engineer/Designer takes the specification from the Computer Architect and turns it into a real working system using a variety of implementation techniques while making trade-offs among the different techniques and technology in order to meet the performance goals established by the Computer Architect and the cost constraints specified by the manufacturer.

Dept. of Computer Science - CS6461 Computer Architecture L1-6 The Computer Designer’s Job

Dept. of Computer Science - CS6461 Computer Architecture L1-7 Computer Architecture Evolution Computer Architecture: Functional operation of the individual HW units within a computer system, and the flow of information and control among them. Architecting is an iterative process: Searching the space of possible designs At all levels of computer systems Find the best tradeoff for performance/cost Computer Architecture Courses: 1950s to 1960s: Computer Arithmetic 1970s to mid 1980s: Instruction set architecture, especially ISAs appropriate for compilers 1990s: Design of CPU, memory system, I/O system, multiprocessors 2000’s: 1990’s plus advanced concepts

Dept. of Computer Science - CS6461 Computer Architecture L1-8 Basic Computer Architecture VONNEUMANNVONNEUMANN ARCHITECTUREARCHITECTURE

Dept. of Computer Science - CS6461 Computer Architecture L1-9 Partial Evolution of the Intel Microprocessor Line

Dept. of Computer Science - CS6461 Computer Architecture L1-10 Architecture Evolution It’s very difficult to make an accurate prediction, especially about the future. -Niels Bohr Architecture Trends in the 1990s: Performance was the ultimate metric Transistors were a limiting factor – how many could you pack on-chip?? So: Large on-chip caches Prefetching hardware Speculative Execution Special-purpose instructions Branch prediction

Dept. of Computer Science - CS6461 Computer Architecture L1-11 We Have Hit the Wall! Single core performance Memory Complexity Power, temperature Noise (Schottky, Johnson, etc.)

Dept. of Computer Science - CS6461 Computer Architecture L1-12 Designing a Computer Simulator For the basic machine, to execute instructions we will probably need a few functional units. The basic instruction execution cycle looks something like this:

Dept. of Computer Science - CS6461 Computer Architecture L1-13 Discussion 1.Obtain Instruction from program storage The Program Counter (PC) contains the address of the next instruction to be executed. This address should be transferred to the Memory Address Register (MAR). This takes 1 cycle. On the next cycle, the Memory Control Unit (MCU) uses the address in the MAR to fetch a word from memory. This fetch occurs in one cycle. The word fetched from memory is placed in the Memory Buffer Register (MBR).

Dept. of Computer Science - CS6461 Computer Architecture L1-14 Discussion 2. Determine operation required The contents of the Memory Buffer Register (MBR) are moved to the Instruction Register (IR). This takes 1 cycle. So, 3 cycles to get a word from memory. In 1 cycle process the instruction and use it to set several flags: a. extract the opcode from the IR b. determine the class of opcode: determines the functional unit that will be used to execute the instruction c. set internal flags based on opcode The above are done in parallel in the decoding logic of the processor. For example, if the instruction is an LDR: Move the target register from the IR to the Register Select 1

Dept. of Computer Science - CS6461 Computer Architecture L1-15 Discussion 3. Locate and fetch operand data Using the class of operation, fetch the operand: –if it is located in memory, –or extract it from the instruction, if it is immediate, –or fetch from the stack a.In one cycle, move the first operand address from the IR to the Internal Address Register IAR b.If the operand is indexed, in 1 cycle add the contents of the specified index register to the IAR c.In 1 cycle, move the contents of the IAR to the MAR d.In one cycle fetch the contents of the word in memory specified by the MAR into the MBR.

Dept. of Computer Science - CS6461 Computer Architecture L1-16 Discussion 4. Execute the operation Depending on the operation code, execute the operation. Some examples, but you need to think through how this will be done for all instructions. [NOTE: If you have problems, ask questions!] LDR: In one cycle, move the data from the MBR to an Internal Result Register (IRR) STR: Move the contents of the specified register using Register Select 1 to the IRR. ADDI: In one cycle, using the Register Select 1, add the contents of the Immediate portion of the IR to the contents of the specified register using an internal adder.

Dept. of Computer Science - CS6461 Computer Architecture L1-17 Discussion 5. Deposit Results In 1 cycle, move the contents of the IRR to: a. If target = register, use Register Select 1 to store IRR contents into the specified register b. If target = memory, such as a STR, move contents of IRR to MBR. On the next cycle, move contents of MBR to memory using address in MAR. Q? How did we know where to move the word into memory? Q? What is an effective address?

Dept. of Computer Science - CS6461 Computer Architecture L1-18 Discussion 6. Determine Next Instruction In most cases, we execute instructions sequentially, so we just increment the PC by the number of bytes/words based on machine addressing scheme Q? What is the PC increment given the brief description of the machine? But, if it is a branch instruction, then we have to replace the contents of the PC by a different address.