Mathematische Grundlagen (1) Boolesche Algebren: BMA, Segment-Speichermodell • der...

Click here to load reader

download Mathematische Grundlagen (1) Boolesche Algebren: BMA, Segment-Speichermodell • der 8086 kann maximal 1 MByte (220 = 1.048.576 Byte) physikalisch adressieren, • Registersatz

of 48

  • date post

    06-Feb-2018
  • Category

    Documents

  • view

    213
  • download

    0

Embed Size (px)

Transcript of Mathematische Grundlagen (1) Boolesche Algebren: BMA, Segment-Speichermodell • der...

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 1

    Rechnerorganisation

    Mathematische Grundlagen (1)Boolesche Algebren: BMA, BAA (2,3)Kombinatorische Schaltungen (4,5)Automaten (6,7)Sequentielle Schaltungen (8)Programmierbare Strukturen (9) Rechneraufbau und ~funktion (10,11)Informationskodierung (12,13,14)

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 2

    Rechneraufbau und ~funktion Begriffe, Schichtenmodell eines Rechnersystems Einfhrung in die 8086-Architektur

    Grundstzlicher Aufbau eines Mikrocomputers CPU-Architektur und Registerstruktur

    Universalregister Index- und Pointerregister Flags Segmentregister

    Segment-Speichermodel Grundlegende Befehle Adressierungsarten

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 3

    Aufbau eines Universalrechners

    CPU

    ALU

    CU

    Haupt-Speicher

    VerarbeitungEingabe Ausgabe

    Tastatur, Maus, Scanner

    Monitor, Drucker

    Externer SpeicherCD, DVD, USB-Stick, HD, NAS

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 4

    Speicherhierarchie

    Byte

    KByte

    GByte

    TByte

    xTByte

    Zugr

    iffsz

    eit

    1 ns

    2-4 ns

    6-8 ns

    10 ms

    Kos

    ten

    je B

    it

    Relative Speichergre

    Cache = Kaschierer (Verdecker), Versteck, Depot Schneller Pufferspeicher, der den nachgeordneten langsamen Speicher kaschiert/verdeckt Ohne Cache mte die CPU auf den RAM-Speicher warten (d.h. Wartezyklen einfgen)

    CPURegister

    Cache

    Massenspeicher (Festplatte)

    Hauptspeicher (RAM)

    Archivspeicher (CD, DVD, USB-Stick, NAS)

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 6

    Aufbau eines Universalrechners

    Systembus

    CPU ROM RAM DMA

    Datenbus

    Adressbus

    Steuerbus

    Schnittstelle

    I/O - Gert

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 7

    Grundlegende Rechnerarchitekturen

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 8

    Grundlegende Rechnerarchitekturen

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 9

    Rechneraufbau und ~funktion Begriffe, Schichtenmodell eines Rechnersystems Grundstzlicher Aufbau eines Mikrocomputers Einfhrung in die 8086-Architektur

    CPU-Architektur und Registerstruktur Universalregister Index- und Pointerregister Flags Segmentregister

    Segment-Speichermodel Grundlegende Befehle Adressierungsarten

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 10

    8086-Architektur

    Quelle: Wikipedia

    1978 bis 1990er

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 11

    Direkt verwaltbare Adressrume

    Adresslnge (bit)

    MglicheSpeichergre

    Beispiel

    16 64 kByte Z 80

    20 1 MByte 8086

    24 16 MByte 80286, Motorola 6800, 68010

    32 4 GByte 80386, Sparc-Proz., Motorola 68020

    36 64 GByte mgl. Mode bei Pentium Pro

    40 1 TByte alle 64 Bit Prozessoren

    48 256 TByte noch nicht blich

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 12

    8086-Architektur

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 13

    Rechneraufbau und ~funktion Begriffe, Schichtenmodell eines Rechnersystems Grundstzlicher Aufbau eines Mikrocomputers Einfhrung in die 8086-Architektur

    CPU-Architektur und Registerstruktur Universalregister Index- und Pointerregister Flags Segmentregister

    Segment-Speichermodel Grundlegende Befehle Adressierungsarten

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 14

    CPU-Architektur - Registersatz 8086

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 15

    CPU-Architektur Registersatz 8086

    ALBLCL

    AHBHCHDH DL

    BPSIDISP

    EAXEBXECXEDXEBPESIEDIESP

    015 731

    AHBH

    ALBL

    CH CLDH DL

    BPSIDISP

    15 07

    AXBXCXDX

    CSDSSSES

    CSDSSSESFSGS

    Vielzweckregister Vielzweckregister

    Segmentregister

    Segmentregister

    Befehlszhler

    Flag-RegisterFlags Flags

    IP IPEIP

    E-Flags

    bis 80286 ab 80386

    015

    15 0

    15 0 15 031

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 16

    CPU-Architektur Registersatz 8086

    1. Allgemeine Datenregister

    2. Indexregister

    3. Zeigerregister

    4. Befehlszeiger und Flags

    5. Segmentregister

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 17

    8086 Registersatz(1) Allgemeine Datenregister AX, BX, CX, DX 16 Bit-Register

    fr Operationen mit 16 Bit-Operanden

    jedes Register kann bei Bedarf in zwei separate 8 Bit-Register geteilt werden

    16 Bit

    2 x 8 Bit

    alle Register knnen als allgemeine Datenregister verwendet werden

    einige Befehle verlangen aber die Anwendung bestimmter Register

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 18

    8086 Registersatz(1) Allgemeine Datenregister AX, BX, CX, DX AX Akkumulator (Akku)

    o speziell fr Multiplikation, Division E/A-Operationen nur mit AX mglich String-Operationen 8 Bit-Arithmetik-Operationen

    o verkrzt bei verschiedenen Befehlen die Abarbeitungszeit

    o historische Sonderstellung: ltere Prozessoren hatten nur ein Register, um Daten zu addieren (akkumulieren)

    o z.B.: MOV AL,10H ; auszugebenden Operanden (10H = 16) in AL laden

    OUT 60H,AL ; auszugebenden Operanden ber I/O-Port

    ; (Portadresse 60H) ausgeben

    MUL BX ; DX:AX = BX * AX

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 19

    8086 Registersatz(1) Allgemeine Datenregister AX, BX, CX, DX BX Basis-Register (base register)

    o zur temporren Speicherung von Daten

    o als Basisadresse bei der Bildung der Speicheradresse (als Zeiger auf die Basisvon Datenobjekten, z.B. Beginn eines Feldes)

    o z.B.: MOV AX,[BX] ; AX mit dem Wert der Speicherzelle(n) laden,

    ; dessen Adresse in BX steht

    ; (2 aufeinanderfolgende 8 Bit-Speicherinhalte)

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 20

    8086 Registersatz(1) Allgemeine Datenregister AX, BX, CX, DX CX Zhl-Register (counter register)

    o zur temporren Speicherung von Daten

    o als Zhlregister fr Schleifen (z.B. LOOP) Verschiebungen (z.B. SHL) Rotationen (z.B. ROL) Wiederholte Stringbefehle

    o dabei automatisches Dekrementieren von CX bei jedem Schleifendurchlauf

    o z.B.: MOV CX,10H ; CX mit 10H = 16 = Anzahl der Durchlufe laden,

    label: OUT 60H,AL ; AL auf I/O-Port 60H ausgeben

    LOOP label ; 16 Wiederholungen bis CX = 0

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 21

    8086 Registersatz(1) Allgemeine Datenregister AX, BX, CX, DX DX Daten-Register (data register)

    o zur temporren Speicherung von Daten

    o als Akku-Erweiterung bei Multiplikation/Division

    o fr Ein/Ausgabe-Operationen enthlt die Portadresse (0000H FFFF H) einzige Mglichkeit, Portadressen > 255 anzusprechen

    o z.B.: MUL BX ; DX:AX = BX * AX

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 22

    CPU-Architektur Registersatz 8086

    1. Allgemeine Datenregister

    2. Indexregister

    3. Zeigerregister

    4. Befehlszeiger und Flags

    5. Segmentregister

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 23

    8086 Registersatz(2, 3) Indexregister (SI, DI) und Zeigerregister (SP, BP) zur temporren Speicherung von 16 Bit-Daten nutzbar

    Speicheradressierung in Verbindung mit den Segmentregistern oder dem Basisregister BX

    SI, DI Indexregister (SI - source index, DI - destination index)o meist als Index (Pointer) auf einen Operanden innerhalb eines Feldes (Offsetadresse),

    dessen Basisadresse in BX steht

    o vor allem bei Zeichenketten-Befehlen

    SP, BP Zeigerregister (SP stack pointer, BP base pointer)o enthalten die Offsetadressen fr Operationen im Stack-Segment

    o zum Aufbau eines Stacks (Stapel, Kellerspeicher) Arbeitsweise: LIFO (last in - first out) zeigt immer auf das Ende des Stacks

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 24

    CPU-Architektur Registersatz 8086

    1. Allgemeine Datenregister

    2. Indexregister

    3. Zeigerregister

    4. Befehlszeiger und Flags

    5. Segmentregister

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 25

    8086 Registersatz(4) Befehlszeiger und Statusregister (Flags) IP Befehlszeiger (instruction pointer)

    o enthlt die Offsetadresse des nchsten abzuarbeitenden Befehls, der aus dem Codesegment gelesen wird

    o vollstndige Adresse besteht aus: Inhalt CS (Basisadresse des Codesegments) und IP (Offset) CS:IP

    PSW Statusregister/Flags (program status word)o Sammlung von einzelnen Statusindikatoren (Flags)

    o Ergebnis-Flags der ALU: zeigen den Zustand der letzten arithmetischen Operation an,

    o Status-Flags des Steuerwerkes: dienen der Programmsteuerung und knnen ber Befehle gesetzt oder gelscht werden

  • IKS 2017H.-D. Wuttke, K. Henke 12.01.2017 www.tu-ilmenau.de/iks 26

    8086 Registersatz(4) Be