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



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

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

Introduction to Microprocessors

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

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

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

Chapter 2 Logic Gates and Introduction to Computer Architecture

Processor Architectures

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

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Microprocessor or Microcontroller?

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

The Central Processing Unit:

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

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Area 3: Analog and Digital Electronics. D.A. Johns

CSE 141 Introduction to Computer Architecture Summer Session I, Lecture 1 Introduction. Pramod V. Argade June 27, 2005

3 SOFTWARE AND PROGRAMMING LANGUAGES

Computer Architectures

EE361: Digital Computer Organization Course Syllabus

CPU Organization and Assembly Language

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

Computer Organization and Components

MICROPROCESSOR AND MICROCOMPUTER BASICS

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

How To Understand The Design Of A Microprocessor

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

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

Design of Digital Circuits (SS16)

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

Levels of Programming Languages. Gerald Penn CSC 324

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

Computer organization

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Performance evaluation

TYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS

İSTANBUL AYDIN UNIVERSITY

Here is a diagram of a simple computer system: (this diagram will be the one needed for exams) CPU. cache

COMP 303 MIPS Processor Design Project 4: MIPS Processor Due Date: 11 December :59

A New, High-Performance, Low-Power, Floating-Point Embedded Processor for Scientific Computing and DSP Applications

Operating System Overview. Otto J. Anshus

Memory Systems. Static Random Access Memory (SRAM) Cell

CHAPTER 7: The CPU and Memory

Review: MIPS Addressing Modes/Instruction Formats

(Refer Slide Time: 02:39)

EMBEDDED SYSTEM BASICS AND APPLICATION

Computer Architecture TDTS10

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

Pipeline Hazards. Arvind Computer Science and Artificial Intelligence Laboratory M.I.T. Based on the material prepared by Arvind and Krste Asanovic

Design Cycle for Microprocessors

01 Introduction. The timeline

AUTOMATIC NIGHT LAMP WITH MORNING ALARM USING MICROPROCESSOR

Computer Systems Structure Input/Output

CMSC 611: Advanced Computer Architecture

Computer Automation Techniques. Arthur Carroll

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

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

Computer Systems Structure Main Memory Organization

What is a System on a Chip?

Instruction Set Design

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

7a. System-on-chip design and prototyping platforms

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

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

LSN 2 Computer Processors

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

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

SOC architecture and design

Q. Consider a dynamic instruction execution (an execution trace, in other words) that consists of repeats of code in this pattern:

Computer Organization and Components

CS352H: Computer Systems Architecture

Pipeline Hazards. Structure hazard Data hazard. ComputerArchitecture_PipelineHazard1

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

A SystemC Transaction Level Model for the MIPS R3000 Processor

What is this course is about? Design of Digital Circuitsit. Digital Integrated Circuits. What is this course is about?

Multimedia Systems Hardware & Software THETOPPERSWAY.COM

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

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

ARM Microprocessor and ARM-Based Microcontrollers

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Overview and History of Operating Systems

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

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

Solution: start more than one instruction in the same clock cycle CPI < 1 (or IPC > 1, Instructions per Cycle) Two approaches:

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

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines

On Demand Loading of Code in MMUless Embedded System

U. Wisconsin CS/ECE 752 Advanced Computer Architecture I

CHAPTER 3 Boolean Algebra and Digital Logic

Chapter 1 Computer System Overview

Chapter 5 Busses, Ports and Connecting Peripherals

Instruction Set Architecture (ISA)

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Discovering Computers Living in a Digital World

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

CSE 141L Computer Architecture Lab Fall Lecture 2

Transcription:

Introducción Adapted from: Mary Jane Irwin ( www.cse.psu.edu/~mji ) www.cse.psu.edu/~cg431 [Original from Computer Organization and Design, Patterson & Hennessy, 2005, UCB] Diseño de sistemas digitales.1

The Evolution of Computer Hardware When was the first transistor invented? Diseño de sistemas digitales.2

The Evolution of Computer Hardware When was the first transistor invented? Modern day electronics began with the invention in 1947 of the transfer resistor the bi polar transistor by Bardeen et.al at Bell Laboratories Diseño de sistemas digitales.3

