CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.

Slides:



Advertisements
Similar presentations
8086 Ahad.
Advertisements

Register In computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than.
Registers of the 8086/ /2002 JNM.
There are two types of addressing schemes:
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Parul Polytechnic Institute
Introduction to 8086 Microprocessor
Azir ALIU 1 What is an assembly language?. Azir ALIU 2 Inside the CPU.
3-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Intel 8088 (8086) Microprocessor.
ICS312 Set 3 Pentium Registers. Intel 8086 Family of Microprocessors All of the Intel chips from the 8086 to the latest pentium, have similar architectures.
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.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
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.
1 Fundamental of Computer Suthida Chaichomchuen : SCC
Types of Registers (8086 Microprocessor Based)
INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
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.
8086 Internal Architecture
Block diagram of 8086.
Intel 8086 (8088) Microprocessor Structure
University of Tehran 1 Microprocessor System Design Omid Fatemi Machine Language Programming
COMP 1321 Digital Infrastructure Richard Henson University of Worcester October 2015.
University of Sargodha, Lahore Campus Prepared by Ali Saeed.
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
1 x86 Programming Model Microprocessor Computer Architectures Lab Components of any Computer System Control – logic that controls fetching/execution of.
Intel 8086 MICROPROCESSOR ARCHITECTURE
Computer Organization & Assembly Language University of Sargodha, Lahore Campus Prepared by Ali Saeed.
8086 Microprocessor J Srinivasa Rao.
I NTEL 8086 M icroprocessor بسم الله الرحمن الرحيم 1.
ΜComputer Structure μProcessor Memory Bus System I/O Ports.
An Introduction to 8086 Microprocessor.
UNIT Architecture M.Brindha AP/EIE
Introduction to 8086 Microprocessor
COURSE OUTCOMES OF Microprocessor and programming
8086 MICROPROCESSOR ARCHITECTURE & SEGMENTATION
8086 Microprocessor.
Computer Organization & Assembly Language Chapter 3
ADDRESSING MODES.
Intel 8086 MICROPROCESSOR Architecture.
ADDRESSING MODES.
University of Gujrat Department of Computer Science
Intel 8088 (8086) Microprocessor Structure
Homework Reading Continue work on mp1
Microcomputer & Interfacing Lecture 1
Symbolic Instruction and Addressing
Introduction to Assembly Language
University of Gujrat Department of Computer Science
Microprocessor & Assembly Language
Intel 8088 (8086) Microprocessor Structure
8086 Registers Module M14.2 Sections 9.2, 10.1.
8086 Ahad.
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Symbolic Instruction and Addressing
CS 301 Fall 2002 Computer Organization
COMP 1321 Digital Infrastructure
COMP 1321 Digital Infrastructure
Symbolic Instruction and Addressing
CNET 315 Microprocessor & Assembly Language
Computer Architecture CST 250
Unit-I 80386DX Architecture
Chapter 6 –Symbolic Instruction and Addressing
Intel 8086.
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
Presentation transcript:

CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman

Basic Programming Model CPU Internal Organization 2

Registers The 8086 microprocessor has a total of fourteen registers that are accessible to the programmer. Eight of the registers are known as general purpose registers i.e. they can be used by the programmer for data manipulation. Each of the registers is 16 bits long i.e. can contain a 16-bit binary number. The first four registers are sometimes referred to as data registers. They are the ax, bx, cx and dx registers. The second four are referred to as index/pointer registers. They are the sp, bp, si and di registers. The data registers can be treated as 16-bit registers or they can each be treated as two 8-bit registers. Each 8-bit register can be used independently. The ax register may be accessed as ah and al (H and L refer to high-order and low-order bytes). ▫Similarly  bx may be accessed as bh, bl  cx may be accessed as ch, cl  dx may be accessed as dh, dl 3

General-Purpose Registers 8086 CPU has 8 general purpose registers; each register has its own name: AX - the accumulator register (divided into AH / AL). BX - the base address register (divided into BH / BL). CX - the count register (divided into CH / CL). DX - the data register (divided into DH / DL). SI - source index register. DI - destination index register. BP - base pointer. SP - stack pointer 4

8086 CPU Broad Division 8086C CPU can be broadly divided into two separated groups: 1. Execution Unit (EU): The Execution Unit executes all instructions. An execution unit is a part of a CPU that performs the operations and calculations called for by the program. Execution Unit (EU) contains Arithmetic Logic Unit, which is a core component of all CPUs. ALUs are capable of calculating the results of a wide variety of basic arithmetical computations. 2. Bus Interface Unit (BIU): It is the part of the processor that interfaces with the rest of the PC. The BIU provides various functions, including generation of the memory and I/O addresses for the transfer of data between outside the CPU, and the EU. 5

8086 CPU Broad Division 6

8086 CPU Internal Architecture 7

Model Description The EU receives program instruction codes and data from the BIU, executes these instructions, and store the results in the general registers. By passing the data back to the BIU, data can also be stored in a memory location or written to an output device. Note that the EU has no connection to the system buses. It receives and outputs all its data through the BIU. BIU Elements: Instruction Queue: the next instructions or data can be fetched from memory while the processor is executing the current instruction. The memory interface is slower than the processor execution time so this speeds up overall performance Segment Registers: ▫CS, DS, SS and ES are 16b registers. ▫Used with the 16b Base registers to generate the 20b address. ▫Allow the 8086/8088 to address 1MB of memory. ▫Changed under program control to point to different segments as a program executes. 8

Model Description Instruction Pointer (IP) contains the Offset Address of the next instruction, the distance in bytes from the address given by the current CS register. CPU will perform the operations into the execution unit, next, it decodes and interprets instruction to perform calculations, and then send to Arithmetic Logic Unit (ALU) that is capable of calculating the results of a wide variety of basic arithmetical computations. When it is finished, ALU will be connected to a set of inputs and a set of outputs through Bus Interface that is the part of the processor that interfaces with the rest of the PC. The fundamental operation of CPU will operate in memory unit all the times. Moreover, CPU also executes instructions to read data from input devices and then writes back to output devices 9

Intel 8086/8088 Microprocessor 8086 is a 16-bit processor – because the size of the “accumulator” register, AX, is 16 bits. Has 20 address pins (16 multiplexed with data) – because address and data cannot be travelled at the same time. When address is generated it is latched and then after control bus, data is travelled. Can address a max. of 2^20 = 1,048,576 = 1 Million locations Address ranges from 00000H to FFFFFH Memory is byte addressable - Every byte has a separate address. 10

Segment and Segment Registers 11

Segment Registers CS - points at the segment containing the current program. DS - generally points at segment where variables are defined. ES - extra segment register, it's up to a coder to define its usage. SS - points at the segment containing the stack. Although it is possible to store any data in the segment registers, this is never a good idea. The segment registers have a very special purpose - pointing at accessible blocks of memory. Segment registers work together with general purpose register to access any memory value. For example if we would like to access memory at the physical address 12345h (hexadecimal), we should set the DS = 1230h and SI = 0045h. This is good, since this way we can access much more memory than with a single register that is limited to 16 bit values. 12

Address Calculation 13 CPU makes a calculation of physical address by multiplying the segment register by 10h and adding general purpose register to it (1230h * 10h + 45h = 12345h): The address formed with 2 registers is called an effective address. By default BX, SI and DI registers work with DS segment register; BP and SP work with SS segment register. Other general purpose registers cannot form an effective address! Also, although BX can form an effective address, BH and BL cannot.

8086 Address Calculation The logical address A4FB:4872h means offset 4872h within segment A4FBh, that is, the segment starting at physical address A4FB0h. To obtain the corresponding 20- bit physical (i.e., absolute) address, the 8086/8088 microprocessor first shifts the segment base address 4 bits to the left (this is equivalent to multiplying by 10H), and then adds the offset. Thus the physical address for A4FB:4872h is: 14

8086 Address Calculation 15

8086 Address Calculation 16