Grundlagen der Rechnerarchitektur
Einführung
Unsere erste Amtshandlung:
Wir schrauben einen Rechner auf
Vorlesungsinhalte
• Binäre Arithmetik
• Assembler
• ISA‐Prinzipien
• Prozessor
• Speicher
• Ein‐Ausgabe
• Parallelität
Übersicht dieses Vorlesungsabschnitts
• Grundbegriffe
• Performance
• Meilensteine der Rechnerarchitektur
• Trends
Grundbegriffe
Rechnertypen
• Personal Mobile Device (PMD)
– Smartphone, Tablet‐Computer
– Schwerpunkte sind Energie‐Effizienz und Echtzeit
• Desktop‐Computing
– Schwerpunkt Preis‐Performance
• Server
– Schwerpunkt Verfügbarkeit, Skalierbarkeit, Durchsatz – Breite Spanne: bzgl. Kosten und Verfügbarkeit
•
Von: Low‐End Server (z.B. einfache File‐ oder Webserver)
•
Bis: Supercomputer mit zehntausenden CPUs und vielen Terabyte RAM
(Schwerpunkt: Floating‐Point‐Performance; schnelle interne Netze; abarbeiten von Batch‐Jobs)
• Cluster/Warehouse‐Scale‐Computer (Gigantische Datencenter, 100.000 von Servern)
– Große Anbieter verleihen Serverkapazität an Unternehmen – Infrastruktur für Cloud‐Computing
– Verwendung für “Software as a Service (SaaS)”
– Schwerpunkt Preis‐Performance
• Embedded‐Computer
– Größte Computer‐Klasse
– Schwerpunkt: Preis, Integrierbarkeit in Alltagsgegenstände
Standard‐Organisation eines Rechners
Bildquelle: David A. Patterson und John L. Hennessy. “Computer Organization And Design”.3rd Edition
Verarbeitet Daten
Speichert Daten Eingabe von Daten
Ausgabe von Daten
Computer‐Schichtenmodell
Geometrie Transistoren Logikschaltungen
Mikroarchitektur (Register‐Transfer Ebene) Instruktionssatz‐Architektur
Betriebssystem Assemblersprache
Höhere Programmiersprachen
Software
Hardware Grundlagen der Digitaltechnik
Grundlagen der Rechnerarchitektur
Bildquelle: Vorlesung „Grundlagen der Rechnernetze“, Prof. Platzner, (Version 10.09.10)
Grundbegriffe
Darstellen und Speichern von Daten
Binäre Zahlendarstellung
Darstellung einer Zahl zu einer beliebigen Basis b:
Dezimalwert dieser Zahl zur Basis b:
Binärzahlen‐Beispiel : 1101 two . Was ist der Dezimalwert?
Was ist die Binärzahl zu 11 ten ?
N‐Bit‐Binärzahlen
N‐Bit‐Binärzahlen, Beispiel 16‐Bit:
Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0
Least‐Significant‐Bit (LSB) und Most‐Significant‐Bit (MSB) Nibble (4‐Bit):
1010
Byte (8‐Bit):
1001 1000
Halfword (16‐Bit):
1111 1100 1001 1100 Word (32‐Bit):
0110 1101 0010 1010 1111 1100 1001 1100
Hexadezimaldarstellung
Hex Bin Hex Bin Hex Bin Hex Bin
0 0000 4 0100 8 1000 c 1100
1 0001 5 0101 9 1001 d 1101
2 0010 6 0110 a 1010 e 1110
3 0011 7 0111 b 1011 f 1111
1100 1001 0001 1111
Binär nach Hexadezimal
Hexadezimal nach Binär
AFFE hex
Physikalischer Speicher
Adresse Inhalt 0x00000000 : 10011001 0x00000001 : 01010111 0x00000002 : 00110011 0x00000003 : 10110100 0x00000004 : 10101111 0x00000005 : 10001000 0x00000006 : 11111000 0x00000007 : 10001101 ...
...
...
0xfffffffd : 10101111 0xfffffffe : 10111011 0xffffffff : 11111000
Wie viele Bytes können hier
insgesamt adressiert werden?
Speichergrößen
Bezeichnung Anzahl Bytes Gelegentlich für Sekundärspeicher Kilobyte (KB) 2
10Bytes
Megabyte (MB) 2
20Bytes 10
6Bytes Gigabyte (GB) 2
30Bytes 10
9Bytes Terabyte (TB) 2
40Bytes 10
12Bytes Petabyte (PB) 2
50Bytes 10
15Bytes Exabyte (EB) 2
60Bytes 10
18Bytes
Größenordnungen sind ab MB bis auf kleinen Fehler vergleichbar, z.B.:
Kilobyte versus Kibibyte
• Vorige Tabelle ist in Bezug auf Speicherkapazität korrekt
• Dummerweise gilt in der IT je nach Kontext mal
– KB = 2
10Byte, MB = 2
20Byte, GB = 2
30Byte, … oder
– KB = 10
3Byte, MB = 10
6Byte, GB = 10
9Byte, …
• D.h. einmal Verwendung als Binärpräfix (wie z.B. hier) oder Verwendung als sogenannte SI‐Einheit
• Aus diesem Grund hat die International Electrotechnical Commission (IEC)
schon vor vielen Jahren die weiteren Einheiten KiB, MiB, GiB, … eingeführt
• Diese finden immer mehr Verbreitung in der technischen Literatur
Bezeichnung Größenordnung KiB (kibibyte) 2
10Byte MiB (mebibyte) 2
20Byte GiB (gibibyte) 2
30Byte TiB (tebibyte) 2
40Byte
…
Sobald man diese speziellen
Binärpräfixe verwendet, macht es
natürlich Sinn die Größen KB, MB, GB,
TB, … als SI‐Einheiten zu verwenden,
d.h. in der Form 10
nmit n=3,6,9,12 …
Speichern von längeren Datenblöcken
• Beispiel: ein Word umfasst 4 Byte
• Wie legt man ein Word in den Speicher ab?
Word:
345455 543453 453543 22325 byte4 byte3 byte2 byte1
base+0 base+1 base+2 base+3 Little‐
Endian Big‐
Endian
ASCII‐Zeichen
Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012
Unicode
Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012