Post on 05-Jun-2018
transcript
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: Ulrich.Schaarschmidt@HS-Duesseldorf.de
Labor: 5.04.041
Labormanager: Michael Kosub
email: Michael.Kosub@fh-duesseldorf.de
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
zä
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)