6.5 TOY Machine Architecture

Similar documents
Chapter 2 Logic Gates and Introduction to Computer Architecture

Microprocessor & Assembly Language

(Refer Slide Time: 00:01:16 min)

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

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

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

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

Building a computer. Electronic Numerical Integrator and Computer (ENIAC)

CHAPTER 4 MARIE: An Introduction to a Simple Computer

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

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

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

CHAPTER 7: The CPU and Memory

MICROPROCESSOR AND MICROCOMPUTER BASICS

Computer Organization. and Instruction Execution. August 22

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

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

Introduction to Computer Architecture Concepts

The Central Processing Unit:

Let s put together a Manual Processor

Central Processing Unit (CPU)

Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Summary of the MARIE Assembly Language

Computer organization

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

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

The components. E3: Digital electronics. Goals:

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

CPU Organisation and Operation

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

CHAPTER 3 Boolean Algebra and Digital Logic

Central Processing Unit

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

A s we saw in Chapter 4, a CPU contains three main sections: the register section,

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

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

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

TIMING DIAGRAM O 8085

The 104 Duke_ACC Machine

l C-Programming l A real computer language l Data Representation l Everything goes down to bits and bytes l Machine representation Language

CSE 141L Computer Architecture Lab Fall Lecture 2

TYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

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

Design Example: Counters. Design Example: Counters. 3-Bit Binary Counter. 3-Bit Binary Counter. Other useful counters:

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

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

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

Programming Logic controllers

COMBINATIONAL CIRCUITS

路 論 Chapter 15 System-Level Physical Design

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

BASIC COMPUTER ORGANIZATION AND DESIGN

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

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

CHAPTER 11: Flip Flops

Copyright Peter R. Rony All rights reserved.

Systems I: Computer Organization and Architecture

Lecture 8: Synchronous Digital Systems

PART B QUESTIONS AND ANSWERS UNIT I

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Acknowledgments. Thanks to the following web site and people for the materials and images used in this presentation:

Digital Integrated Circuit (IC) Layout and Design

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

Counters and Decoders

MACHINE ARCHITECTURE & LANGUAGE

LSN 2 Computer Processors

Decimal Number (base 10) Binary Number (base 2)

CSE140 Homework #7 - Solution

ASYNCHRONOUS COUNTERS

CS:APP Chapter 4 Computer Architecture. Wrap-Up. William J. Taffe Plymouth State University. using the slides of

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

Hardware: Input, Processing, and Output Devices. A PC in Every Home. Assembling a Computer System

TEACHING COMPUTER ARCHITECTURE THROUGH SIMULATION (A BRIEF EVALUATION OF CPU SIMULATORS) *

Block diagram of typical laptop/desktop

Gates, Circuits, and Boolean Algebra

EE411: Introduction to VLSI Design Course Syllabus

Design Cycle for Microprocessors

Power Reduction Techniques in the SoC Clock Network. Clock Power

Systems I: Computer Organization and Architecture

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

Flip-Flops, Registers, Counters, and a Simple Processor

MULTIPLE CHOICE FREE RESPONSE QUESTIONS

1. Convert the following base 10 numbers into 8-bit 2 s complement notation 0, -1, -12

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

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

Preface. Aims. Audience. The ARM

Memory Elements. Combinational logic cannot remember

Asynchronous Counters. Asynchronous Counters

Operating Manual Ver.1.1

CHAPTER 6: Computer System Organisation 1. The Computer System's Primary Functions

Design of Digital Circuits (SS16)

Instruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010

Transcription:

The TOY Machine 6.5 TOY Machine Architecture Combinational circuits. ALU. Sequential circuits. Memory. Machine architecture. Wire components together to make computer. TOY machine. 256 16-bit words of memory. 16 16-bit registers. 1 8-bit program counter. 16 instruction types. TOY-Lite machine. 16 10-bit words of memory. 4 10-bit registers. 1 4-bit program counter. 16 instruction types. Fetch Execute Introduction to Computer Science Robert Sedgewick and Kevin Wayne Copyright 2005 http://www.cs.princeton.edu/introcs 2 How To Design a Device Build a Counter: Interface How to design a device. Design interface: input buses, output buses, control wires. Determine major components. Determine datapath requirements: "flow" of bits. Establish sequencing of control. Counter. Holds value that represents a binary number. Load: set value from input bus. Increment: add one to value. Value doesn't change until write enable is asserted. Ex. TOY-Lite program counter (4-bit). Goal. Design TOY-Lite computer. Warmup. Design a program counter. 3 4

