Microprocessor Chapter 2 The 6800 microprocessor.

Slides:



Advertisements
Similar presentations
Processor Data Path and Control Diana Palsetia UPenn
Advertisements

The CPU The Central Presentation Unit What is the CPU?
1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.
Chapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model
PROGRAMMING WITH 8085 BTCS-404 (MALP) B.Tech 4th SEM. IT
8085 Architecture & Its Assembly language programming
Microprocessors.
Parul Polytechnic Institute
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
S04: MSP430 Microarchitecture
Processor Function Topic 3.
Processor System Architecture
MICRO PROCESSER The micro processer is a multipurpose programmable, clock driven, register based, electronic integrated device that has computing and decision.
ELEC 330 Digital Systems Engineering Dr. Ron Hayne
68HC11 Polling and Interrupts
1 TK2633TK Microprocessor Architecture DR MASRI AYOB.
Computer Hardware Processing and Internal Memory.
Computer Hardware.
Dale & Lewis Chapter 5 Computing components. Let’s design a computer Generic CPU with registers −Program counter (PC) – 5 bits (size of addresses) −Instruction.
Microcontroller based system design
Rabel Talpur:12BME#025.  40-pin chip  Developed by Motorola in 1975  16 address lines and 8 data lines  Used only +5V.
SAP1 (Simple-As-Possible) Computer
created by :Gaurav Shrivastava
Dr. Rabie A. Ramadan Al-Azhar University Lecture 6
The KC-85 and the U880 Team members: Nadine Spörl Angela Roggan Martin Burkard Alexander Becker.
Model Computer CPU Arithmetic Logic Unit Control Unit Memory Unit
Lecture 14 Today’s topics MARIE Architecture Registers Buses
Microprocessor. Interrupts The processor has 5 interrupts. CALL instruction (3 byte instruction). The processor calls the subroutine, address of which.
Computer Architecture Memory, Math and Logic. Basic Building Blocks Seen: – Memory – Logic & Math.
Lecture 2 Microprocessor Architecture Image from:
ME4447/6405 The George W. Woodruff School of Mechanical Engineering ME4447/6405 Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics.
George W. Woodruff School of Mechanical Engineering, Georgia Tech ME4447/6405 ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction.
Z80 Overview internal architecture and major elements of the Z80 CPU.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Assessment Covering… Von Neuman architecture Registers – purpose and use, the fetch execute cycle.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
Dale & Lewis Chapter 5 Computing components
CS61C L20 Datapath © UC Regents 1 Microprocessor James Tan Adapted from D. Patterson’s CS61C Copyright 2000.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
ECE 447: Lecture 11 Introduction to Programming in Assembly Language.
بسم الله الرحمن الرحيم MEMORY AND I/O.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
George W. Woodruff School of Mechanical Engineering, Georgia Tech ME4447/6405 ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction.
8 085Microprocessor Temp Reg (8) Accumulator (A reg) Flag flip flops(8) Instruction Register (8) Arithmetic Logic Unit ALU Instruction Decoder and Machine.
Unit Microprocessor.
Seminar On 8085 microprocessor
COURSE OUTCOMES OF Microprocessor and programming
Addressing Modes in Microprocessors
68HC11 Interrupts & Resets.
UNIT – Microcontroller.
Introduction of microprocessor
Dr. Michael Nasief Lecture 2
8085 microprocessor.
8085 Microprocessor Architecture
CS703 - Advanced Operating Systems
Computer Architecture
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Number Representations and Basic Processor Architecture
ME4447/6405 Microprocessor Control of Manufacturing Systems and
Morgan Kaufmann Publishers Computer Organization and Assembly Language
8085 Microprocessor Architecture
CPU has 6 special locations called registers
Chapter 4: Computer Architecture
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
8085 Microprocessor Architecture
Computer Operation 6/22/2019.
Presentation transcript:

Microprocessor Chapter 2 The 6800 microprocessor

Address Bus Data Bus Control Bus Arithmetic and Logic Unit Control Unit Program Counter Controller File Storage Hard Disk Floppy Disk Tape CD Memory RAM ROM PROM Driver Input Devices Keyboard Mouse Scanner Serial Port Serial Devices (e.g. Modem) Parallel Port Parallel Devices (e.g. Printer) Output Devices Monitor Loudspeaker Driver A Typical Computer Architecture (follow the links for explanations of the terms) Clock CPU

Microprocessor Characteristics Number of address wires Number of data wires Speed Architecture Language (Assembly language)

Characteristics of the 6800 Microp. 16 address wires => it can address 2 16 memory locations It is an 8 bit microprocessor => 8 data bits Speed may be 4 MHZ Architecture??

6800 architecture Architecture: –Registers –Logic and Arithmetic unit –Control unit –Program counter –Stack pointer –…

Accumulator A Accumulator B Condition Code Index Register X=XH : XL Stack Pointer, SP Program Counter, PC 6800 registers Instruction register Control unit Data bus from and to memory Address wires from PC ALU Temp 8 8 8

PC: Program counter Program counter contain the address of the memory containing the next instruction to be executed. It is incremented automatically after each instruction In 6800, it is a 16 bits register

First instruction: ABA ABA: opcode=?? First, the instruction is fetched in the instruction register (IR is used to fixx the command for the control unit during processing) The control unit command the registers in the following way: –Command register A to put its contain on the internal bus –Command the register TEMP to take the data on the bus –Command the register B to put its contain on the bus –Command the ALU to add –Command A register to take the result

instruction LDA A #$ If this instruction is written in the memory address: $5000, the program counter contain $5000 when executed. Procedure: –PC=5000 so the data 86, read from this memory address, goes to the instruction register –The control unit analyse this data and command the registers: Command the PC to be incremented, the data $90 in the address $5001 can be read now. Data are on the internal bus Command the register A to take these Data

Example Add: $3D and $E C=1, Z=0, V=0, N=0 H=0

Example Add: $BD and $A C=1, Z=0, V=1, N=0 H=1

Some instructions Instruction = Opcode + Operand LDA A #$4E = 86 4E STA A $2EA5 B7 2E A5 OpcodeOperand OpcodeOperand

First program Write a program which can add the register A to $4E and then put the result in the memory location $2346 Find the machine code of this program

Program Write a program which can add the two numbers: $2E and $8A and put the result in the memory location 349A

Stack pointer SP Used to point to the memory location where all registers will be saved when an interrupt occurs or when a subroutine is called It is a 16 bit register, contain an address of a memory

Interrupt During the processing of a program, the microprocessor can stop its work and execute another emergency program. This is the technique of interrupt. 2 hardware pins can be found in the 6800 microprocessor: IRQ and NMI (both active low) – IRQ: interrupt request –NMI: Non maskable interrupt If IRQ occurs, the address of its corresponding program is written in : FFF8 and FFF9 If NMI occurs, the address of its corresponding program is written in : FFFC and FFFD

Interrupt IRQ may be stopped by the bit I in the status register –I=1 IRQ will not be executed (stopped) –I=0 IRQ will be executed NMI non maskable interrupt, it is executed whatever the bit I SWI is a software interrupt: Program address: FFFA and FFFB

Addressing modes Immediate mode LDA A #$89 A=$89 LDA B #$F3 B=$F3 Inherent mode ABA A+B A INCA A+1 A DECB B-1 B INS S+1 S

Addressing modes Extended mode (2 bytes operand) LDA A $15CD STA A $078C Direct mode (one byte operand) LDA $12 Equilvalent to LDA $0012

Adresing modes Indexed (using X register. LDA A $05,X STA A $08,X This register is used as a base address when we want to make the addressing for a series of successive memories

Addressing modes Relative mode (Branch instructions) BEQ: Branch if equal: if z=1 BNE : branch if not equal : if z=0 BME : branch if minus: if N=1 B PL: branch if positive : if N=0 BCS : branch if carry set : if C=1 BCC : branch if carry clear : if C=0

Program LDA A #$89 LDA B $6789 INC A BPL here STA A $1928 INCB LDX #$98F5 here STA A $09 LDX #$9000 RTS Write the machine code of this program

Instructions ADD SUB …

Instructions ROR ROL Stack pointer instructions –PUSH –PULL

Programs P1: write a program to add the memory contents: from A9F0 to A9FF and put the result in the memory location P2: write a program to transfer the memory contents: from FF to A000 - A0FF. Write a program to compute the integer part of: ( )/4

A program CLI LDA A #$26 LDX $2608 LDA B $02,X (IRQ arrives here) CMP A $25FE BNE here ABA RTS here TAB RTS Interrupt program :LDA A #$50 LDA B $2602 ABA RTI ContentAdresses 00260B 12260A D2605 1F C25FF 5A25FE :: 00FFFF 60FFFE 00FFFD 50FFFC 30FFFB 50FFFA 40FFF9 50FFF8 30FFF7 50FFF6 40FFF5 50FFF4 20FFF3 30FFF2 FFF1 ::

6800 Pins power and ground Address bus (A0-A15) –tri-state: controlled by BA or TSC –VMA (valid memory address) and dummy access Data bus (D0-D7) R/W – high impedance if BA=1 and TSC is asserted Reset, HALT, NMI, IRQ BA (bus available), BS (bus status): –normal (00), interrupt or reset acknowledge (01), sync acknowledge (10), and halt acknowledge(11) Clocks E and Q

6800 Pins (continued) Busy: –read and modify cycles, double-byte operation, indirect or vector fetch AVMA: advance VMA –MPU will use the bus in the following cycle LIC: last instruction cycle –instruction fetch if transitions from high to low TSC: three-state control –direct control when E is low –latched on the rising edge of E