Architektur und Organisation von Rechnersystemen · Von Neumann, Harvard, CISC, RISC, Pipelines,...

22
ArcOrg und MCU 30.11.2017 HS Düsseldorf (c) U.Schaarschmidt 1 Architektur und Organisation von Rechnersystemen © Ulrich Schaarschmidt FH Düsseldorf, WS 2017/18 Themen heute: Voraussetzungen, Ziele, Übersicht, Einordnung unterschiedlicher Computer, Ablauf eines Arbeitszyklus, vom 1-Bit-Prozessor bis zum 512-Bit-Prozessor MCU_ArcOrg17_V1 am30.11.2017 30.11.2017 U. Schaarschmidt HS-D 2 Ihr Dozent Ulrich G. Schaarschmidt HS Düsseldorf Münsterstr. 156 (direkt an der S-Bahn Derendorf) 40476 Düsseldorf Raum 5.04.032 Büro / 041 Labor Telefon: 0211 - 4351-3144, email: [email protected] Labor: 5.04.041 Labormanager: Michael Kosub email: Michael.Kosub @fh-duesseldorf.de

Transcript of Architektur und Organisation von Rechnersystemen · Von Neumann, Harvard, CISC, RISC, Pipelines,...

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 1

Architektur und Organisation

von Rechnersystemen

© Ulrich Schaarschmidt

FH Düsseldorf, WS 2017/18

Themen heute:

Voraussetzungen, Ziele, Übersicht,

Einordnung unterschiedlicher Computer,

Ablauf eines Arbeitszyklus,

vom 1-Bit-Prozessor bis zum

512-Bit-Prozessor

MCU_ArcOrg17_V1 am30.11.2017

30.11.2017 U. Schaarschmidt HS-D 2

Ihr Dozent

Ulrich G. Schaarschmidt

HS Düsseldorf

Münsterstr. 156 (direkt an der S-Bahn Derendorf)

40476 Düsseldorf

Raum 5.04.032 Büro / 041 Labor

Telefon: 0211 - 4351-3144,

email: [email protected]

Labor: 5.04.041

Labormanager: Michael Kosub

email: [email protected]

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 2

30.11.2017 U. Schaarschmidt HS-D 3

Übersicht

Vorlesungen: 2-stündig,Einführung in die Hardware und Bestandteile von

Rechnern,

Einführung in die Organisation von Rechnersystemen,

Prüfungs-Vorleistung (PV): Alle Praktika bei Herrn Scheubel müssen abgezeichnet sein (eigene Übung – nicht kopiert! ->Autogramm / Stempel).

Ziel ist: Wir hoffen, dass Sie

es bald besser wissen

30.11.2017 U. Schaarschmidt HS-D 4

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 3

30.11.2017 U. Schaarschmidt HS-D 5

Weitere Ziele: Die CPU / MPU

ist nicht alleine im System …

Kennenlernen verschiedener Architekturmerkmale von Prozessoren, Halbleiterspeicher, Ein-/ Ausgabe, Bussystem, Plattenspeicher, Interrupt, (z.T. am Pentium /PC),

Worauf kommt es bei der Konfiguration und Funktion von Rechnern an?

Kennenlernen der wesentlichen Merkmale von Firmware (Monitor, BIOS) und Betriebssystem,

Eigene Fachprüfung (PV=alle Übungen erfolgreich absolviert).

30.11.2017 U. Schaarschmidt HS-D 6

Überblick I

Aufbau von Prozessoren,

Von Neumann, Harvard, CISC, RISC, Pipelines,

superskalare Architektur, Cache (auch getrennt für

Daten und Befehle), dynamische Sprungvorhersage,

wie macht man ihn schneller? Verschiedene Modi eines

Prozessors (Real, Protected, System-Management),

Adressberechnung, Register, Segmentregister

Darstellung alphanumerischer Daten

ASCII, BCD, Unicode

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 4

30.11.2017 U. Schaarschmidt HS-D 7

Überblick II

