Organizacija sistema zasnovana na mikropocesoru 80 x 86

  • Slides: 125
Download presentation
Organizacija sistema zasnovana na mikropocesoru 80 x 86

Organizacija sistema zasnovana na mikropocesoru 80 x 86

Blok dijagram PC mašina zasnovanih na Intel-ovim procesorima

Blok dijagram PC mašina zasnovanih na Intel-ovim procesorima

Obim magistrale podataka kod 80 x 86

Obim magistrale podataka kod 80 x 86

Obim adresne magistrale kod 80 x 86

Obim adresne magistrale kod 80 x 86

Memorisanje bajta, reči i duple reči kod 80 x 86

Memorisanje bajta, reči i duple reči kod 80 x 86

Organizacija memorije kod 16 -bitnog procesora (8086, 80186, 80286, 80386 sx)

Organizacija memorije kod 16 -bitnog procesora (8086, 80186, 80286, 80386 sx)

Organizacija memorije kod 32 -bitnog procesora (80386, 80486, Pentium, . . . )

Organizacija memorije kod 32 -bitnog procesora (80386, 80486, Pentium, . . . )

Programski model mikroprocesora počev od 8086 do Pentium

Programski model mikroprocesora počev od 8086 do Pentium

8086 register set

8086 register set

8086 Flags Register

8086 Flags Register

80386 Registers (Application Programmer Visible)

80386 Registers (Application Programmer Visible)

Način memorisanja podataka u registrima

Način memorisanja podataka u registrima

Registri FLAG i EFLAGS za familiju mikroprocesora 80 x 86 i Pentium

Registri FLAG i EFLAGS za familiju mikroprocesora 80 x 86 i Pentium

Pogled na memorijski sistem

Pogled na memorijski sistem

Adresiranje memorije korišćenjem adrese segment plus ofset

Adresiranje memorije korišćenjem adrese segment plus ofset

Konkretan primer rasporeda memorijskih segmenata bez preklapanja

Konkretan primer rasporeda memorijskih segmenata bez preklapanja

Konkretan primer rasporeda memorijskih segmenata sa preklapanjem

Konkretan primer rasporeda memorijskih segmenata sa preklapanjem

16 segmenata koji se ne preklapaju kod 8086

16 segmenata koji se ne preklapaju kod 8086

Segmented Addressing as a Two. Dimensional Process

Segmented Addressing as a Two. Dimensional Process

Segmented Addressing in Physical Memory in Real Mode

Segmented Addressing in Physical Memory in Real Mode

Converting a Logical Address to a Physical Address in Real Mode

Converting a Logical Address to a Physical Address in Real Mode

Converting a Logical Address to a Physical Address in Protected Mode

Converting a Logical Address to a Physical Address in Protected Mode

Sistemski takt

Sistemski takt

Ciklus čitanja memorije kod 80486

Ciklus čitanja memorije kod 80486

Ciklus upisa u memoriju kod 80486

Ciklus upisa u memoriju kod 80486

Dekodiranje i kašnjenje bafera

Dekodiranje i kašnjenje bafera

Ubacivanje stanja čekanaj u Memory Read operaciju

Ubacivanje stanja čekanaj u Memory Read operaciju

Unutrašnja struktura 8486 CPU-a

Unutrašnja struktura 8486 CPU-a

Interna struktura procesora Pentium

Interna struktura procesora Pentium

Hazardi kod 8486

Hazardi kod 8486

Unutrašnja struktura kod 8686

Unutrašnja struktura kod 8686

Izlazni port kreiran pomoću jednog leča

Izlazni port kreiran pomoću jednog leča

Ulazno/izlazni port zahteva dva leča

Ulazno/izlazni port zahteva dva leča

Inputing Data Vector Number

Inputing Data Vector Number

Inputing Data Vector Coded

Inputing Data Vector Coded

Program Developement

Program Developement

Adresni načini rada kod 8086

Adresni načini rada kod 8086

Addressing Modes on the x 86 q The x 86 instructions use five different

Addressing Modes on the x 86 q The x 86 instructions use five different operand types: v registers, v constants, v three memory addressing schemes. q Each form is called an addressing mode. q The x 86 processors support: v the register addressing mode, v the immediate addressing mode, v the indirect addressing mode, v the indexed addressing mode, and v the direct addressing mode.