The Evolution of Computer Hardware When was the first IC (integrated circuit) invented? Diseño de sistemas digitales.4

The Evolution of Computer Hardware When was the first IC (integrated circuit) invented? In 1958 the IC was born when Jack Kilby at Texas Instruments successfully interconnected, by hand, several transistors, resistors and capacitors on a single substrate Diseño de sistemas digitales.5

The Underlying Technologies Year 1951 1965 1975 1995 2005 Technology Vacuum Tube Transistor Integrated Circuit (IC) Very Large Scale IC (VLSI) Ultra VLSI Relative Pref/Unit Cost 1 35 900 2,400,000 6,200,000,000 What if technology in the transportation industry advanced at the same rate? Diseño de sistemas digitales.6

The PowerPC 750 Introduced in 1999 3.65M transistors 366 MHz clock rate 40 mm 2 die size 250nm technology Diseño de sistemas digitales.7

Impacts of Advancing Technology Processor logic capacity: performance: increases about 30% per year 2x every 1.5 years Memory DRAM capacity: 4x every 3 years, about 60% per year memory speed: 1.5x every 10 years cost per bit: decreases about 25% per year Disk capacity: increases about 60% per year Diseño de sistemas digitales.8

Growth Capacity of DRAM Chips K = 1024 (2 10 ) In recent years growth rate has slowed to 2x every 2 year Diseño de sistemas digitales.9

Computer Organization and Design This course is all about how computers work But what do we mean by a computer? Different types: embedded, laptop, desktop, server Different uses: automobiles, graphics, finance, genomics Different manufacturers: Intel, Apple, IBM, Sony, Sun Different underlying technologies and different costs! Analogy: Consider a course on automotive vehicles Many similarities from vehicle to vehicle (e.g., wheels) Huge differences from vehicle to vehicle (e.g., gas vs. electric) Best way to learn: Focus on a specific instance and learn how it works While learning general principles and historical perspectives Diseño de sistemas digitales.10

Embedded Computers in You Car Diseño de sistemas digitales.11

Growth of Sales of Embedded Computers Diseño de sistemas digitales.12

Why Learn This Stuff? You want to call yourself a computer scientist/engineer You want to build HW/SW people use (so need performance) You need to make a purchasing decision or offer expert advice Both hardware and software affect performance Algorithm determines number of source level statements Language/compiler/architecture determine the number of machine level instructions Diseño de sistemas digitales.13 (Chapter 2 and 3) Processor/memory determine how fast machine level instructions are executed (Chapter 5, 6, and 7)

What is a Computer? Components: processor (datapath, control) input (mouse, keyboard) output (display, printer) memory (cache (SRAM), main memory (DRAM), disk drive, CD/DVD) network Our primary focus: the processor (datapath and control) Implemented using millions of transistors Impossible to understand by looking at each transistor We need abstraction! Diseño de sistemas digitales.14

Major Components of a Computer Diseño de sistemas digitales.15

Below the Program High level language program (in C) swap (int v[], int k) (int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; ) Assembly language program (for MIPS) swap: sll $2, $5, 2 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Machine (object) code (for MIPS) 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000... Diseño de sistemas digitales.16

Below the Program High level language program (in C) swap (int v[], int k) (int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; ) Assembly language program (for MIPS) swap: sll $2, $5, 2 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Machine (object) code (for MIPS) 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000... one to many C compiler one to one assembler Diseño de sistemas digitales.17

Advantages of Higher Level Languages? Diseño de sistemas digitales.18

Advantages of Higher Level Languages? Higher level languages Allow the programmer to think in a more natural language and for their intended use (Fortran for scientific computation, Cobol for business programming, Lisp for symbol manipulation, Java for web programming, ) Improve programmer productivity more understandable code that is easier to debug and validate Improve program maintainability Allow programs to be independent of the computer on which they are developed (compilers and assemblers can translate high level language programs to the binary instructions of any machine) Emergence of optimizing compilers that produce very efficient assembly code optimized for the target machine As a result, very little programming is done today at the assembler level Diseño de sistemas digitales.19