Rechnerarithmetik

Darstellung von Daten im Rechner

Darstellung und Rechnen von ganzen Zahlen,

Darstellung von Gleitkommazahlen,

Multiplikation

30.11.2017 U. Schaarschmidt HS-D 8

Überblick III

Einprogramm- / Mehrprogrammbetrieb

Timesharing, Realzeit,

Betriebssysteme

Monitor für direkt ablaufende Programme,

Zeilenorientierte Dialogsysteme,

Grafische Dialogsysteme,

Prozessdatenverarbeitungssysteme.

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 5

Computer - Irrtümer

"Ich denke, dass es weltweit einen Markt

für vielleicht fünf Computer gibt”.

Das prognostizierte Thomas Watson, Chairman

von IBM, im Kriegsjahr 1943. Er war einer der

reichsten Männer seiner Zeit und gründete den

Weltkonzern IBM. Und dann war es ausgerechnet

IBM, das dem PC, wie wir ihn heute kennen, zum

Durchbruch verhalf und ihn zum Massenprodukt

machte.

30.11.2017 U. Schaarschmidt HS-D 9

Computer - Irrtümer

"Es gibt keinen Grund, warum jeder

einen Computer zu Hause haben sollte”

behauptete Ken Olsen, Gründer von Digital

Equipment Corp. im Jahr 1977. Die Vorstellung

eines Home-PC wurde damals von vielen IT-

Experten als absurd empfunden. Was sollte ein

Privatmensch damit anfangen? Naja, so ganz

Unrecht hat Olsen ja nicht einmal, mitunter reicht

ja auch ein Tablet.

30.11.2017 U. Schaarschmidt HS-D 10

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 6

Computer - Irrtümer

640 KB sollten genug für jedermann sein.

Bill Gates, 1981

Ich habe die Länge und Breite dieses Landes

bereist und mit den besten Leuten geredet, und

ich kann Ihnen versichern, dass

Datenverarbeitung ein Tick ist, welcher dieses

Jahr nicht überleben wird.

Der Chef des US-Verlages Prentice Hall, 1957

30.11.2017 U. Schaarschmidt HS-D 11

Rechnergenerationen im

Überblick I

In den meisten Darstellungen, in denen man den Versuch

unternimmt, Rechner in Kategorien zu klassifizieren, wird von vier

bis sechs Rechnergenerationen gesprochen. Nach dieser

Differenzierung lässt sich eine generelle Unterteilung in folgende

Rechnergenerationen vornehmen:

Bis Ende der 50er Jahre : Röhrenrechner, Relaisrechner

Bis Mitte der 60er Jahre : Entwicklung von Transistoren, Ferritkern-

Speicher, erste Massenspeicher

Ab Mitte der 60er Jahre bis 70er Jahre : Rechnerfamilien und erste

Betriebssysteme

Ab den 70er Jahren : Mikroprozessoren und PCs, hochintegrierte

Schaltkreise

Ab den 80er Jahren : Netzwerke, Parallelrechner, Dezentralisierung

der EDV, Arbeitsplatzrechner

30.11.2017 U. Schaarschmidt HS-D 12

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 7

Rechnergenerationen im

Überblick II

Ab den 90er Jahren : Mobiles Rechnen, Photonik

Für die vorliegende Arbeit wird jedoch in sieben Rechnergenera-

tionen differenziert. Diese detailliertere Unterscheidung ist

notwendig, da die vorliegenden Differenzierungen zwar zu Beginn

der Computergeschichte gute Trennschichten zwischen den

einzelnen Epochen ziehen können, durch die exponentielle

Entwicklung im Computerbereich aber eine Klassifizierung „ab den

90er Jahren“ nicht zweckgemäß ist. Entsprechend wurde eine neue

Klassifizierung eingeführt, um der schnellen Entwicklung und den

neuen Trends gerecht zu werden. Zudem wurde die erste

Rechnergeneration in eine Epoche der Forschung und eine Epoche