Adresni načini rada za pristup podacima kod x 86 EBX=00000300 h; ESI=00000200 h; POLJE=1000

Adresni načini rada za pristup podacima kod x 86 EBX=00000300 h; ESI=00000200 h; POLJE=1000 h; DS=1000 h

Generisanje 32 -bitne adrese

Generisanje 32 -bitne adrese

Displacement Only (Direct) Addressing Mode

Displacement Only (Direct) Addressing Mode

Accessing a Word

Accessing a Word

[BX] Addressing Mode

[BX] Addressing Mode

[BP] Addressing Mode

[BP] Addressing Mode

[BX+disp] Addressing Mode

[BX+disp] Addressing Mode

[BP+disp] Addressing Mode

[BP+disp] Addressing Mode

[BX+SI] Addressing Mode

[BX+SI] Addressing Mode

[BP+SI] Addressing Mode

[BP+SI] Addressing Mode

[BX + SI + disp] Addressing Mode

[BX + SI + disp] Addressing Mode

[BP + SI + disp] Addressing Mode

[BP + SI + disp] Addressing Mode

Table to Generate Valid 8086 Addressing Modes

Table to Generate Valid 8086 Addressing Modes

Mapping a 4 x 4 Array to Memory

Mapping a 4 x 4 Array to Memory

Row Major Element Ordering

Row Major Element Ordering

Another View of Row Major Ordering for a 4 x 4 Array

Another View of Row Major Ordering for a 4 x 4 Array

Column Major Element Ordering

Column Major Element Ordering

Primer neposrednog adresiranja

Primer neposrednog adresiranja

Primer direktnog adresiranja

Primer direktnog adresiranja

Primer registarsko-indirektnog adresiranja

Primer registarsko-indirektnog adresiranja

Primer baznog adresiranja

Primer baznog adresiranja

Primer indeksnog adrsiranja

Primer indeksnog adrsiranja

Primer bazno-indeksnog adresiranja

Primer bazno-indeksnog adresiranja

Primer bazno-indeksnog adresiranja sa razmeštajem

Primer bazno-indeksnog adresiranja sa razmeštajem

Format instrukcija

Format instrukcija

Format instrukcija od 8086 do Pentium

Format instrukcija od 8086 do Pentium

Prvi bajt opkoda, pozicija polja MOD, REG i R/M

Prvi bajt opkoda, pozicija polja MOD, REG i R/M

Tipovi instrukcija kod 8086

Tipovi instrukcija kod 8086

Podela instrukcija v Prenos podataka v Aritmetičke v Logičke v Pomeračke v Rotiranje v

Podela instrukcija v Prenos podataka v Aritmetičke v Logičke v Pomeračke v Rotiranje v Testiranje i analiza bita v Manipulisanje markerima v Kompariranje i postavljanje v Grananje v Poziv potprograma v LOOP v Manipulisanje nizovima

Instrukcije za prenos podataka

Instrukcije za prenos podataka

Sign-extend and Zero-extend Move Instructions

Sign-extend and Zero-extend Move Instructions

Exchange Data-Transfer Instructions

Exchange Data-Transfer Instructions

Translate Data-Transfer Instructions

Translate Data-Transfer Instructions

Load Effective Address and Full Pointer Data-Transfer Instructions

Load Effective Address and Full Pointer Data-Transfer Instructions

Arithmetic Instructions

Arithmetic Instructions

Arithmetic and Logical Instructions

Arithmetic and Logical Instructions

Addition Arithmetic Instructions

Addition Arithmetic Instructions

Subtraction Arithmetic Instructions

Subtraction Arithmetic Instructions

Multiplication and Division Arithmetic Instructions

Multiplication and Division Arithmetic Instructions

Logic Instructions

Logic Instructions

Shift Instructions

Shift Instructions

Rotate Instructions

Rotate Instructions

Arithmetic Shift Right Operation

Arithmetic Shift Right Operation

Shift Right Operation

Shift Right Operation

Double Precision Shift Left Operation

Double Precision Shift Left Operation

Double Precision Shift Right Operation

Double Precision Shift Right Operation

Rotate Through Carry Left Operation

Rotate Through Carry Left Operation

Rotate Through Carry Right Operation

Rotate Through Carry Right Operation

