CPU Architecture system clock

Similar documents
1. Fundamental Concepts

CPE300: Digital System Architecture and Design

Chapter 4. The Processor

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

The MIPS Processor Datapath

C and C++ I. Spring 2014 Carola Wenk

Chapter 4. The Processor

Lecture 19: Computers. Pay no attention to the man behind the curtain.

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

Now we are going to speak about the CPU, the Central Processing Unit.

16.1. Unit 16. Computer Organization Design of a Simple Processor

CS140 Lecture 03: The Machinery of Computation: Combinational Logic

Chapter 4. The Processor Designing the datapath

CS101 Lecture 25: The Machinery of Computation: Computer Architecture. John Magee 29 July 2013 Some material copyright Jones and Bartlett

Processor (I) - datapath & control. Hwansoo Han

Finite State Machines (FSMs) and RAMs and CPUs. COS 116, Spring 2011 Sanjeev Arora

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

Computer Architecture s Changing Definition

Course Outline. Overview 1. I. Introduction II. Performance Evaluation III. Processor Design and Analysis. IV. Memory Design and Analysis

CSE140: Components and Design Techniques for Digital Systems

Register Transfer Level (RTL) Design

2/15/2008. Announcements. Programming. Instruction Execution Engines. Following Instructions. Instruction Execution Engines. Anatomy of a Computer

Computer Organization and Levels of Abstraction

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

2.2 THE MARIE Instruction Set Architecture

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

CS61C : Machine Structures

Lecture 4: MIPS Instruction Set

How a Digital Binary Adder Operates

Processor Design CSCE Instructor: Saraju P. Mohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed

CPS104 Computer Organization Lecture 1

CS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro

Outline. A pipelined datapath Pipelined control Data hazards and forwarding Data hazards and stalls Branch (control) hazards Exception

ECE260: Fundamentals of Computer Engineering

Integer Multiplication and Division

Data paths for MIPS instructions

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

CpE242 Computer Architecture and Engineering Designing a Single Cycle Datapath

CSE : Introduction to Computer Architecture

1 5. Addressing Modes COMP2611 Fall 2015 Instruction: Language of the Computer

C Functions and Pointers. C Pointers. CS270 - Fall Colorado State University. CS270 - Fall Colorado State University

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Multi Cycle Implementation Scheme for 8 bit Microprocessor by VHDL

Computer Organization and Levels of Abstraction

TUTORIAL Describe the circumstances that would prompt you to use a microprocessorbased design solution instead of a hard-wired IC logic design.

BASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition

Introduction to Computer Science. Homework 1

Lecture 7: Examples, MARS, Arithmetic

Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates. Invitation to Computer Science, C++ Version, Third Edition

Lecture 3: Instruction Set Architecture

Chapter 2: Instructions How we talk to the computer

Systems Architecture

COMP 303 MIPS Processor Design Project 3: Simple Execution Loop

Midterm Examination - Answers October 25, 2012 In Class Instructor: Joseph Vybihal

ETGG1801 Game Programming Foundations I Andrew Holbrook Fall Lecture 0 - Introduction to Computers 1

COMPUTER ORGANIZATION (CSE 2021)

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

CS 101, Mock Computer Architecture

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

Suggested Readings! Recap: Pipelining improves throughput! Processor comparison! Lecture 17" Short Pipelining Review! ! Readings!

ENGN1640: Design of Computing Systems Topic 04: Single-Cycle Processor Design

Little Man Computer (LMC)

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

CS 110 Computer Architecture Single-Cycle CPU Datapath & Control

Levels in Processor Design

CPSC 313, 04w Term 2 Midterm Exam 2 Solutions

Laboratory Single-Cycle MIPS CPU Design (3): 16-bits version One clock cycle per instruction

ECE 468 Computer Architecture and Organization Lecture 1

OPEN BOOK, OPEN NOTES. NO COMPUTERS, OR SOLVING PROBLEMS DIRECTLY USING CALCULATORS.

Reconfigurable Computing Systems ( L) Fall 2012 Tiny Register Machine (TRM)

William Stallings Computer Organization and Architecture

Introduction. Datapath Basics

Instruction Set Architectures. Part 1

C Program Adventures. From C code to motion

are Softw Instruction Set Architecture Microarchitecture are rdw

CS3350B Computer Architecture Winter 2015

Announcements. Announcements. Announcements. Announcements. Announcements. Copyright. Chapter 9 for today Guest speaker on Monday

Instruction Set Architecture

ECE 341 Midterm Exam

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

Computer Organization

Mechanization. A little bit of history. Mechanization. The old dream of mechanical computing. Jordi Cortadella Department of Computer Science

