Im Inneren der CPU

[figure: CPU; Rechen-; werk; Steuer-; werk; Cache; Daten-; bus; ALU; Steuerbus; Akku; R1; Rn; PC; S1; Sn; SP; Adreß-; bus; Opcode; Operand; IR; nächste; Zustands-; Logik; Zustands-; identifik.-; Logik; Decoder; SR; Steuersignale]

Abbildung 1.5: CPU

Programmausführung:

PC := StartingAddress;
RunBit := 1;

while RunBit = 1 do begin

IR := memory(PC);   PC := PC + \underbrace{Befehlslänge(IR)}_{häufig=1, fest};
InstrType := DetermineInstrType(IR) ;
DataAddress := LocateData(IR,InstrType,PC);
if DataAddress <> nil then
  data := memory(DataAddress);

else

  data := non valid;
Execute(IR,InstrType,data,memory,registers,PC,RunBit);

end;

Ein von-Neumann-Rechner ist durch folgende Merkmale gekennzeichnet (zu 6.-8. vgl. auch Kapitel 1.2):

Prinzipien:

1. Computerbestandteile: CPU (= Rechenwerk und Steuerwerk), Speicher, Ein- und Ausgabewerk.

2. Universalität: Spezialisierung nur durch von außen eingegebenes Programm.

3. Programme als Daten: Eingabedaten, Zwischen- und Endergebnisse sowie Programme werden im selben Speicher abgelegt.

4. Linearer Speicher: Der Speicher ist in gleichgroße Zellen, die fortlaufend numeriert sind, eingeteilt.

5. Sequentielle Ausführung: Aufeinanderfolgende Befehle eines Programms werden in aufeinanderfolgenden Speicherzellen abgelegt. Beim Programmablauf wird im allgemeinen der Befehlszähler fortlaufend inkrementiert.

6. Sprünge: Sprungbefehle ermöglichen ein Durchbrechen der linearen Ausführungsreihenfolge.

7. Zusätzliche Primitiva: Arithmetische Operationen, logische und Vergleichsoperationen, Graphik-/Multimediabefehle; indizierte, relative, … Adressierung.

8. Binäre Codierung: Daten (Befehle, Adressen, Operanden) werden binär codiert. Geeignete Schaltwerke (Decodierer) sorgen für die richtige Entschlüsselung.

Steuerwerk

Opcode Operand IR Decoder Steuersignale PC Computer im Computer: μP-Speicher

μP-IR für Microcodeoperationen(ALU)

Bedingungsgatter (Status)

Abbildung 1.6: CISC = Microprogrammierte CPU Das Konzept des Zusammenbaus komplexer Aufgaben aus einer Sequenz primitiver Aktionen war so erfolgreich, daß in Zeiten, als die Datentransferzeit zwischen Speicher und CPU im Vergleich zur Ausführungszeit eines Primitivbefehls sehr groß war (vor ∼ 1970), das Rechenwerk wiederum als (Mikro-)Computer aufgebaut wurde: Die Software reduziert den Schaltungsaufwand (=Anzahl der Gatter, Anzahl der Leitungen, …) und ”interpretiert“ den Maschinencode der CPU (Computer im Computer). Heute wird für leistungsfähige PC’s und Workstations das Rechenwerk wieder direkt in Hardware aufgebaut:

[figure] μProgramm-Adreß-Logik

μP-PC

Ausführungseinheit

RISC (= reduced instruction set computer)-Designprinzip :

• Analysiere Anwendungen, um die Schlüsseloperationen zu finden.

• Reduziere unter allen Umständen die ”Datenpfadzykluszeit“ (Register → ALU → Register) für diese Operationen, also: keine Microcode-Interpretation (Maschinencode=Microcode).

• Jedes ”neue“ Feature ist nur zuzulassen, wenn es häufig benutzt wird und die Mehrzahl der existierenden anderen Feature nicht verlangsamt.

(Wiederhole diesen Design-Zyklus für die anderen CPU-Ressourcen: Cache, Speichermanagement, Gleitkomma-Koprozessoren, …)

Tabelle 1.2: Merkmale der 1. bis 3. Computergeneration

1. Generation ab 1951 2. Generation ab 1960 3. Generation ab 1965

