Introduction to Computer Systems Engineering

Slides:



Advertisements
Similar presentations
Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
Advertisements

Syllabus Instructor: Dr. Wesam Ashour
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
CS455/CpE 442 Intro. To Computer Architecure
10/9: Lecture Topics Starting a Program Exercise 3.2 from H+P Review of Assembly Language RISC vs. CISC.
Virtual Memory Chapter 18 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S. Dandamudi.
1 A Real Problem  What if you wanted to run a program that needs more memory than you have?
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 23 - Course.
Review CPSC 321 Andreas Klappenecker Announcements Tuesday, November 30, midterm exam.
Microprocessors Introduction to RISC Mar 19th, 2002.
7/13/20151 Topic 3: Run-Time Environment Memory Model Activation Record Call Convention Storage Allocation Runtime Stack and Heap Garbage Collection.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Memory Hierarchy 2.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
2015/10/22\course\cpeg323-08F\Final-Review F.ppt1 Midterm Review Introduction to Computer Systems Engineering (CPEG 323)
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
CSE Advanced Computer Architecture Week-1 Week of Jan 12, 2004 engr.smu.edu/~rewini/8383.
\cpeg323-08F\Topic0.ppt1 CPEG 323 – Fall 2008 Topics in Computer System Engineering – Computer Organization and Design.
1 Chapter Seven. 2 Users want large and fast memories! SRAM access times are ns at cost of $100 to $250 per Mbyte. DRAM access times are ns.
1 Chapter Seven CACHE MEMORY AND VIRTUAL MEMORY. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4.
1  1998 Morgan Kaufmann Publishers Where we are headed Performance issues (Chapter 2) vocabulary and motivation A specific instruction set architecture.
1 Introduction ELG 6158 Digital Systems Architecture Miodrag Bolic.
Lecture 17 Final Review Prof. Mike Schulte Computer Architecture ECE 201.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Virtual Memory Ch. 8 & 9 Silberschatz Operating Systems Book.
Page 1 Computer Architecture and Organization 55:035 Midterm Exam Review Spring 2011.
Page 1 Computer Architecture and Organization 55:035 Final Exam Review Spring 2011.
Copyright 2006 by Timothy J. McGuire, Ph.D. 1 MIPS Programming Model CS 333 Sam Houston State University Dr. Tim McGuire.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
Computer Organization and Architecture Lecture 1 : Introduction
CS161 – Design and Architecture of Computer
Translation Lookaside Buffer
Computer Architecture & Operations I
Computer Architecture & Operations I
CMSC 611: Advanced Computer Architecture
ECE232: Hardware Organization and Design
Memory COMPUTER ARCHITECTURE
CS161 – Design and Architecture of Computer
CS352H: Computer Systems Architecture
A Real Problem What if you wanted to run a program that needs more memory than you have? September 11, 2018.
A Closer Look at Instruction Set Architectures
ELEN 468 Advanced Logic Design
RISC Concepts, MIPS ISA Logic Design Tutorial 8.
A Closer Look at Instruction Set Architectures
Memory Hierarchy Virtual Memory, Address Translation
Lecture 6 Memory Hierarchy
Basics Of X86 Architecture
Morgan Kaufmann Publishers
Exceptions & Multi-cycle Operations
Introduction to Computer Systems Engineering
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
Instructions - Type and Format
Evolution in Memory Management Techniques
COSC121: Computer Systems
Chapter 5 Memory CSE 820.
Topic 5: Processor Architecture Implementation Methodology
CMSC 611: Advanced Computer Architecture
Topic 5: Processor Architecture
Translation Buffers (TLB’s)
CS455/CpE 442 Intro. To Computer Architecure
Project Instruction Scheduler Assembler for DLX
Virtual Memory Overcoming main memory size limitation
What is Computer Architecture?
What is Computer Architecture?
Paging and Segmentation
Virtual Memory Lecture notes from MKP and S. Yalamanchili.
Principle of Locality: Memory Hierarchies
The University of Adelaide, School of Computer Science
Translation Buffers (TLBs)
Cache writes and examples
Review What are the advantages/disadvantages of pages versus segments?
Presentation transcript:

Introduction to Computer Systems Engineering Final Review Introduction to Computer Systems Engineering (CPEG 323) 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Objectives of CPEG 323 Acquire solid knowledge in the analysis, design, implementation and evaluation of computer system organization with emphasis on instruction-set architecture and optimization Acquire basic knowledge of the interaction between system software (e.g. compilers) and hardware (architecture) design 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