CS 31: Intro to Systems ISAs and Assembly. Martin Gagné Swarthmore College February 7, 2017

4. What is the average CPI of a 1.4 GHz machine that executes 12.5 million instructions in 12 seconds?

MIPS Memory Access Instructions

address ALU the operation opcode ACC Acc memory address

CIT 668: System Architecture

CS 3410 Computer System Organization and Programming

A little bit of history. Jordi Cortadella Department of Computer Science

Announcements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls

CENG 3531 Computer Architecture Spring a. T / F A processor can have different CPIs for different programs.

CSC 220: Computer Organization Unit 10 Arithmetic-logic units

Logic, Words, and Integers

CS 3410 Computer System Organization and Programming

Chapter 4. The Processor

Transcription:

CPU Architecture system clock Memory 64-bit adder Every CPU architecture is implemented using digital logic. In each cycle of the system clock, logic is executed and results are saved. System designers attempt to implement logic so that it can be executed in one clock cycle.

Circuits and Logic What kinds of functions can we actually implement as a digital circuit? Any Boolean function can be converted into a circuit: Inputs... Outputs... We can construct a circuit for each output bit that is a function of the inputs. The goal is to produce circuits as fast as possible - that is, with minimum depth.

CPU Architecture Intel Itanium (2001) How is the logic created? How is silicon used?

Semiconductor Technology Semiconductor photolithography Modern CPUs are constructed by etching transistors (and thus gates) into silicon. Feature size is on the order of tens of nanometers; CPUs can have several billion transistors.

Everything is a logic operation!

CPU Instruction Sets How are programs stored in memory? Programs are just a special kind of data that control the CPU. Program A 010011... 64-bit Instruction Memory add x y z Every CPU has a predefined instruction set that determines which circuitry is active. The main categories of instruction type are: memory access, control flow, and arithmetic operations.

CPU Instruction Sets How are programs stored in memory? Programs are just a special kind of data that control the CPU. Program A 010011... 64-bit Instruction Data Memory add x y z Every CPU has a predefined instruction set that determines which circuitry is active. The main categories of instruction type are: memory access, control flow, and arithmetic operations.

CPU Instruction Sets How are programs stored in memory? Programs are just a special kind of data that control the CPU. Program A 010011... 64-bit Instruction Data Memory add $t0 $t1 $t2 Registers are fast memory used as scratch space; additional instructions fetch and store data to external memory. Every CPU has a predefined instruction set that determines which circuitry is active. The main categories of instructions are: memory access, control flow, and arithmetic operations.

Machine Language 1 2 3 4 5 6 7 8 lw $t0, 1 lw $t1,0 lw $t2, n loop: bgt $t0,$t2,done add $t0, $t1, $t1 add $t0, 2 jmp loop done: sw: store word to register lw: load word to register bgt: branch-on-greater-than add: add two registers jmp: jump to given address What does this program do?

Machine Language 1 2 3 4 5 6 7 8 lw $t0, 1 lw $t1,0 lw $t2, n loop: bgt $t0,$t2,done add $t0, $t1, $t1 add $t0, 2 jmp loop done: Memory operations Conditional Execution Arithmetic operations Looping Construct

High-Level Constructs Program A z = x + y... if (a <= b) sum = sum + 1 else: sum = sum - 1... while (a <= b) sum = sum + 1 Arithmetic Operations Conditional Execution Looping constructs You may be more familiar with the above constructs - how do they compare with machine instructions?

Higher-Level Languages Machine Language lw $t0, 1 lw $t1,0 lw $t2, n loop: bgt $t0,$t2,done add $t0, $t1, $t1 add $t0, 2 jmp loop done: C/C++ int sum = 0; for (int i=1; i<=n; i+=2) sum += i; Python sum = 0 i = 1 while (i <= n): sum += i i += 2 High-level programming languages allow us to forget the painful details of machine instructions, so that we can develop concise ways to perform useful tasks.

Creating Machine Instructions sum = 0 i = 1 while (i <= n): sum += i i += 2 Compiler / Interpreter lw $t0, 1 lw $t1,0 lw $t2, n loop: bgt $t0,$t2,done add $t0, $t1, $t1 add $t0, 2 jmp loop done: Compilers are CPU-specific programs that translate from high-level language to machine code.

Recap What architecture does every computational device have? What are the features of this architecture? Is a hard drive an input device or output device? What does a program consist of and where is it stored? How are machine instructions executed on the CPU? What is a logic gate? What are the three basic logic operations? What CPU operations are implemented using digital logic? What is a program? How is it executed on the CPU?