Machine Organization Capabilities and performance characteristics of the principal Functional Units (FUs) e.g., register file, ALU, multiplexors, memories,... The ways those FUs are interconnected e.g., buses Logic and means by which information flow between FUs is controlled The machine s Instruction Set Architecture (ISA) Register Transfer Level (RTL) machine description Diseño de sistemas digitales.20

ISA Sales Diseño de sistemas digitales.21

Major Components of a Computer Processor Control Memory Devices Network Input Datapath Output Diseño de sistemas digitales.22

Below the Program High level language program (in C) swap (int v[], int k)... Assembly language program (for MIPS) swap: sll $2, $5, 2 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Machine (object) code (for MIPS) 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 Diseño de sistemas digitales.23 000000 11111 00000 0000000000001000 C compiler assembler

Below the Program High level language program (in C) swap (int v[], int k)... Assembly language program (for MIPS) swap: sll $2, $5, 2 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Machine (object) code (for MIPS) 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 Diseño de sistemas digitales.24 000000 11111 00000 0000000000001000 C compiler assembler

Input Device Inputs Object Code 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Processor Control Datapath Memory Devices Network Input Output Diseño de sistemas digitales.25

Object Code Stored in Memory Processor Control Datapath Memory 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Devices Network Input Output Diseño de sistemas digitales.26

Processor Fetches an Instruction Processor fetches an instruction from memory Processor Control Datapath Memory 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Devices Network Input Output Diseño de sistemas digitales.27

Control Decodes the Instruction Control decodes the instruction to determine what to execute Processor Control 000000 00100 00010 0001000000100000 Datapath Memory Devices Network Input Output Diseño de sistemas digitales.28

Datapath Executes the Instruction Datapath executes the instruction as directed by control Processor Control 000000 00100 00010 0001000000100000 Datapath contents Reg #4 ADD contents Reg #2 results put in Reg #2 Memory Devices Network Input Output Diseño de sistemas digitales.29

What Happens Next? Processor Control Datapath Memory 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Devices Network Input Output Diseño de sistemas digitales.30

What Happens Next? Processor Control Datapath Memory 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Devices Network Input Output Fetch Exec Decode Diseño de sistemas digitales.31

Processor Fetches the Next Instruction Processor fetches the next instruction from memory Processor Control Datapath Memory 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Devices Network Input Output How does it know which location in memory to fetch from next? Diseño de sistemas digitales.32

Processor Organization Control needs to have circuitry to Datapath needs to have circuitry to Diseño de sistemas digitales.33

Processor Organization Control needs to have circuitry to Diseño de sistemas digitales.34 Decide which is the next instruction and input it from memory Decode the instruction Issue signals that control the way information flows between datapath components Control what operations the datapath s functional units perform Datapath needs to have circuitry to Execute instructions functional units (e.g., adder) and storage locations (e.g., register file) Interconnect the functional units so that the instructions can be executed as required Load data from and store data to memory What location does it load from and store to?

Output Data Stored in Memory At program completion the data to be output resides in memory Processor Control Datapath Memory 00000100010100000000000000000000 00000000010011110000000000000100 00000011111000000000000000001000 Devices Network Input Output Diseño de sistemas digitales.35

Output Device Outputs Data Processor Control Datapath Memory Devices Network Input Output 00000100010100000000000000000000 00000000010011110000000000000100 00000011111000000000000000001000 Diseño de sistemas digitales.36

The Instruction Set Architecture (ISA) software instruction set architecture hardware The interface description separating the software and hardware Diseño de sistemas digitales.37

The MIPS ISA Instruction Categories Registers Load/Store Computational Jump and Branch Floating Point coprocessor Memory Management Special R0 R31 PC HI LO 3 Instruction Formats: all 32 bits wide OP OP OP rs rt rd sa funct rs rt immediate jump target Diseño de sistemas digitales.38 Q: How many already familiar with MIPS ISA?

How Do the Pieces Fit Together? Applications Operating System Instruction Set Architecture Memory system Compiler Processor Firmware I/O system network Datapath & Control Digital Design Circuit Design Coordination of many levels of abstraction Under a rapidly changing set of forces Design, measurement, and evaluation Diseño de sistemas digitales.39