ABET Outcomes Ability to apply knowledge of science (e.g., computer architecture and system organization, and related computer science issues), and engineering (e.g., performance analysis and benchmarking, ISA simulation and verification) Ability to use the techniques, skills and modern engineering tools necessary for engineering practice Knowledge of related topics in computer science discipline 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Areas of Importance Basics of computer organization Instruction set architectures Computer arithmetic Computer performance Data path and control Pipelining Memory Hierarchy 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Basics of Computer Organization (Chapter 1 of text + slides Topic0, 1, 1a) General knowledge of computing history Historical perspectives Impacts of technological changes Market forces How architecture is affected by software and applications Basic structure of general purpose computer 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Instruction Set Architectures (Chapter 2 of book + Slides 2, 2a, 2b, 2c. 2d) What is ISA ? Role of ISA w.r.t. hardware and software MIPS instruction set architecture Basic Steps of MIPS instruction execution 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

More about ISA … 4 style of ISAs: General vs. special purpose regs memory-to-memory accumulator machines stack machines register based ISA General vs. special purpose regs 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

More about ISA … MIPS memory model Register conventions data types and sizes little vs. big endings Register conventions MIPS operations (3 types) instruction format and fields addressing mode assembly vs. machine representation RISC vs. CISC Calling conventions and stack frames caller save vs. callee save parameter passing 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

More about ISA … Static vs. dynamic libraries System software and ISA role of system software tool chain: compiler, assembler, linker, etc. memory layout for C compilers runtime stack layout Interaction between ISA and OS Privileged mode, traps, etc Static vs. dynamic libraries 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Computer Arithmetic (Chapter 3 of book + Topics 3, 3a, 3b, 3c, 3d, 3e) Number representations un/signed integers BCDs Two’s complement 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Computer Arithmetic – cont’d Basic ALU design Integer adders (ripple carry, look ahead techniques) Integer multiply 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Computer Arithmetic – cont’d Real numbers IEEE-754 Representation FP Addition 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Performance Evaluation (Chapter 4 of book + Slides 4, 4a) Why performance evaluation ? Performance matrices Performance measurement Benchmarks 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Performance matrices Time-based matrices CPI MIPS and MFLOPS Hardware based matrics and weakness 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Performance measurement and benchmarking Sustained and peak performance Relative performance Benchmark classes 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Processor Datapath and Control (Chapter 5 of book + Slides 5, 5a, 5b) Datapath building blocks Single-cycle datapath and control Multi-cycle datapath and control And comparsion between them 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Data Path and Control Given an instruction, say, add or lw or sw, can you point out the correct setting of each control? 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Data Path and Control 1-cycle implementation Multi-cycle implementation Finite-state machine Microcode 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Pipelining Chapter 6, slides 6, 6a, 6b, 6c Pipelined data path and control Hazards What are hazards How many types of hazards? Related concept: data dependence and its representation Hazards resolution 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

A Pipelined Datapath 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Hazards Three types of hazards (data, control, structural) Concept of data dependence and dependence graphs Three types of data dependences that cause data hazards 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Hazards Detection and Resolution Hazards resolution architecture vs. software methods forwarding (bypassing) stalls and interlock 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Memory Hierarchy Chapter 7, slides 7, 7a, 7b, 7c, 7d, 7e Memory hierarchy overview Cache and cache design Virtual memory 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Memory Hierarchies Q1: Where can a block be placed in the upper level? (Block placement) Q2: How is a block found if it is in the upper level? (Block identification) Q3: Which block should be replaced on a miss? (Block replacement) Q4: What happens on a write? (Write strategy) 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Cache Architecture The basics of cache Cache organization Cache replacement policy Cache design 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Cache Basics What is cache ? Is it architecture visible ? Locality: temporal and spacial Cache hit/miss ratio How to compute effective cache access time ? Integration Cache in datapath design 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Cache Organization Cache line and directory Cache organization Fully associative: an element can be in any block Direct mapping : an element can be in only one block Set-associative : an element can be in a group of block 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Memory Address TAG INDEX Offset within a block Block address Example 1: the basic memory accesses unit is “word”, and one block has 4 words. Then this offset has 2 bits, pointing to a word in the block. Example 2: the basic memory accesses unit is “byte”, and one block has 4 words, 1 word has 4 bytes. Then this offset has 4 bits, 2 bits pointing to a word in the block, another 2 bits to a byte in the word. 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Cache Design Cache parameters ( depending on organization and placement) Cache replacement policy – LRU, OPT, etc. Cache performance evaluation method 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

Virtual Memory Motivation of VM Virtual to physical address mapping: page and page table Page placement and size selection Page fault and replacement policy TLB: motivation and design issues Protection 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt

VM vs. Cache Technology factors Hardware vs. software tradeoffs 2019/7/10 \course\cpeg323-05F\Final-Review-323-05F.ppt