der Kommerzialisierung unterteilt, weiterhin die Entwicklung des PCs

in die 80er Jahre übernommen, da erst mit dem IBM PC eine weite

Verbreitung der Arbeitsplatzrechner stattfand.

30.11.2017 U. Schaarschmidt HS-D 13

30.11.2017 U. Schaarschmidt HS-D 14

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 8

30.11.2017 U. Schaarschmidt HS-D 15

Das Computerspektrum

Typ Preis ($) Anwendung

Wegwerfcomputer 0,2 - 1 Glückwunschkarten

Eingebettete Computer 0,5 - 10 Uhren, Automotive, Küchengeräte

Spielecomputer 100 - 400 Heimvideospiele, Playstations

Personalcomputer 300 – 1500 Notebooks, Desktops, PCs

Server 500 – 5000 Netzwerkserver,

Rechenzentrumsserver

Sammlung von

Workstations

50.000 Abteilungsrechnerpools

Grossrechner

(Mainframe)

1 Mio Banken, Versicherungen

Supercomputer 10 Mio Wettervorhersage, Simulation

30.11.2017 U. Schaarschmidt HS-D 16

Was gehört dazu?

[Computer Reseller

News – CRN 23

03.06.2004]

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 9

30.11.2017 U. Schaarschmidt HS-D 17

Workstation,

Rechnerarbeitsplatz

30.11.2017 U. Schaarschmidt HS-D 18

Rechner, Computer

Bestandteile (Makrosicht)Prozessor, CPU (z.B. Intel Pentium, Motorola 68xxx,

Sun Sparc x, P60x, Intel Atom, Intel diverse),

Halbleiterspeicher (diverse Arten und Bauformen): RAM (Random Access Memory), ROM (Read OnlyMemory), EPROM (Erasable Programmable ROM),

Ein-/Ausgabe: Serielle Schnittstelle (V.24, RS232, USB), Parallelschnittstelle (Drucker), IEC-Bus, Tastatur, Bildschirm, Maus, LAN, WLAN,

Langzeitspeicher: Fest- / Wechselplatte, Diskette (versch. Formate), Tape (Streamer),CD-Rom, DVD.

Bussysteme: Adress-, Daten-, E-/A-, Steuer-Bus.

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 10

30.11.2017 U. Schaarschmidt HS-D 19

Anzahl der Transistoren bei

Prozessor-Familien explodiert

Entwicklung der Transistoranzahl bei Mikroprozessoren

Prozessortyp Anzahl Transistoren Jahr Hersteller

TMS1000 8000 1971Texas Instruments

Intel 4004 2300 1971Intel

Intel 8008 3500 1972Intel

Intel 8080 4500 1974Intel

6502 5000 1975MOS Technology

TMS9900 8000 1976Texas Instruments

Z80 8500 1976Zilog

Intel 8086 29.000 1978Intel

Intel 8088 29.000 1979Intel

Motorola 68000 68.000 1979Motorola

Intel 80286 134.000 1982Intel

Intel 80386 275.000 1985Intel

Intel 80486 1.200.000 1989Intel

30.11.2017 U. Schaarschmidt HS-D 20

Anzahl der Transistoren bei

Prozessor-Familien explodiert

Pentium II 7.500.000 1997 Intel

AMD K7 22.000.000 1999 AMD

Itanium 25.000.000 2001 Intel

Intel

Pentium M77.000.000 2003 Intel

Intel

Itanium 2220.000.000 2003 Intel

AMD K8 105.900.000 2003 AMD

Pentium 4 42.000.000 2000 Intel

Barton 54.300.000 2003 AMD

Pentium III 9.500.000 1999 Intel

AMD K6-III 21.300.000 1999 AMD

AMD K5 4.300.000 1996 AMD

AMD K6 8.800.000 1997 AMD

Pentium 3.100.000 1993 Intel

Motorola

680602.500.000 1994 Motorola

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 11

30.11.2017 U. Schaarschmidt HS-D 21

Anzahl der Transistoren bei

Prozessor-Familien explodiert

Itanium 2

(9 MB

Cache)

592.000.000 2004 Intel

Cell 241.000.000 2006 Sony/IBM/Toshiba

Core 2 Quad 582.000.000 2006 Intel

Dual-Core

Itanium 21.700.000.000 2006 Intel

Power6 789.000.000 2007 IBM

AMD K10 758.000.000 2009 AMD

Intel Core i7

3930K2.270.000.000 2011 Intel

Intel Core i7

4770K1.400.000.000 2013 Intel

AMD Kaveri 2.410.000.000 2014 AMD

E5-2699 v3 5.570.000.000 2014 Intel

AMD

Bulldozer1.200.000.000 2011 AMD

Core i7 731.000.000 2008 Intel

Intel Core i7

2600K995.000.000 2010 Intel

Core 2 Duo 291.000.000 2006 Intel

Von Neumann Rechner

Organisation: Speicher, Leitwerk,

Rechenwerk, Ein-/Ausgabewerk;

Programmsteuerung: Beim

Universalrechner unabhängig vom

bearbeiteten Problem; -

Beim Embedded System (dezidierter

Rechner) abhängig vom Einsatz

(Herzschrittmacher, Motormanagement,

Küchengerät)30.11.2017 U. Schaarschmidt HS-D 22

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 12

Von Neumann Rechner II

Programm und Daten befinden sich im selben

Speicher (bis auf den Urlader / BIOS);

Speicherorganisation mit gleichartigen Zellen

(Byte, Wort, Doppelwort) mit (am liebsten)

fortlaufender Adressierung;

Sequentielle Abarbeitung des Programmes;

Veränderung der Programmreihenfolge durch un-

/-bedingte Vor-/ Rücksprünge;

Binäres Datenformat (bedarf der Interpretation);

30.11.2017 U. Schaarschmidt HS-D 23

30.11.2017 U. Schaarschmidt HS-D 24

Date

nw

eg v

on N

eum

ann

-Maschin

e

Innerh

alb

des P

rozessors

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 13

30.11.2017 U. Schaarschmidt HS-D 25

Bussystem beim

„von Neumann“ - Rechner

Abstraktionsebenen eines

Computersystems

Abstrakte Problemebene (Datenbankabfrage etc.)

Problemorientierte Ebene (höhere

Programmiersprachen, C, C++, Java,…),

Assemblerebene,

Betriebssystemebene,

Instruction Set Architecture (ISA),

Mikroarchitektur,

Digitale Ebene (Gatter, Funktionen),

30.11.2017 U. Schaarschmidt HS-D 26

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 14

Abstraktionsebenen eines

Computersystems (II)

30.11.2017 U. Schaarschmidt HS-D 27

Tanenbaum, 2006]

30.11.2017 U. Schaarschmidt HS-D 28

Wie läuft das so mit den

Programmen und der CPU?

Beispiel mit einem einfachen Ladebefehl (das zeitliche Verhalten eines realen Systems muss den Datenbüchern entnommen werden).

Der Akku unseres Beispielprozessors soll mit einem Datum (1 Byte) geladen werden, dessen Adresse (hexadezimal, da für Menschen einfacher lesbar und verständlicher als dual) direkt hinter dem Befehlscode im Speicher steht.

0404h LDA (0x0A30)(hex)

Hierbei wird nur ein „Kopie“ des Speicherinhalts geholt also zerstörungsfrei (Befehl und Datum)!

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 15

30.11.2017 U. Schaarschmidt HS-D 29

Speicherabbild von

Programm und Datenbereich

30.11.2017 U. Schaarschmidt HS-D 30

Befehlsablauf im Prozessor

Pro

gra

mm

hle

r a

n S

pe

iche

r

zu

m A

dre

ssie

ren

au

sge

be

n

0x0404h

0000 0100 0000 0100b

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 16

30.11.2017 U. Schaarschmidt HS-D 31

Sicht auf einen „einfachen“