Basiselement Elektronenröhre Flächentransistor

integrierter Schaltkreis

Arbeitsspeicher Magnettrommel-, Umlaufspeicher Ferritkernspeicher Mikroferritkernspeicher

Externe Speicher keine Magnetbandspeicher, -trommelspeicher Magnetband-, Wechselplattenspeicher

Ein- und Ausgabegeräte Lochkarten- , Lochstreifengeräte, elektrische Schreibmaschine wie 1. Generation sowie Walzendrucker wie 2. Generation sowie Bildschirmgeräte, Datenfernübertragungsgeräte

Programmie- rung Maschinencode, Assemblersprache Assemblersprache, erste problemorientierte Sprachen, einfache Betriebssysteme Assemblersprache, universelle Sprachen, komplexe Betriebssysteme

Einsatz als wissenschaftlichtechnische Rechner wissenschaftlich-tech-nische, kommerzielle und Prozeßrechner universelle und Prozeßrechner, Einbaurechner

Quelle: D.Werner (Hrsg.): Taschenbuch der Informatik; Fachbuchverlag Leipzig, 1995

Merkmale der 4. Generation (heute):

• VLSI-Schaltkreise

• in wenigen Jahren sich verdoppelnde Rechengeschwindigkeiten, Speichergrößen, Übertragungsgeschwindigkeiten (→ in 4 Jahren ist ein Computersystem ”total“ veraltet)

• Software-Entwicklungskosten höher als Hardwarekosten; wegen der schnellen Hardware-Innovationszyklen sind meist ”nur“ noch portable Software-Produkte schnell genug verfügbar (UNIX, TEX, …)

• GUI’s = graphical user interfaces

• Computer werden immer mehr zu IT-Geräten (Datennetzwerke)

• Laserdrucker, fotorealistischer Druck, Scanner mit 24Bit Farbtiefe

5. Generation: Für nach 2000 angestrebte Merkmale:

• natürlichsprachiger Umgang mit Computern

– Handschrift

– Sprache

• Multimedia, Telekonferenzen, Unterhaltung, Teleshoping, T-online, WWW, Heimarbeitsplätze, Fernkurse

• Methoden der Künstlichen Intelligenz (KI)

– Zeichen-, Bild-, Sprach-, Schrift-, Bewegungserkennung

– simultane automatische Sprachübersetzung

– Wissensverarbeitung (automatische Krankheitsdiagnose, …)

– Nutzeridentifizierung durch Iris-Mustererkennung ...

1.2 Datenformate, Maschinenbefehle und Adressierungsarten

1.2.1 Schrift / Zeichen

1.2.1.1 Zeichensätze Der ASCII-Code (American Standard Code for Information Interchange) ist auch heute noch Grundlage vieler Zeichencodes:

