Post on 11-Aug-2019
© IKS 2017H.-D. Wuttke, K. Henke 14.12.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 14.12.2017 www.tu-ilmenau.de/iks 2
Rechneraufbau und ~funktion• Begriffe, Schichtenmodell eines Rechnersystems• Einführung in die 8086-Architektur
– Grundsätzlicher Aufbau eines Mikrocomputers– CPU-Architektur und Registerstruktur
• Universalregister• Index- und Pointerregister• Flags• Segmentregister
– Segment-Speichermodel– Grundlegende Befehle– Adressierungsarten
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 3
Rechneraufbau und ~funktion• Begriffe, Schichtenmodell eines Rechnersystems• Einführung in die 8086-Architektur
– Grundsätzlicher Aufbau eines Mikrocomputers– CPU-Architektur und Registerstruktur
• Universalregister• Index- und Pointerregister• Flags• Segmentregister
– Segment-Speichermodel– Grundlegende Befehle– Adressierungsarten
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 4
Begriffe• CPU (Central Processing Unit)
– Rechenwerk (ALU) mit Registern + Steuerwerk• Mikroprozessor
– CPU + Bus (Schnittstellen)– Kernstück heutiger Computer– allein nicht einsatzfähig
• Mikrocomputer (Mikrorechner)– enthält einen Mikroprozessor, der über den Systembus mit Speicher, E/A-
Bausteinen (Peripherie) verbunden ist– Spezialfälle:
• Ein-Chip-Mikrorechner (EMR)– alle Komponenten befinden sich auf einem Chip
• Ein-Platinen-Mikrocomputer– alle Komponenten befinden sich auf einer Platine
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 5
Begriffe• Mikrocontroller
– enthalten gegenüber Mikroprozessoren zusätzliche Elemente, (z.B. Timer, A/D-Wandler, UART, SPI/I2C-Controller)
– werden meist in Eingebetteten Systemen (embedded systems) eingesetzt, d.h. keine direkte Steuerung durch den Nutzer
– begrenzter Arbeitsspeicher, meist keine Massenspeicher• Digitaler Signalprozessor (DSP)
– spezielle Prozessoren für spezielle Anwendungen– Rechner enthalten heute meist mehrere Signalprozessoren (z.B. für
Netzwerkanbindung)• Weitere Spezialprozessoren (Auswahl):
– Numerische Co-Prozessoren– Grafikcontroller– DMA-Controller– I/O-Prozessoren– Interruptcontroller
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 6
Ein-Platinen-Computer: PC104-Serie
• Low-Power Pentium III• 700 MHz• 32MByte Video-RAM• 512 MByte SDRAM• Anschlüsse:
- 2 x USB, - 2 x COM, - LPT, - FDD, - EIDE, - Keyboard- PS/2-Mouse
MOPSlcd7 der Firma Contron
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 7
Ein-Platinen-Computer: Card-PC
Card-PC‘s der Firma Epson
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 8
Ein-Platinen-Computer: Card-PC
CPU: Intel 80486DX4
Clock speed: 40/75/100 MHz
RAM: 4/8/16/32 MB
BIOS FLASH: 256 KB
VRAM: 512KB
CARD-486DX4 der Firma Epson
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 9
Ein-Platinen-Computer: Card-PC
CARD-E09A (Epson)
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 10
Ein-Platinen-Computer: VIA
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 11
Ein-Platinen-Computer: VIA
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 12
Ein-Platinen-Computer: VIA
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 13
Mini-PC
Arduino ATmega 328
14 digitale Ein- / Ausgänge (6 davon können als PWM Kanäle genutzt werden), 6 analoge Eingänge, ein 16 MHz Quartz, USB Schnittstelle, einen 6 poligen ISP Anschluss und einen Reset Taster; einfache Verb. über USB Kabel mit dem PC; Betrieb mit Netzteil oder Akku
Raspberry Pi 2 (B)Quadcore CPU, 1 GB Ram
HDMI, USB, LAN, Audio, Quad-Core ARM Cortex-A7 Prozessor mit 900 MHz und integrierter Grafikeinheit; 4 USB-Anschlüsse; Kamera- und Displayinterface
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 14
Rechneraufbau und ~funktion• Begriffe, Schichtenmodell eines Rechnersystems• Grundsätzlicher Aufbau eines Mikrocomputers• Einführung 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 14.12.2017 www.tu-ilmenau.de/iks 15
Schichtenmodell eines Rechnersystems• Anwendungsprogramme
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 16
Schichtenmodell eines Rechnersystems• Anwendungsprogramme
• Höhere Programmiersprachen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 17
Schichtenmodell eines Rechnersystems• Anwendungsprogramme
• Höhere Programmiersprachen
• Assemblersprachen, Maschinencode
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 18
Schichtenmodell eines Rechnersystems• Anwendungsprogramme
• Höhere Programmiersprachen
• Assemblersprachen, Maschinencode
• Mikroprogrammierte/festverdrahtete Steuerung
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 19
Schichtenmodell eines Rechnersystems• Anwendungsprogramme
• Höhere Programmiersprachen
• Assemblersprachen, Maschinencode
• Mikroprogrammierte/festverdrahtete Steuerung
• Funktionseinheiten (ALU, Speicher, ...)
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 20
Schichtenmodell eines Rechnersystems• Anwendungsprogramme
• Höhere Programmiersprachen
• Assemblersprachen, Maschinencode
• Mikroprogrammierte/festverdrahtete Steuerung
• Funktionseinheiten (ALU, Speicher, ...)
• Logik-Gatter
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 21
Schichtenmodell eines Rechnersystems• Anwendungsprogramme
• Höhere Programmiersprachen
• Assemblersprachen, Maschinencode
• Mikroprogrammierte/festverdrahtete Steuerung
• Funktionseinheiten (ALU, Speicher, ...)
• Logik-Gatter
• Transistoren und Verbindungen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 22
Rechneraufbau und ~funktion• Begriffe, Schichtenmodell eines Rechnersystems• Grundsätzlicher Aufbau eines Mikrocomputers• Einführung 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 14.12.2017 www.tu-ilmenau.de/iks 23
Aufbau eines Universalrechners
CPU
ALU
CU
Haupt-Speicher
VerarbeitungEingabe Ausgabe
• Tastatur,• Maus,• Scanner
• Monitor,• Drucker
Externer SpeicherHD, CD, DVD, USB-Stick
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 24
Aufbau eines Universalrechners
Systembus
CPU ROM RAM DMA
Datenbus
Adressbus
Steuerbus
Schnittstelle
I/O - Gerät
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 25
Grundlegende Rechnerarchitekturenvon Neumann-Architektur
1. Rechner besteht aus 4 Werken: Arithmetische Recheneinheit (ALU), Steuereinheit (CU), Arbeitsspeicher, Ein-/Ausgabeeinheiten, alle Daten sind binär codiert
2. Rechnerarchitektur keine Funktion der Problemstruktur - neues Problem - neues Programm!
3. gemeinsamer Speicher für Daten UND Programm4. Hauptspeicher: fortlaufend nummerierte Speicherzellen gleicher Größe,
Speicherzellinhalt: unstrukturierte Bitketten5. Programm: Folge von Befehlen aus dem Befehlssatz des Rechners; Prinzip der
Sequentialität6. Von der sequentiellen Abarbeitung kann durch Sprungbefehle abgewichen
werden.
Vorteile:- hohe Transparenz der Abarbeitung- Befehle und Daten manipulierbar- gut für Entwicklungssysteme- dominierende Architektur für min.
Hardwareaufwand
Nachteile:- unstrukturierte Speicherzellinhalte- nur sequentieller Zugriff auf Programm
und Daten- einheitliche Speicherwortlänge- geringe HW-Effektivität- von Neumann - Flaschenhals
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 26
Grundlegende RechnerarchitekturenHavard-Architektur
Nachteile der v.Neumann-Architektur führten zur Entwicklung derHavard-Architektur mit den wesentlichen Merkmalen:1. Daten und Befehle in getrennten Arbeitsspeichern2. getrennter Befehls- und Datenbus
Vorteile:• parallele Bereitstellung von Daten und Befehlen• Verkürzung der Befehlsabarbeitungszeit (während Befehls-
abarbeitung kann nächster Befehl geholt werden)• Optimierung der Daten- und Befehlswortlängen möglich
Nachteile:• höherer Hardwareaufwand• Programme während Abarbeitung nicht manipulierbar
Anwendungen:• Einchiprechner, Mikrorechner• internes Konzept moderner Prozessoren (getrennte Cache-Speicher)• erster Vertreter: Mark I von Aiken (1944)
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 27
Grundlegende Rechnerarchitekturen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 28
Grundlegende Rechnerarchitekturen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 29
Rechneraufbau und ~funktion• Begriffe, Schichtenmodell eines Rechnersystems• Grundsätzlicher Aufbau eines Mikrocomputers• Einführung 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 14.12.2017 www.tu-ilmenau.de/iks 30
Intel x86 Generationen
Quelle: c`t 13/2003/90 ffLesetipp: c‘t 13/2003 S.90, 92, 96 – 25 Jahre Intel Prozessoren
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 31
Intel x86 Generationen
Quelle: c`t 13/2003/90 ff
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 32
Intel x86 GenerationenIntel 80486DX2 (66 Mhz)
Einführung 1989, Markt dominierend 1992 – 951000 nm, 1,2 Mill. Transistoren, arbeitete ohne Kühlung,
typisches System zu der Zeit: 120-MB-Festplatte, 4 MB Hauptspeicher, VGA-Grafikkarte; Betriebssystem MS-DOS 5.0 mit Windows 3.1 als grafische Benutzeroberfläche.
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 33
Intel x86 Generationen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 34
Intel x86 Generationen
1
2
4
5
6
3 1 - Cache2 - Kommunikation3 - ALU4 - Cache5 - Befehlsqueue6 - Datenqueue
Quelle: Spektrum der WissenschaftDossier Rechnerarchitekturen 4/2000
Layout eines Intel P III
1999 - 2002, 450 .. 1400 MHz Takt, 130 .. 250 nmTechnologie
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 35
Intel x86 Generationen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 36
Intel x86 Generationen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 37
Intel x86 Generationen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 38
Intel x86 Generationen
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 39
Intel x86 GenerationenIntel Skylake (8/2015)
• 14nm Prozess• Unterstützung für
DDR3 und DDR4-RAM• Sockel 1151• 51 verfügbare
Varianten! • Verbesserungen vor
allem im Grafik-bereich – 1152 Gflops für bis zu 3 4k-Displays
• 4,5 bis 91W Verlust-leistung
• 2/4 Kerne• 2/3/4/6/8 MB Cache• USB 3.1 Unter-stützung
(Z170)
Quelle: Intel
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 40
Intel x86 GenerationenIntel Kaby Lake (3.Q/2016)
14nm - Technologie
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 41
Direkt verwaltbare Adressräume
Adresslänge (bit)
MöglicheSpeichergröße
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 mögl. Mode bei Pentium Pro
40 1 TByte alle 64 Bit Prozessoren
48 256 TByte noch nicht üblich
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 42
8086-Architektur
Quelle: Wikipedia
1978 bis 1990er
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 43
8086
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 44
8086-Architektur
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 45
Rechneraufbau und ~funktion• Begriffe, Schichtenmodell eines Rechnersystems• Grundsätzlicher Aufbau eines Mikrocomputers• Einführung 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 14.12.2017 www.tu-ilmenau.de/iks 46
CPU-Architektur - ALU
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 47
CPU-Architektur - ALU
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 48
CPU-Architektur - Steuerwerk
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 49
CPU-Architektur - Steuerwerk
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 50
CPU-Architektur - Steuerwerk
Befehl aus Speicher holen
Befehl dekodieren
Lesen der weiteren Bytes des Befehls
Befehlsausführung• Bereitstellung der Operanden
• Verarbeiten in der ALU• Ergebnisse abspeichern
Befehl komplett ?ja
nein
1
2
3
4
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 51
CPU-Architektur - Steuerwerk Aufbau eines Maschinenbefehls (8086)
Code Adr-Mode Disp-low Disp-high data-low data-high
Op-Code d w MD REG R/M
Byte 1 Byte 6
Register od. SpeicherRegisterAdressmodusLänge Byte/WortRichtungBefehlscode
Disp = Displacement6 Bit 1 1 2 Bit 3 Bit 3 Bit
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 52
CPU-Architektur - Steuerwerk Beispiele für unterschiedlich lange Befehle• CLC F8 H• MOV AL,12H B0 12 H• MOV AX,1234H B8 34 12 H• MOV [0003H],12H C6 06 03 00 12 H• MOV [0003H],1234H C7 06 03 00 34 12 H
Little Endian Kodierung: das Byte, welches das LSB enthält, wird zuerst abgespeichert
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 53
Rechneraufbau und ~funktion• Begriffe, Schichtenmodell eines Rechnersystems• Grundsätzlicher Aufbau eines Mikrocomputers• Einführung 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 14.12.2017 www.tu-ilmenau.de/iks 54
CPU-Architektur - Registersatz 8086
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 55
CPU-Architektur – Registersatz 8086
1. Allgemeine Datenregister
2. Indexregister
3. Zeigerregister
4. Befehlszeiger und Flags
5. Segmentregister
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 56
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
Befehlszähler
Flag-RegisterFlags Flags
IP IPEIP
E-Flags
bis 80286 ab 80386
015
15 0
15 0 15 031
© IKS 2017H.-D. Wuttke, K. Henke 14.12.2017 www.tu-ilmenau.de/iks 57
Das war‘s für heute ...
Viel Spaß beim Wiederholen!Bis nächsten Donnerstag 15.00 ...