Rotate Left Operation

Rotate Left Operation

Rotate Right Operation

Rotate Right Operation

Bit-Test and Bit-Scan Instructions

Bit-Test and Bit-Scan Instructions

Flag-Control Instructions

Flag-Control Instructions

Compare Instructions

Compare Instructions

Byte Set on Condition Instruction

Byte Set on Condition Instruction

Unconditional Jump Instruction

Unconditional Jump Instruction

Coditional Jump Instructions

Coditional Jump Instructions

The control transfer instructions These instructions include the following: Other instructions: The get and

The control transfer instructions These instructions include the following: Other instructions: The get and put instructions let you read and write integer values. The remaining instructions do not require any operands, they are halt and brk.

Jcc Instructions That Test Flags

Jcc Instructions That Test Flags

Jcc Instructions for Unsigned Comparisons

Jcc Instructions for Unsigned Comparisons

Jcc Instructions for Signed Comparisons

Jcc Instructions for Signed Comparisons

IF. . THEN and IF. . THEN. . ELSE Statement Flow

IF. . THEN and IF. . THEN. . ELSE Statement Flow

Subroutine Call Instruction

Subroutine Call Instruction

Return Instruction

Return Instruction

Structure of a Subroutine

Structure of a Subroutine

Push and Pop Instructions

Push and Pop Instructions

Push Flags and Pop Flags Instructions

Push Flags and Pop Flags Instructions

Push all and Pop all Instructions

Push all and Pop all Instructions

Enter and Leave Instructions

Enter and Leave Instructions

Loop Instructions

Loop Instructions

Basic String Instructions

Basic String Instructions

Prefixes for Use with Basic String Instructions

Prefixes for Use with Basic String Instructions

Instructions for Selecting Autoincrementing and Autodecrementing in String Instructions

Instructions for Selecting Autoincrementing and Autodecrementing in String Instructions

Symbols for Specifying Register Operands

Symbols for Specifying Register Operands

Examples of Using Various Addressing Modes

Examples of Using Various Addressing Modes

Arithmetic, Relational, and Logical Operators

Arithmetic, Relational, and Logical Operators

Value-Returning and Attribute Operators

Value-Returning and Attribute Operators

Pseudo-ops of the Macroassembler

Pseudo-ops of the Macroassembler

Data Pseudo-ops

Data Pseudo-ops

Segment Pseudo-ops

Segment Pseudo-ops

Align Type Attributes PARA – paragraph alignment BYTE – byte alignment WORD – word

Align Type Attributes PARA – paragraph alignment BYTE – byte alignment WORD – word alignment PAGE – page alignment INPAGE – inpage alignment

Combine Type Attributes

Combine Type Attributes

Class Attributes

Class Attributes

Modular Programming Pseudo-ops

Modular Programming Pseudo-ops

Org and End Pseudo-op

Org and End Pseudo-op

Listing Control Pseudo-op

Listing Control Pseudo-op

Definicija segmenata – izbor memorijskog modela Uglavnom se koriste sledeći memorijski modeli: SMALL model

Definicija segmenata – izbor memorijskog modela Uglavnom se koriste sledeći memorijski modeli: SMALL model - jedan od najčešće korišćenih modela, koji koristi 64 k. B memorija za program i 64 k. B za podatke MEDIUIM model - podaci moraju se smestiti u 64 k. B, a program može biti veći od 64 k. B. COMPACT model - suprotan je modelu MEDIUM, tj. program se mora smestiti u 64 k. B, a podaci u prostor veći od 64 k. B. LARGE model - kombinovanjem prethodna dva modela dobija se LARGE model, tj. i kôd i podatke mogu biti veći od 64 k. B. Jedinstvena struktura podataka kao što je polje (vektor, matrica, . . . ) ne sme da premaši 64 k. B. HUGE model - program i podaci mogu da premaše 64 k. B a takodje i jedinstvena struktura podataka može biti veća od 64 k. B. TINY model - se koristi sa COM fajlovima kod kojih ukupna memorija program plus podaci ne sme da premaši 64 k. B. TINY model se ne može koristiti u sklopu pojednostavljene definicije segmenata.

Potpuna u odnosu na pojednostavljenu definiciju segmenata

Potpuna u odnosu na pojednostavljenu definiciju segmenata