00  NUL  01  SOH  02  STX  03  ETX  04  EOT  05  ENQ  06  ACK  07  BEL
08  BS  09  HT  0A  NL  0B  VT  0C  NP  0D  CR  0E  SO  0F  SI
10  DLE  11  DC1  12  DC2  13  DC3  14  DC4  15  NAK  16  SYN  17  ETB
18  CAN  19  EM  1A  SUB  1B  ESC  1C  FS  1D  GS  1E  RS  1F  US
20  SP  21   !   22   "   23   #   24   $   25   %   26   &   27   ´
28   (   29   )   2A   *   2B   +   2C   ,   2D   -   2E   .   2F   /
30   0   31   1   32   2   33   3   34   4   35   5   36   6   37   7
38   8   39   9   3A   :   3B   ;   3C   <   3D   =   3E   >   3F   ?
40   @   41   A   42   B   43   C   44   D   45   E   46   F   47   G
48   H   49   I   4A   J   4B   K   4C   L   4D   M   4E   N   4F   O
50   P   51   Q   52   R   53   S   54   T   55   U   56   V   57   W
58   X   59   Y   5A   Z   5B   [   5C \ 5D   ]   5E   ^5F
60   ` 61   a   62   b   63   c   64   d   65   e   66   f   67   g
68   h   69   i   6A   j   6B   k   6C   l   6D   m   6E   n   6F   o
70   p   71   q   72   r   73   s   74   t   75   u   76   v   77   w
78   x   79   y   7A   z   7B { 7C | 7D } 7E   ~   7F  DEL

Tabelle 1.3: ASCII-Code

ISO  Dezimalform
Nr. Zeichensatz  ID 35 36 64 91 92 93 94 96 123 124 125 126
6  ANSI ASCII  0U # $ @ [ \ ] ˆ  `  {  |  } ˜
11 Schweden: Namen 0S #  É Ä Ö Å Ü `  ä ö å ü
10 Schweden  3S #  @ Ä Ö Å ˆ  `  ä ö å
17 Spanien  2S £ $ § ¡ Ñ ¿ ˆ  `  ∘  ñ ç  ˜
69 Frankreich  1F £ $ à ∘ ç § ˆ μ é ù è
21 Deutschland  1G # $ § Ä Ö Ü ˆ  `  ä ö ü ß
4  Großbritannien  1E £ $ @ [ \ ] ˆ  `  {  |  }
16 Portugal  4S # $ § Ã Ç Õ ˆ  `  ã  ç  õ  ∘
60 Norwegen 1  0D # $ @ Æ Ø Å ˆ  `  æ ø å
61 Norwegen 2  1D § $ @ Æ Ø Å ˆ  `  æ ø å  |
2  IRV  #  @ [ \ ] ˆ  `  {  |  }
15 Italien  0I £ $ § ∘ ç é ˆ  `  à ò  è  ì

Tabelle 1.4: ISO-Austauschtabelle

Da sieben Bit, also 128 Zeichen nicht für landesspezifische Sonderzeichen ausreichten, entstanden die landesspezifischen Varianten durch Zeichenersetzung (vgl. Tabelle 1.4). Alternativ wurden acht Bit (256 Zeichen) für landesspezifische Sonderzeichen, mathematische Symbole, graphische Symbole zum Tabellendruck bzw. für Sonderzwecke (Spiele, ...) besetzt, etwa im Industriestandard PC-8 Zeichensatz (Tabelle 1.5)^{1}. In Windows 3.x wurden jedoch leider andere Codierungen genutzt (Tabelle 1.6). Der inzwischen verabschiedete Standard der International Standardization Organisation (ISO), der ISO-8859 Latin 1(ECMA-94 Latin 1) Zeichensatz (Tabelle 1.7) setzte sich insbesondere bei Workstations und neueren Hard- und Softwareprodukten durch. Neben der Latin-1 Version existieren auch noch einige andere nationale Sonderformen des ISO 8859 Codes (vgl. Tabelle 1.8).

1In dieser – wie auch in einigen der folgenden Tabellen – sind leere Codestellen entweder unbesetzt oder wegen Problemen beim Satz der entsprechenden Zeichen in diesem Skript freigelassen worden.

0 @ P ‘ p Ç É á  α ≡
0  16  32  48  64  80  96  112  128  144  160  176  192  208  224  240
! 1 A Q a q ü æ í  ß ±
1  17  33  49  65  81  97  113  129  145  161  177  193  209  225  241
↕ ” 2 B R b r é Æ ó  ⊤  Γ ≥
2  18  34  50  66  81  98  114  130  146  162  178  194  210  226  242
!! # 3 C S c s â ô ú | ⊢  π ≤
3  19  35  51  67  82  99  115  131  147  163  179  195  211  227  243
¶ $ 4 D T d t ä ö ñ ⊣  ∑
4  20  36  52  68  83  100  116  132  148  164  180  196  212  228  244
♣ § % 5 E U e u à ò Ñ  σ
5  21  37  53  69  84  101  117  133  149  165  181  197  213  229  245
♠  & 6 F V f v å û a  μ ÷
6  22  38  54  70  85  102  118  134  150  166  182  198  214  230  246
’ 7 G W g w ç ù o  τ ≈
7  23  39  55  71  86  103  119  135  151  167  183  199  215  231  247
↑ ( 8 H X h x ê ÿ ¿  Φ ∘
8  24  40  56  72  87  104  120  136  152  168  184  200  216  232  248
◯ ↓ ) 9 I Y i y ë Ö  Θ ·
9  25  41  57  73  88  105  121  137  153  169  185  201  217  233  249
→ * : J Z j z è Ü ¬ ∥  Ω ·
10  26  42  58  74  89  106  122  138  154  170  186  202  218  234  250
← + ; K [ k { ï ç  δ √
11  27  43  59  75  90  107  123  139  155  171  187  203  219  235  251
, < L \ l | î £  ∞ n
12  28  44  60  76  91  108  124  140  156  172  188  204  220  236  252
↔ - = M ] m } ì  ¡  ϕ 2
13  29  45  61  77  92  109  125  141  157  173  189  205  221  237  253
. > N ˆ n ˜  Ä Pt ≪  ϵ
14  30  46  62  78  93  110  126  142  158  174  190  206  222  238  254
/ ? O  o  Å f ≫  ∩
15  31  47  63  79  94  111  127  143  159  175  191  207  223  239  255

Tabelle 1.5: PC-8 Zeichensatz

NUL  0 @ P ` p  ∘ À  à
0  16  32  48  64  80  96  112  128  144  160  176  192  208  224  240
! 1 A Q a q  ‘ ¡ ± Á Ñ á ñ
1  17  33  49  65  81  97  113  129  145  161  177  193  209  225  241
” 2 B R b r  ’ ç 2 Â Ò â ò
2  18  34  50  66  81  98  114  130  146  162  178  194  210  226  242
# 3 C S c s  £ 3 Ã Ó ã ó
3  19  35  51  67  82  99  115  131  147  163  179  195  211  227  243
$ 4 D T d t  ´  Ä Ô ä ô
4  20  36  52  68  83  100  116  132  148  164  180  196  212  228  244
% 5 E U e u  μ Å Õ å õ
5  21  37  53  69  84  101  117  133  149  165  181  197  213  229  245
& 6 F V f v  | ¶ Æ Ö æ ö
6  22  38  54  70  85  102  118  134  150  166  182  198  214  230  246
BEL       ′ 7 G W g w  § · Ç × ç ÷
7  23  39  55  71  86  103  119  135  151  167  183  199  215  231  247
BS  ( 8 H X h x  ¨  È Ø è ø
8  24  40  56  72  87  104  120  136  152  168  184  200  216  232  248
HT  ) 9 I Y i y  \begin{matrix}c \\ ◯ \end{matrix} 1 É Ù é ù
9  25  41  57  73  88  105  121  137  153  169  185  201  217  233  249
LF  * : J Z j z  a  o Ê Ú ê ú
10  26  42  58  74  89  106  122  138  154  170  186  202  218  234  250
VT  ESC + ; K [ k {  ≪  ≫ Ë Û ë û
11  27  43  59  75  90  107  123  139  155  171  187  203  219  235  251
FF  , < L \ l |  ¬ \frac{1}{4} Ì Ü ì ü
12  28  44  60  76  91  108  124  140  156  172  188  204  220  236  252
CR  - = M ] m \}  - \frac{1}{2} Í Ý í ý
13  29  45  61  77  92  109  125  141  157  173  189  205  221  237  253
SO  . > N ˆ n ˜  \frac{3}{4} Î  î
14  30  46  62  78  93  110  126  142  158  174  190  206  222  238  254
SI  / ? O  o  − ¿ Ï ß ï ÿ
15  31  47  63  79  94  111  127  143  159  175  191  207  223  239  255

