PS02CINS02 Unit 1 Advanced Microprocessors. Comparison between 8085 and 8086 80858086 Size8-bit16-bit Address Bus and Memory16-bit/64kB20-bit/1MB Instruction.

Slides:



Advertisements
Similar presentations
Block Diagram of Intel 8086 Engr.M.Zakir Shaikh
Advertisements

Registers of the 8086/ /2002 JNM.
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Introduction to 8086 Microprocessor
SOFTWARE ARCHITECTURE OF THE 8088 AND 8086 MICROPROCESSORS
Introduction to Microprocessor
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
3-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Intel 8088 (8086) Microprocessor.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 2: 80386DX Internal Architecture & Data Organization.
80x86 Processor Architecture
Gursharan Singh Tatla Block Diagram of Intel 8086 Gursharan Singh Tatla 19-Apr-17.
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
The 8086 Microprocessor The 8086, announced in 1978, was the first 16-bit microprocessor introduced by Intel Corporation 8086 is 16-bit MPU. Externally.
An Introduction to 8086 Microprocessor.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 Microprocessor Architecture.
MICROPROCESSORS AND APPLICATIONS
1 Fundamental of Computer Suthida Chaichomchuen : SCC
MOHD. YAMANI IDRIS/ NOORZAILY MOHAMED NOOR1 Addressing Mode.
Types of Registers (8086 Microprocessor Based)
Microprocessor Microprocessor (cont..) It is a 16 bit μp has a 20 bit address bus can access upto 220 memory locations ( 1 MB). It can support.
Block diagram of 8086.
Intel 8086 (8088) Microprocessor Structure
3.4 Addressing modes Specify the operand to be used. To generate an address, a segment register is used also. Immediate addressing: the operand is a number.
Introduction to Microprocessors Chapter 3. Programming Model (8086)  Shows the various internal registers that are accessible to the programmer.
INTRODUCTION TO INTEL X-86 FAMILY
MODULE 5 INTEL TODAY WE ARE GOING TO DISCUSS ABOUT, FEATURES OF 8086 LOGICAL PIN DIAGRAM INTERNAL ARCHITECTURE REGISTERS AND FLAGS OPERATING MODES.
Microprocessor Fundamentals Week 2 Mount Druitt College of TAFE Dept. Electrical Engineering 2008.
Internal Programming Architecture or Model
Intel 8086 MICROPROCESSOR ARCHITECTURE
Intel MP Organization. Registers - storage locations found inside the processor for temporary storage of data 1- Data Registers (16-bit) AX, BX, CX, DX.
SOFTWARE ARCHITECTURE OF THE 8088 AND 8086 MICROPROCESSORS
8086 Microprocessor J Srinivasa Rao.
I NTEL 8086 M icroprocessor بسم الله الرحمن الرحيم 1.
ΜComputer Structure μProcessor Memory Bus System I/O Ports.
Chapter 12 Processor Structure and Function. Central Processing Unit CPU architecture, Register organization, Instruction formats and addressing modes(Intel.
Format of Assembly language
An Introduction to 8086 Microprocessor.
History – 2 Intel 8086.
UNIT Architecture M.Brindha AP/EIE
Introduction to 8086 Microprocessor
8086 MICROPROCESSOR ARCHITECTURE & SEGMENTATION
8086 Microprocessor.
COURSE OUTCOMES OF MICROPROCESSOR AND PROGRAMMING
Instruksi Set Prosesor 8088
ADDRESSING MODES.
Intel 8086 MICROPROCESSOR Architecture.
Basic Microprocessor Architecture
ADDRESSING MODES.
Microprocessor The microprocessors functions as the CPU in the stored program model of the digital computer. Its job is to generate all system timing signals.
Intel 8088 (8086) Microprocessor Structure
..
Basic of Computer Organization
Microcomputer & Interfacing Lecture 1
8086 Features It is a 16 bit μp. It is manufactured with H-MOS technology has a 20 bit address bus can access up to 220 memory locations ( 1 MB)
Introduction to Assembly Language
Microprocessor & Assembly Language
Intel 8088 (8086) Microprocessor Structure
8086 Ahad.
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Symbolic Instruction and Addressing
CS 301 Fall 2002 Computer Organization
The Microprocessor & Its Architecture
Lecture 06 Programming language.
Unit-I 80386DX Architecture
Intel 8086.
Computer Operation 6/22/2019.
8086 microprocessior PIN OUT DIAGRAM OF  Power supply and frequency signals  It uses 5V DC supply at V CC pin 40, and uses ground at V SS pin.
Part I Data Representation and 8086 Microprocessors
Microprocessor Lecture 7 (8086 Registers).
Presentation transcript:

PS02CINS02 Unit 1 Advanced Microprocessors

Comparison between 8085 and Size8-bit16-bit Address Bus and Memory16-bit/64kB20-bit/1MB Instruction QueueNO6 byte PipelineNO2 stage Multiprocessor supportNOYES IO25664K Co-Processor InterfaceNOYes ArithmaticsInteger and BCDInteger,BCD,ASCII Mul/DivNo instructionInstructions are there Speed3,5,6MHz5,8,10MHz External HWLess RequirementLarge ModesNormalMaximum & Minimum Addressing modes59 MemorySingle BlockSegmented Interrupts5HW & 8SW2HW & 256SW

Architecture of 8086 parallel processing processing units:  Bus Interface Unit (BIU)  Execution Unit (EU) both operate at the same time fetch and execution independent operations

8086 Architecture BIU EU

Bus Interface Unit Facilitates comm. between the EU and the memory or I/O circuits. Perform bus operation such as inst. fetching, reading/writing of data for memory or i/o peripherals. Transmit address, data, and the control signals on the buses. Contains CS, DS, ES, SS and IP registers, address generation adder, bus control logic, and an instruction queue.

Bus Interface Unit An internal bus connects the EU and BIU. While the EU is executing an instruction the BIU fetches up to six bytes of next instruction in the instruction queue Perform instruction queuing and data acquisitions. 8-bit (16-bit) bi-directional data bus for 8088 (8086). 20-bit address bus Instruction queue to implement a pipelined architecture

Execution Unit Responsible for decoding and executing instruction. Contains: ALU, Flags, general purpose and temporary register. The EU has eight registers AX, BX, CX, DX, SI, DI, BP and SP. In addition EU has temporary registers for holding operands for CPU, and the FLAGS registers

Execution Unit EU accesses the instruction from the instruction queue and data from general-purpose register. It reads one instruction at a time, decodes it, generates operand address if necessary, passes them to BIU and requests to perform the read/write cycle to memory or I/O, and performs the operation specified by the instruction on operand. During execution, EU may test the flags and update these flags based on the results of execution.

Software Model IPCSDSSSESAXBXCXDXSPBPSIDISR Code Segment(64kB)Data Segment(64kB)Stack Segment(64kB)Extra Segment(64kB) Input / Output Map FFFFF FFFF OOOO 8086  P External Memory Address Space Input/ Output Address Space

Software Model Various Registers and their purposes, functional capability and limitations. External memory and I/O devices’ organization. Less likely to change with new generation

Data Organization 8086 supports 1 MB of external memory Individually located bytes from 00000H to FFFFFH Byte wise organization Can access byte, word or double word (little endian) Even and odd address boundaries Aligned word (starts from even add.) Aligned double word (starts from add. multiple of 4)

Data Organization

Data Types Sizes:  Byte(8 bits)  Word(16 bits)  Double Word(32 bits) Integer: Signed and Unsigned  -128 to +127  to  -(2 31 ) to + ( ) BCD No.s:  Unpacked  Packed ASCII Codes: S7 bit data S15 bit data S31 bit data 8 bit 16 bit 32 bit O O O OBCD Digit O BCD Digit 1BCD Digit O ASCII CODE

Segment Registers CS Code Segment SS Stack Segment DS Data Segment ES Extra Segment 1 MB memory can not be accessed at a time 64kB partitions (Segments) Only 4 segments active  Code Segment (Program)  Data Segment (Data)  Stack Segment (Stack)  Extra Segment (Data) 16 bit segment registers form base address of each segment. User accessible

Memory Segmentation  Data Segment B  Code Segment E  Stack Segment H  Extra Segment J Each segment starts from a 16-byte boundary. e.g H, H, H Can be contiguous, adjacent, disjoint or overlapping. Data: DS = B ABC Code: CS = E DEGF Stack: SS = H HI Extra: ES = J Jk

Dedicated, Reserved & General use Memory FFFFFH Reserved FFFFBH Dedicated FFFF0H 0007FH Reserved 00013H Dedicated 00000H 8086 Memory Address Space (00000 H to FFFFF H ) H to H Dedicated Memory  For internal interrupts and exceptions (5x4) H to 0007F H Reserved Memory  For user defined interrupts(27x4) FFFFC H to FFFFF H Reserved Memory  For use with future products FFFF0 H to FFFFB H Dedicated Memory  Storage of HW reset JUMP  FFFF0 H is the RESET location

8086 Registers 16 bit Identifies offset address of next instruction CS:IP= 20-bit physical address Normally increments in step of 2 Instruction Pointer Identifies offset address of top of STACK SS:SP= 20-bit physical address Stack Pointers For data access in Stack segment Used with base addressing mode Used to pass argument to subroutine Base Pointer SI and DI Used with DS and ES as offset for data Used with indexed addressing mode Used for string operations Index Registers

Data Registers AX: Word Multiply, Divide, I/O AL: Byte Multiply, Divide, I/O, Translate, BCD Arithmatic AH: Byte Multiply, Divide A BX: Translate B CX: String Operations, Loops as counter CL: Variable shift and rotate C DX: Word Multiply, Divide, Indirect I/O D

Status Register Carry Flag: set if carry out or borrow in for MSB of result CF Parity Flag: sit if the result has even parity PF Auxiliary Carry: set if carry out or borrow in at bit D3 for 8 bit operation or at bit D7 for 16 bit operation AF Zero Flag: set if the result of the last instruction is Zero ZF Sign Flag: MSB of the Result SF Over Flow Flag: Set if the signed operation result is out of range OF XXXX DFIFTFSFZFXAFXPFXCF

Status Register Trap Flag: If set the 8086 goes into single step mode Used for debugging the program TF Interrupt Flag: If set enables maskable HW interrupts. If reset the interrupts at INT pin will be ignored IF Direction Flag: Used for string operations If set the string instructions decrements address DF XXXXOFDFIFTFSFZFXAFXPFXCF

Memory Address Generation bit Segment Address16-bit Logical Address20-bit Physical Address Effective Address (IP) Segment Address (CS)

Stack Within memory map Used for temporary storage of data/address  CALL, PUSH, POP, RET Organized as words (32k words) At startup SP=FFFE H making  Stack bottom SS:FFFE H  Top of stack: SS:SP  End of stack: SS:0000 H Data transferred word wide Stack decrements by 2 and stores a word (PUSH) Multiple stacks allowed with only one active at a time SS SP Stack Segment SS:FFFE Stack Bottom SS: SPStack TopSS:0000Stack End

Input / Output Address Space Separate memory and IO space. Range: 0000 H to FFFF H Byte wide Page 0: 0000 H to 00FF H  (Specific instructions) Reserved: 00F8 H to 00FF H Input / Output Map FFFF OOOO Input/ Output Address Space

Addressing modes Way of locating data or operand An instruction may belong to one or more addressing modes or to neither of the modes.  Depending on data types used in instruction  Depending on memory addressing modes Describes type of operand and way to access it for instruction execution

Instruction types Sequential control flow  After execution of instruction passes control to next instruction  e.g. arithmatic, logical, data transfer and processor control instructions. Control transfer  After execution of instruction passes control to some predefined address or address specified in the instruction  e.g. branch instructions, JUMP, CALL, RET, INT etc.

Addressing modes for sequential control transfer Instructions Immediate  Immediate data/operand is part of instruction, appearing on successive byte/bytes  e.g. MOV AX,9080H,MOV BL,7FH Direct  A 16-bit address(offset) is provided as a part of instruction  e.g. MOV AX,[1080H],MOV BL,[127FH]  Here data resides in data segment, therefore, the effective address for the instructions are ((DS)x10H) H and ((DS)x10H) + 127FH respectively.

Addressing modes for sequential control transfer Instructions Register  In this type of operation operand is stored in register and referred to by register name  All registers except IP can be used.  e.g. MOV AX,BX,MOV BL,AH Register Indirect  In this mode the registers are holding the address of operand. Using address from register content the operand is accessed indirectly.  Registers BX, DI or SI can be used with DS or ES.  Default segment is DS  e.g. MOV AX,[BX],MOV CL,[BX]  Here data resides in data segment, therefore, the effective address for the instructions are ((DS)x10H) + BX and ((DS)x10H)+BX respectively.

Addressing modes for sequential control transfer Instructions Indexed  In this mode the index registers are holding the address of operand. In case of string instructions DS and ES are default segments for DI and SI respectively  Default segment is DS  e.g. MOV AX,[SI],MOV [DI],CL  Here data resides in data segment, therefore, the effective address for the instructions are ((DS)x10H) + SI and ((DS)x10H)+DI respectively. Register Relative  In this type of operation operand address is formed by adding 8- bit or 16-bit offset with the content of any of the registers BX, BP, SI and DI in default (DS or ES) segment.  e.g. MOV AX,50H[BX],MOVAH,1234H[DI]  Effective addresses are ((DS)x10H) + BX + 50H and ((DS)x10H)+DI H respectively.

Addressing modes for sequential control transfer Instructions Base Indexed  In this mode the address of operand is formed by addition of content of a base register (BX/BP) to the content of index register (SI/DI). In case of such instructions DS and ES are default segments.  e.g. MOV AX,[BX][SI]  The effective address for the instruction is ((DS)x10H) + BX+SI Relative Base Indexed  The effective address is formed by adding 8-bit or 16-bit displacement with sum of content of a base register (BX/BP) and an index register (SI/DI).  e.g. MOV AX,50H[BX][SI]  Effective addresses are ((DS)x10H) + BX + SI +50H.

Addressing modes for control transfer Instructions Intra-segment & Inter-segment Method of passing destination address to processor Modes for control transfer instructions Intersegment Intersegment directIntersegment indirect Intrasegment Intrasegment indirectIntrasegment direct

Addressing modes for control transfer Instructions Intra-segment Direct  Destination lies in the same segment as the instruction lies.  Immediate displacement value is defined in the instruction  The displacement is calculated relative to the IP.  Effective address = CS:(IP+8/16 bit displacement)  8-bit displacement= short jump  JMP SHORT LABEL  16-bit displacement= long jump  JMP NEAR PTR LABEL Intra-segment Indirect  Here the displacement is passed indirectly by either a register or memory location  JMP[BX]  JMP[BX H]

Addressing modes for control transfer Instructions Inter-segment Direct  Destination is in the different segment.  New segment as well as Immediate displacement value is defined in the instruction  JMP 5555H:2222H  Jump to effective address 2222H in segment 5555H Inter-segment Indirect  Here the displacement is passed indirectly by either a register or memory location  JMP[2000]  It seeks 2 consecutive words from the location defined in the DS and that becomes new CS and IP respectively.