8-bit-Prozessorchip00000100 0

0000100

Wird über den Adressbus eine

Speicherzelle adressiert, so

ergibt sich die Adresse aus den

quergelesenen binären Zuständen

der Adressleitungen.

30.11.2017 U. Schaarschmidt HS-D 32

Adresse an den Speicher

anlegen

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 17

30.11.2017 U. Schaarschmidt HS-D 33

Derweil Inkrementieren

des Programmzählers

30.11.2017 U. Schaarschmidt HS-D 34

Befehl aus Speicher zum

Prozessor „liefern“

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 18

30.11.2017 U. Schaarschmidt HS-D 35

Sicht auf den „einfachen“

Prozessorchip beim Empfang

Erstes Befehlswort wird

als Opcode „angeliefert“

30.11.2017 U. Schaarschmidt HS-D 36

Sind Opcode und Daten

unterscheidbar?

Wenn ein Beobachter unvoreingenommen in den Speicher schaut, kann er nicht unterscheiden, ob die dort sichtbaren Bitkombinationen ein Datum, ein Teil eines Datums oder ein Teil eines Befehls darstellen. D.h., dass der Prozessor an einer definierten Stelle (z.B. an Adresse 0x0000) im Speicher seinen ersten zu verarbeitenden Befehl erwartet und die dort gefundene Bitkombination als Befehl verarbeitet. Jeder Opcode beinhaltet kodiert seine Länge einschließlich der zugehörigen Anzahl von Bytes der Adressen oder Daten.

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 19

30.11.2017 U. Schaarschmidt HS-D 37

Schubladenmodell eines

Speicherabschnittes

Speichergröße hier

64kB = 65535 = 0xFFFF

30.11.2017 U. Schaarschmidt HS-D 38

Byteorientierung des

Speichers

Aus Sicht der CPU (und des Program-

mierers) ist der Speicher fast immer

byteorientiert. D.h., dass man minimal auf

einzelne Bytes im Speicher zugreifen kann.

Bei modernen Prozessoren aber auch auf

geradezahlige Vielfache eines Bytes (Worte

zu 2, 4, 8, 16 Bytes). Im Embedded-Bereich

gibt es auch Bitzugriffe.

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 20

30.11.2017 U. Schaarschmidt HS-D 39

Befehl kommt vom Speicher

in das Instruktionsregister

30.11.2017 U. Schaarschmidt HS-D 40

Dekodieren / Interpretieren

des Befehls Ausführung

Beim Dekodieren des Befehls-Opcodes im

Decoder wird festgestellt, dass die Adresse des

Datums, welches verarbeitet (in diesem Fall in

den Akku geladen) werden soll, dem

Befehlscode im Speicher direkt folgt. Die

Adresse wird Byte für Byte aus dem Speicher

geholt und in das Adressregister gegeben. Von

dort aus wird die Adresse auf den Adressbus

gelegt und das Datenbyte über den Datenbus in

den Akku geladen.

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 21

30.11.2017 U. Schaarschmidt HS-D 41

Erstes Adressbyte (Highbyte)

aus dem Speicher holen

30.11.2017 U. Schaarschmidt HS-D 42

Zweites Adressbyte (Lowbyte)

aus dem Speicher holen

ArcOrg und MCU 30.11.2017

HS Düsseldorf (c) U.Schaarschmidt 22

30.11.2017 U. Schaarschmidt HS-D 43

Nun kommt endlich das

Datum zur Verarbeitung

30.11.2017 U. Schaarschmidt HS-D 44

Typische Befehlsarten

Einfache logische und arithmetische Verknüpfungsbefehle,

Datentransport- und Speicherbefehle (RAM & Register),

Sprungbefehle, UP-Aufruf, Verzweigungen,

Ein-/Ausgabebefehle (Peripheriebausteine),

Schiebe- und Rotationsbefehle,

Zeichenketten- und Blockbefehle,

Systembefehle, Exception (Softwareinterrupt)