Tabelle 1.6: Zeichensatz für Windows 3.x

0 @ P ‘ p  ∘ À  à
0  16  32  48  64  80  96  112  128  144  160  176  192  208  224  240
! 1 A Q a q  ¡ ± Á Ñ á ñ
1  17  33  49  65  81  97  113  129  145  161  177  193  209  225  241
” 2 B R b r  2 Â Ò â ò
2  18  34  50  66  81  98  114  130  146  162  178  194  210  226  242
# 3 C S c s  £ 3 Ã Ó ã ó
3  19  35  51  67  82  99  115  131  147  163  179  195  211  227  243
$ 4 D T d t  ´  Ä Ô ä ô
4  20  36  52  68  83  100  116  132  148  164  180  196  212  228  244
% 5 E U e u  μ Å Õ å õ
5  21  37  53  69  84  101  117  133  149  165  181  197  213  229  245
& 6 F V f v  | ¶ Æ Ö æ ö
6  22  38  54  70  85  102  118  134  150  166  182  198  214  230  246
′ 7 G W g w  § · Ç × ç ÷
7  23  39  55  71  86  103  119  135  151  167  183  199  215  231  247
( 8 H X h x  ¨  È Ø è ø
8  24  40  56  72  87  104  120  136  152  168  184  200  216  232  248
) 9 I Y i y  \begin{matrix}c \\ ◯ \end{matrix} 1 É Ù é ù
9  25  41  57  73  88  105  121  137  153  169  185  201  217  233  249
* : J Z j z  a  o Ê Ú ê ú
10  26  42  58  74  89  106  122  138  154  170  186  202  218  234  250
+ ; K [ k {  ≪  ≫ Ë Û ë û
11  27  43  59  75  90  107  123  139  155  171  187  203  219  235  251
, < L \ l |  ¬ \frac{1}{4} Ì Ü ì ü
12  28  44  60  76  91  108  124  140  156  172  188  204  220  236  252
- = M ] m \}  - \frac{1}{2} Í Ý í ý
13  29  45  61  77  92  109  125  141  157  173  189  205  221  237  253
. > N ˆ n ˜  \frac{3}{4} Î  î
14  30  46  62  78  93  110  126  142  158  174  190  206  222  238  254
/ ? O  o  − ¿ Ï ß ï ÿ
15  31  47  63  79  94  111  127  143  159  175  191  207  223  239  255

