ELE 356 Computer Engineering II. Section 1 Foundations Class 6 Architecture



Similar documents
Introduction to Microprocessors

LSN 2 Computer Processors

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Processor Architectures

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Chapter 2 Logic Gates and Introduction to Computer Architecture

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Introduction to Cloud Computing

Computer Architecture TDTS10

Introduction to Computer Architecture Concepts

Introducción. Diseño de sistemas digitales.1

TYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS

Computer Architectures

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS

ARM Microprocessor and ARM-Based Microcontrollers

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

CMSC 611: Advanced Computer Architecture

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

The Central Processing Unit:

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

CHAPTER 4 MARIE: An Introduction to a Simple Computer

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

Introduction to GPU Programming Languages


Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

Week 1 out-of-class notes, discussions and sample problems

CPU Organization and Assembly Language

Discovering Computers Living in a Digital World

Chapter 01: Introduction. Lesson 02 Evolution of Computers Part 2 First generation Computers

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Computer Systems Structure Input/Output

Chapter 1 Computer System Overview

İSTANBUL AYDIN UNIVERSITY

Central Processing Unit (CPU)

Generations of the computer. processors.

Bindel, Spring 2010 Applications of Parallel Computers (CS 5220) Week 1: Wednesday, Jan 27

Software implementation of Post-Quantum Cryptography

CISC, RISC, and DSP Microprocessors

EECS 678: Introduction to Operating Systems

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU

Computer Organization and Architecture. Characteristics of Memory Systems. Chapter 4 Cache Memory. Location CPU Registers and control unit memory

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

Multi-core architectures. Jernej Barbic , Spring 2007 May 3, 2007

Design Cycle for Microprocessors

Computer Architecture. Secure communication and encryption.

Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/18/2013

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

In the Beginning The first ISA appears on the IBM System 360 In the good old days

IBM CELL CELL INTRODUCTION. Project made by: Origgi Alessandro matr Teruzzi Roberto matr IBM CELL. Politecnico di Milano Como Campus

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 1 History of Computers

COMPUTER ORGANIZATION AND ARCHITECTURE. Slides Courtesy of Carl Hamacher, Computer Organization, Fifth edition,mcgrawhill

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

PROBLEMS. which was discussed in Section

INSTRUCTION LEVEL PARALLELISM PART VII: REORDER BUFFER

Operating System Overview. Otto J. Anshus

The Motherboard Chapter #5

ARM Architecture. ARM history. Why ARM? ARM Ltd developed by Acorn computers. Computer Organization and Assembly Languages Yung-Yu Chuang

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

RISC AND CISC. Computer Architecture. Farhat Masood BE Electrical (NUST) COLLEGE OF ELECTRICAL AND MECHANICAL ENGINEERING

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

Software engineering for real-time systems

Computer Organization and Components

Overview and History of Operating Systems

Microprocessor and Microcontroller Architecture

Computer Architecture Basics

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

Slide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng

Copyright 2012 Pearson Education, Inc. Chapter 1 INTRODUCTION TO COMPUTING AND ENGINEERING PROBLEM SOLVING

Overview. CPU Manufacturers. Current Intel and AMD Offerings

Intel 8086 architecture

Annotation to the assignments and the solution sheet. Note the following points

The Big Picture. Cache Memory CSE Memory Hierarchy (1/3) Disk

Memory ICS 233. Computer Architecture and Assembly Language Prof. Muhamed Mudawar

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Microprocessor or Microcontroller?

An Overview of Stack Architecture and the PSC 1000 Microprocessor

Computer Systems Design and Architecture by V. Heuring and H. Jordan

Thread level parallelism

CS Computer Organization

Building Blocks for PRU Development

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

Introduction to GPU Architecture

Hardware Assisted Virtualization

Computer Organization

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

Pipelining Review and Its Limitations

Computer Organization and Architecture

Architectures and Platforms

EE282 Computer Architecture and Organization Midterm Exam February 13, (Total Time = 120 minutes, Total Points = 100)

EMBEDDED SYSTEM BASICS AND APPLICATION

Definition of Computers. INTRODUCTION to COMPUTERS. Historical Development ENIAC

Unit A451: Computer systems and programming. Section 2: Computing Hardware 1/5: Central Processing Unit

Transcription:

ELE 356 Computer Engineering II Section 1 Foundations Class 6 Architecture

History ENIAC Video 2 tj

History Mechanical Devices Abacus 3 tj

History Mechanical Devices The Antikythera Mechanism Oldest known scientific calculator From the Greek period Over 30 gears Used to find the position of the sun, moon and planets Predict eclipses 4 tj

History Mechanical Devices Sectors Developed in the late 1500s Adapted to a broad range of approximate computations Basic arithmetic, calculating areas and volumes, converting currencies 5 tj

History Mechanical Devices Slide Rule Developed in the 1600s Widely used until 1970s Adapted to a broad range of approximate computations Basic arithmetic, trig, logs, Specialized applications developed (nuclear, space, military) 6 tj

History Mechanical Devices Leibniz Stepped Reckoner calculator Developed in 1673 First four-function calculator Based on drum-shaped gears Lead to almost 300 years of derivative devices 7 tj

History Mechanical Devices Babbage Analytical Engine Started in 1834 Never completed Processing unit, memory unit, punch card input First programmable computer 8 tj

History Mechanical Devices Advanced Mechanical Calculators 9 tj

History Mechanical Devices Electric motors added to speed things up 10 tj

History Early Computers Harvard MK1 1937-1944 Electromechanical 50ft shaft Hand Programmed 11 tj

History Early Computers ENIAC 1943-1945 All electrical vacuum tubes Hand programmed 12 tj

History Early Computers Manchester Small Scale Experimental Machine (baby) 1948 First stored program computer Program memory was tube based 13 tj

History Early Computers EDVAC Modified the ENIAC to use the stored program concept First to use paper tape to input programs 14 tj

History Mass Produced Computers UNIVAC 1951 Console for control Used Mag tape for storage 15 tj

History Mass Produced Computers IBM 1958 First mass produced transistor based computer 16 tj

History Mini-Computers PDP8, LINC, PDP11, Vax11/780, Wang2200 17 tj

History Personal Computers Intel 8008 home made computers 18 tj

History Personal Computers TRS80, Apple II, Commodore PET Publically available 1977 IBM PC 1981 Huge adoption Software explodes Laptops 1989 Mobility 19 tj

History TRS 80 video 20 tj

Classes of Processors General Purpose Processor User Programmable Intended to run end user selected programs Application Independent PowerPoint, Chrome, Twitter, Angry birds, Embedded Processor Not User Programmable Programmed by manufacturer Application Driven Non-smart phone, appliances, missiles, automobiles, Very wide and very deep applications profile 21 tj

Classes of Processors General Purpose Processor Key Characteristics 32/64 bit operations Support non-real-time/time-sharing operating systems Support complex memory systems Multi-level cache dram Virtual memory Support DMA-driven I/O Complex CPU structures Pipelining Superscalar execution Out-of-order execution (OOO) Floating Point HW 22 tj

Classes of Processors General Purpose Processor Examples ARM 7, 9, Cortex A8, A9,A15 Intel Pentiums, Ix, AMD Phenom, Athleron, Opteron Apple A4, A5 TI OMAPs 23 tj

Classes of Processors Embedded Processor Key Characteristics 4/8/16/32 bit operations Support real-time operating systems Relatively simple memory systems Memory mapped I/O Simple CPU structures Few registers Limited Instructions Support for multiple I/O schemes Wide range of peripheral support A/D D/A Sensors Extensive interrupt support 24 tj

Classes of Processors Embedded Processor Examples Motorola/Freescale 68K, HC11, HCS12 ARM Cortex Rx, Mx Atmel AVR 25 tj

Instruction Sets CISC Complex Instruction Set Computer Name didn t even exist until RISC was defined Used in most processors until about 1980 One instruction holds multiple actions Load data from location, add, write data to new location Many times the instructions were designed to emulate high level language constructs RISC Reduced Instruction Set Computer Developed in the 80s Most prevalent architecture today Sometimes called a load/store architecture Instructions are simple Load data from location Add Store data to location RISC dominates today Much easier to take advantage of advanced structures like Pipelining, Superscalar, OOO 26 tj

Architectural Configurations Instruction / Data Structures SIMD Single Instruction Multiple Data SISD Single instruction Single Data SIMD INSTRUCTIONS SISD INSTRUCTIONS P DATA P DATA P P MIMD Multiple Instruction Multiple Data MISD Multiple Instruction Single Data MISD INSTRUCTIONS MIMD P INSTRUCTIONS P P DATA P P P DATA P P P P P P 27 tj

Architectural Configurations Memory Bus Structure von Neumann Harvard UNIFIED MEMORY INSTRUCTION MEMORY DATA MEMORY ADDRESS ADDRESS CONTROL CONTROL ALU CONTROL CONTROL ALU STATUS STATUS 28 tj

Architectural Configurations Memory Bus Structure Modified Harvard UNIFIED MEMORY INSTRUCTION MEMORY DATA MEMORY ADDRESS CONTROL CONTROL ALU STATUS 29 tj

Architectural Configurations Cache Memory Modified Harvard UNIFIED MEMORY INSTRUCTION MEMORY ADDRESS DATA MEMORY These memories are often augmented by cache memories or are caches themselves CONTROL CONTROL ALU STATUS 30 tj

Architectural Configurations Cache Memory Cache memory is used to store relatively small amounts of data or program for a relatively short amount of time Sit between the processor and the main memory Fast keep them small to make them fast allow the processor to run faster than main memory would allow Leverage the concept of temporal locality If you have recently used a piece of data you are more likely to use it again Leverage the concept of spatial locality Program code and data structures are generally contiguous in memory 31 tj

Architectural Configurations Cache Memory Basic Operation Processor requests a byte of program or data The system first checks to see if the byte is already in the cache if Yes read the byte and continue (called a cache hit) if No stall or allow the processor to do something else (called a cache miss) read the byte from main memory into the cache read the byte from the cache and continue If the cache is full and a new byte needs to be loaded several methods can be used to remove an existing byte LRU least recently used byte is removed FIF0 oldest byte loaded is removed 32 tj

Architectural Configurations Pipelining Clock Cycle 0 1 2 3 4 5 Waiting D C D Instructions B C D A B C D CPU Execute A B C D Retired Instructions Execute = fetch instruction, decode, execute, write back No Pipeline A B C D A B C A B A 4us 4us 4us 4us 4us 33 tj

Architectural Configurations Pipelining Break complex tasks into smaller chunks Start the next instruction as soon as each subtask is complete Clock Cycle 0 1 2 3 4 5 6 7 8 Pipeline Waiting D C D Instructions B C D A B C D Fetch A B C D Decode A B C D Execute A B C D Write back A B C D Retired Instructions A B C D A B C A B A 1us 1us 1us 1us 1us 1us 1us 1us 34 tj

Architectural Configurations Superscalar Parallelism at the micro-architecture level 35 tj

Architectural Configurations Modern Example 36 tj

Architectural Configurations Modern Example 37 tj

Architectural Configurations Modern Example 38 tj