Build a Counter: Identify Components Build a Counter: Identify Components Components. Register. Incrementer. load and increment Challenge: needs connections to two different inputs. Components. Register. Incrementer. load and increment Challenge: needs connections to two different inputs. Multiplexer. Combinational circuit that selects among input buses. Exactly one select line i is activated. Copies bits from input bus i to output bus. Multiplexer. Combinational circuit that selects among input buses. Exactly one select line i is activated. Copies bits from input bus i to output bus. 5 6 Build a Counter: Datapath and Control Build a Counter: Datapath and Control Datapath. Layout and interconnection of components. Connect input and output buses. Datapath. Layout and interconnection of components. Connect input and output buses. Control. Choreographs the "flow" of information on the datapath. Control. Choreographs the "flow" of information on the datapath. 7 8

Build a Counter: Datapath and Control Build a Counter: Control Sequencing Datapath. Layout and interconnection of components. Connect input and output buses. Control. Choreographs the "flow" of information on the datapath. load increment write enable write enable 9 10 How To Design a Device Build a TOY: Interface How to design a device. Design interface: input buses, output buses, control wires. Determine major component devices. Determine datapath requirements: "flow" of bits. Establish sequencing of control. Warmup. Design a program counter (3 devices, 3 control wires). Instruction set architecture (ISA). Determine set of primitive instructions. too narrow cumbersome to program too broad cumbersome to build hardware TOY family of machine: 16 instructions. TOY: 16-bit words, 256 words of memory, 16 registers. TOY-Lite: 10-bit words, 16 words of memory, 4 registers. Goal. Design TOY-Lite computer (10 devices, 20 control wires). Instructions 0: halt 1: add 2: subtract 3: and 4: xor 5: shift left 6: shift right 7: load address Instructions 8: load 9: store A: load indirect B: store indirect C: branch zero D: branch positive E: jump register F: jump and link 11 12

Build a TOY-Lite: Devices Build a TOY-Lite: Layout 13 14 Build a TOY-Lite: Datapath Build a TOY-Lite: Control 15 16

Control Control. Each instruction corresponds to a sequence of control signals. Q. How do we create the sequence? A. Need a clock.. Fundamental abstraction: regular on-off pulse. on: fetch phase off: execute phase External analog device. Synchronizes operations of different circuit elements. Requirement: clock cycle longer than max switching time. cycle time on off 17 18 How much does it Hert? ing Methodology Frequency is inverse of cycle time. Expressed in hertz. Frequency of 1 Hz means that there is 1 cycle per second. 1 kilohertz (khz) means 1000 cycles/sec. 1 megahertz (MHz) means 1 million cycles/sec. 1 gigahertz (GHz) means 1 billion cycles/sec. 1 terahertz (THz) means 1 trillion cycles/sec. Two-cycle design. Each control signal is in one of four epochs. fetch [set memory address from pc] fetch and clock [write instruction to IR] execute [set ALU inputs from registers] execute and clock [write result of ALU to registers] Fetch Fetch Heinrich Rudolf Hertz (1857-1894) Execute 19 20

Datapath: Add Datapath: Store fetch fetch execute increment execute 21 22 23 26 Control Control. Circuit that determines control line sequencing. data bus to memory input external clock just ticks control lines to processor registers opcode from IR control lines to ALU data bus from ALU

Real Microprocessor (MIPS R10000) Real Microprocessor Chip (Pentium P4) 27 28 Layers of Abstraction History + Future Abstraction Built From Examples Abstract Switch raw materials transistor, relay Connector raw materials wire raw materials crystal oscillator Logic Gates abstract switches, connectors AND, OR, NOT Combinational Circuit logic gates, connectors decoder, multiplexer, adder, ALU Sequential Circuit logic gates, clock, connector flip-flop Components decoder, multiplexer, adder, flip-flop registers, ALU, counter, control Computer components TOY Computer constructed by layering abstractions. Better implementation at low levels improves everything. Ongoing search for better abstract switch History. 1820s: mechanical switches (Babbage's difference engine). 1940s: relays, vacuum tubes. 1950s: transistor, core memory. 1960s: integrated circuit. 1970s: microprocessor. 1980s: VLSI. 1990s: integrated systems. 2000s: web computer. Future: DNA, quantum, optical soliton, 29 30