Tabelle 1.7: ISO-8859 Latin 1(ECMA-94 Latin 1) Zeichensatz

Code Set Name Coverage  Approved
8859-1  Latin-1 western Europe  15 February 1987
8859-2  Latin-2 eastern Europe  15 February 1987
8859-3  Latin-3 Maltese, Catalan, Galician, Esperanto 15 April 1988
8859-4  Latin-4 Baltic and Nordic region  15 April 1988
8859-5  Cyrillic Slavic countries  1 December 1988
8859-6  Arabic Arab countries  15 August 1987
8859-7  Greek Greece  15 November 1987
8859-8  Hebrew Israel  1 June 1988
8859-9  Latin-5 8859-1 minus Iceland plus Turkey  15 May 1989

Tabelle 1.8: nationale ISO8859-Varianten

Da die Tastaturen der Bildschirmarbeitsplätze nicht für alle möglichen Zeichen eigene Tasten besitzen (Abbildung 1.7), wird es ermöglicht, durch sogenannte Compose-Tastensequenzen die fehlenden Zeichen zu erzeugen (Tabelle 1.9). Auf

Num^{Lock}^{End}  ^{Del}^{PgDn}^{Home}  ^{Enter}^{Vol-}^{Mute}^{Ins}  ^{PgUp}^{9}^{Vol+} ^{Off}^{0}  ^{.}^{1}^{4}^{7}  ^{2}  ^{3}^{6}^{8}^{5}  ^{-}^{+}^{/}  ^{*}^{Insert}^{Home} ^{Page}^{Up}^{Page}^{Down}^{End}^{Del}^{Print}^{Screen} ^{Scroll}^{Lock} ^{Pause}^{Caps Lock}^{Help} ^{Copy}^{Props} ^{Again}^{Front} ^{Paste}^{Cut}^{Find}^{Open}^{Stop} ^{Undo}  ^{Esc}  ^{F8}  ^{Space}^{Graph}^{Alt-}^{F4}^{F3}^{F2}^{F1}  ^{F10}  ^{F12}^{F7}^{F6}^{F5}  ^{Shift}^{Return}^{Control}  ^{F9}  ^{F11}^{Tab}  ^{Com-}^{pose} ^{Back}^{Shift}  ^{Q}  ^{E}^{W}  ^{R}  ^{T}  ^{Y}  ^{U}  ^{I}  ^{O}  ^{P}^{A}  ^{S}  ^{D}  ^{F}  ^{G}  ^{H}  ^{J}  ^{K}  ^{L}^{Z}  ^{X}  ^{C}  ^{V}  ^{B}  ^{N}  ^{M}^{2}  ^{3}  ^{5}  ^{6}  ^{7}  ^{8}  ^{9}  ^{0}  ^{/}^{,}  ^{.}  ^{=}  ^{\}  ^{}^{` -}^{1}  ^{4}^{!}  ^{@}  ^{#}  ^{$}  ^{%}  ^{}^{ˆ  &}  ^{*}  ^{(}  ^{)}  ^{+}  ^{|}  ^{}^{˜ ;}  ^{}^{´ :}  ^{“}^{[}  ^{]}^{{}  ^{}}^{<}  ^{>}  ^{?}^{Alt} ♦  ♦

Abbildung 1.7: SunKeyBoard Type 5

PC’s existiert daneben noch die Möglichkeit durch gleichzeitiges Drücken der Modifikationstasten AltGraph, Shift, AltGraph+Shift eine Vierfachbelegung eini-

ger Tasten zu realisieren, etwa AltGraph+Q für @: Q @ Damit immer noch

nicht erreichbare Zeichen können durch ihre Dezimalcodes unter Benutzung der Alt-Taste erzeugt werden: <Alt><2><3><6> (die Alt-Taste muß dabei während der Zifferneingabe niedergedrückt bleiben und die Ziffern müssen im Zifferneingabeblock bei eingeschaltetem Num-Modus betätigt werden).

Zeichen Compose- Tastenfolge Zeichen

Compose- Tastenfolge

Á  A   '  Í  I   '
á  a   '  í  i   '
À  A   `  Î  I   ^
à  a   `  î  i   ^
Â  A   ^Ï  I   "
â  a   ^ï  i   "
Ã  A   ~  Ñ  N   ~
ã  a   ~  ñ  n   ~
Ä  A   "  Ò  O   `
ä  a   "  ò  o   `
Å  A   *  Ó  O   '
å  a   *  ó  o   '
Æ  A   E  Ô  O   ^
æ  a   e  ô  o   ^
Ç  C   ,  Õ  O   ~
ç  c   ,  õ  o   ~
         d   -  Ö  O   "
         D   -  ö  o   "
È  E   `  Ø  O   /
è  e   `                 ⋮  ø  o   /

Tabelle 1.9: Eingabe von Sonderzeichen / Tastaturen: Compose-Tastensequenzen 1.2.1.2 Zeichencodierung durch Zeichenfolgen

In Textverarbeitungssystemen werden Sonderzeichen häufig als internes Speicherformat in Zeichenfolgen codiert, z.B. in SGML, Tabelle 1.10.

á &aacute; Small a with acute accent
Á &Aacute; Capital A with acute accent
ă &abreve; Small a with breve accent
Ă &Abreve; Capital A with breve accent
â &acirc; Small a with circumflex accent
Â &Acirc; Capital A with circumflex accent
æ &aelig; Small ae diphtong (ligature)
Æ &AElig; Capital AE diphtong (ligature)
à &agrave; Small a with grave accent
À &Agrave; Capital A with grave accent
ā &amacr; Small a with macron accent
Ā &Amacr; Capital A with macron accent
å &aring; Small a with ring accent
Å &Aring; Capital A with ring accent
ã &atilde; Small a with tilde accent
Ã &Atilde; Capital A with tilde accent
ä &auml;  Small a with umlaut (diaeresis) accent
Ä &Auml;  Capital A with umlaut (diaeresis) accent
č &ccaron; Small c with caron accent
Č &Ccaron; Capital C with caron accent
⋮
\ &bsol;  Backslash (reverse solidus)
√ &radic; Radical sign
∐ &coprod; Coproduct (amalgamation) operator
∏ &prod;  Product operator
∫ &int;  Integral operator
∮ &coint; Integral operator with central o
∑ &sum;  Summation operator
∇ &nabla; Hamilton operator
⊔ &sqcup; Square union sign
⊓ &sqcap; Square intersection sign
⊑ &sqsube; Square subset of, or equal to, sign
⊒ &sqsupe; Square superset of, or equal to, sign
§ &sect;  Section sign
† &dag;  Dagger
‡ &Dag;  Double dagger
¶ &para;  Paragraph sign (pilcrow)

Tabelle 1.10: SGML = standard generalized Markup Language

HTML = hypertext markup language als ein spezieller SGML-Typ sieht etwa wie in Abbildung 1.8 gezeigt aus: