ECE 571 Advanced Microprocessor-Based Design Lecture 3

Similar documents
ECE 471 Embedded Systems Lecture 2

Embedded Applications. COMP595EA Lecture03 Hardware Architecture

ECE 471 Embedded Systems Lecture 2

EE 3170 Microcontroller Applications

CS 101, Mock Computer Architecture

ECE 471 Embedded Systems Lecture 2

Segment 1A. Introduction to Microcomputer and Microprocessor

Introduction to Computers - Chapter 4

ECE 498 Linux Assembly Language Lecture 1

Chapter 1: Basics of Microprocessor [08 M]

3.1 Description of Microprocessor. 3.2 History of Microprocessor

ECE 471 Embedded Systems Lecture 3

Processing Unit CS206T

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY

Roberto Muscedere Images and Text Portions 2003 Prentice Hall 1

Introduction to Microcontrollers

ECE 571 Advanced Microprocessor-Based Design Lecture 20

Microcomputer Architecture and Programming

Pin Description, Status & Control Signals of 8085 Microprocessor

MICROPROCESSOR MICROPROCESSOR. From the above description, we can draw the following block diagram to represent a microprocessor based system: Output

Computer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM

Basics of Microprocessor

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture

SAE5C Computer Organization and Architecture. Unit : I - V

6.111 Final Project Jonathan Downey Lauri Kauppila Brian Myhre

1. Internal Architecture of 8085 Microprocessor

ECE 571 Advanced Microprocessor-Based Design Lecture 18

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

Question Bank Microprocessor and Microcontroller

Unit 2: Technology Systems. Computer and technology systems

Digital System Design

The Itanium Bit Microprocessor Report

UNIT V MICRO CONTROLLER PROGRAMMING & APPLICATIONS TWO MARKS. 3.Give any two differences between microprocessor and micro controller.

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

MICROPROCESSOR B.Tech. th ECE

In this tutorial, we will discuss the architecture, pin diagram and other key concepts of microprocessors.

The Central Processing Unit

EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Ti Parallel Computing PIPELINING. Michał Roziecki, Tomáš Cipr

8/26/2010. Introduction to 8085 BLOCK DIAGRAM OF INTEL Introduction to Introduction to Three Units of 8085

Digital IP Cell 8-bit Microcontroller PE80

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

EC 413 Computer Organization

12-Dec-11. Gursharan Singh Maninder Kaur. Introduction to 8085 BLOCK DIAGRAM OF INTEL Introduction to Introduction to 8085

CISC Processor Design

Microprocessor Architecture

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

Lecture #2 January 30, 2004 The 6502 Architecture

Introduction to Microprocessor

EC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers UNIT-I

BASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition

Chapter Operation Pinout Operation 35

1. What is Microprocessor? Give the power supply & clock frequency of 8085?

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA)

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Part 1 of 3 -Understand the hardware components of computer systems

COMPUTER ORGANIZATION AND DESI

COMP3221: Microprocessors and. and Embedded Systems. Instruction Set Architecture (ISA) What makes an ISA? #1: Memory Models. What makes an ISA?

E3940 Microprocessor Systems Laboratory. Introduction to the Z80

EC-801 Advanced Computer Architecture

Microprocessors and Microcontrollers Prof. Santanu Chattopadhyay Department of E & EC Engineering Indian Institute of Technology, Kharagpur

OPERATING SYSTEMS CS136

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085.

CPE300: Digital System Architecture and Design

Computer Architecture 2/26/01 Lecture #

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

Computers and Microprocessors. Lecture 34 PHYS3360/AEP3630

MARIE: An Introduction to a Simple Computer


These three counters can be programmed for either binary or BCD count.

Computers Are Your Future

3. The MC6802 MICROPROCESSOR

Control Unit: The control unit provides the necessary timing and control Microprocessor resembles a CPU exactly.

Digital System Design Using Verilog. - Processing Unit Design

System Unit Components Chapter2

Computer System Overview

Microprocessors I MICROCOMPUTERS AND MICROPROCESSORS

MOS 6502 Architecture

8051 Microcontrollers

Chapter 4. MARIE: An Introduction to a Simple Computer

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

Architecture of 8085 microprocessor

CN310 Microprocessor Systems Design

BASIC INTERFACING CONCEPTS

ECE 571 Advanced Microprocessor-Based Design Lecture 21

UNIT - II PERIPHERAL INTERFACING WITH 8085

MARIE: An Introduction to a Simple Computer

PC I/O. May 7, Howard Huang 1

PCI to SH-3 AN Hitachi SH3 to PCI bus

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

MICROPROCESSOR TECHNOLOGY

ECE 250 / CPS 250 Computer Architecture. Processor Design Datapath and Control

Chapter 16. Control Unit Operation. Yonsei University

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Micro computer Organization

Transcription:

ECE 571 Advanced Microprocessor-Based Design Lecture 3 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 30 January 2018

Homework #1 was posted Announcements 1

Microprocessors Also known as Central Processing Unit (CPU) Do the general purpose calculations in a system Originally big, multi-cabinet, multi-board, multi-chip The first micro processor fit on one chip. Often regarded as the 4-bit Intel 4004. (history?) In the old days you could buy a discrete CPU, plop onto circuit board, hook up some memory and a terminal, and you had a computer. These days things are a lot more complex. 2

Simple CPU Memory Program Counter Control Instruction Decode +4 Opcode Immediate R0 R1 R2 Address from ALU Branch Register File ALU Program Counter / Instruction Pointer points to next 3

instruction Increments each clock and loads next instruction from memory. If a branch instead loads new address if branch taken. Instruction is decoded. Opcode (says what type of instruction), Registers to use, possibly an immediate value. Opcode goes to control (usually a PLA) that splits up signals to all the functional units and tells them what to do (what kind of operation, whether to read or write, to branch or not, etc) 4

Source register values are read from register file and fed to ALU ALU does math/logic based on control Result written back to destination register on register file. If load or store instruction, then address calculated (often by ALU) and sent to memory. If load, value written to reg file, if store value to write sent out Once instruction is done, advance to next instruction. 5

CPU Design decisions ISA (Instruction Set Architecture) what insns do you need? ALU: add/sub/and/or/xor (mul and divide? many do not have) memory: load/store branch: branch if zero/not zero shift? nop? often a pseudo-op syscall? 6

compare (can be implemented with subtract) Lots of other stuff *can* be added. Floating Point. String copy. Predicated/conditional execution. Crazy polynomial/vector insns. Other decisions: how many arguments to opcode? 2 or 3? Flags register? Number of registers? 1/3/8/16/32/128/windowed? Decode logic: Fixed-width 4-byte (32-bit) instructions? Completely variable sized instructions (x86 1-15 bytes?) VLIW (3-instructions in a 128-bit package?) 7

Embedded (THUMB, THUMB2) mostly 16-bit (Code Density) RISC vs CISC Big or Little Endian? Bitsize (4, 8, 16, 32, 64 bit?) What does that mean? Size of registers? ALU? Memory Address Range? Data bus width? Complex issue. 8

Simple Computer 9

Reset 1MHz 6502 CPU IRQ R/W A0... A15 Decoder D0... D7 Tri State Tri State CE Memory 32k R/W CE ROM 8K I/O Keypad Display Serial 10

Clock crystal keeps everything in sync (can you run without clock? Yes, asynchronous chips, harder to design) Reset button to restart things, start PC at known address Address bus, addresses are put out. 16-bit address space, 16 pins, 2 16 (64k) addresses. This is used to address instructions *and* data Usually tri-state buffers are used to protect CPU pins and also allow multiple devices to drive address bus if needed Data bus: bi-directional (read/write) 11

To read memory: CPU puts address on address bus, says want to read. Decoder logic enables proper device. Device decodes address, finds 8-bit value, puts it on data bus. CPU latches the result and does whatever with it (puts in instruction buffer, puts in register) To write memory: CPU puts data on data bus, address on address bus, sets write signal. Reading from ROM much like RAM, only you can t write it Memory-mapped I/O, the device is enabled by decoder when address matches. Puts data on data bus just like 12

RAM would. If I/O wants CPU attention it can pull an IRQ line to request interrupt. Otherwise CPU must poll. I show a 6502 CPU in example. Simple CPU, found in Apple II, Commodore, NES, many others. Designed in part by UMaine alum Chuck Peddle. Not often used for quick designs like shown because the clock circuitry was quite complex (but better than say the 8080 which needed all kinds of crazy voltages). 13

Design Contraints Number of pins DIP (dual inline package): 4004 = 16, z80/6502/8080/8086 = 40 PGA (pin grid array): Pentium = 273 LGA (land grid array) pins on socket not chip): Sandybridge = 1000+ 14

More Complex Early computers Original IBM PC Additional helper chips to 8086. Keyboard controller, interrupt controller, DMA controller (did memory refresh, etc), programmable interval timer ISA system bus, more or less just exposed CPU address/data bus to slot connectors Dynamic memory 8086 had separate I/O port space Memory too slow, had wait states 15

8086 was full 16-bit CPU. PC uses 8088 which had only 8-bit data bus (but same ISA!). Also 24-bit address bus, played games to address properly. 16

Modern Systems Even More Complex PCI bus North/South Bridges Everything on SoC Fast memory much more complex Everything else we are going to learn about in this class. 17