Computer-Systeme Teil 3: Das Boxmodell von Variablen Literatur
Transcription
Computer-Systeme Teil 3: Das Boxmodell von Variablen Literatur
Computer-Systeme Teil 3: Das Boxmodell von Variablen Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 26.10.2012 1 Literatur [3-1] Engelmann, Lutz (Hrsg.): Abitur Informatik – Basiswissen Schule. Duden-Verlag, 2003, S.21-24, 226-227, 235-238 [3-2] Hübscher, Heinrich et al.: IT-Handbuch, IT-Systemelektroniker/-in, Fachinformatiker/-in. Westermann, 2. Auflage, 2001, S.70, 88-89 [3-3] Kelch, Rainer: Rechnergrundlagen – Von der Binärlogik zum Schaltwerk. Fachbuchverlag Leipzig, 2003, S.37-65 [3-4] A.S. Tanenbaum, J. Goodman: Computerarchitektur. Prentice Hall, 2001, S.165-169, 173-187 [3-5] Plate, Jürgen: Einführung Datenverarbeitungssysteme. http://www.netzmafia.de/skripten/dvs/dvs7.html http://www.netzmafia.de/skripten/dvs/dvs3.html http://www.netzmafia.de/skripten/dvs/dvs4.html Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 2 1 Übersicht • • • • • • Variablen mit vielen Zuständen Informationsmenge Variablen als Boxen für Werte Typ einer Variablen Arbeitsspeicher (RAM) Nicht-Flüchtige Speicher (ROM) Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 3 Variablen können viele Zustände haben • Jede Variable hatte bisher nur 2 Zustände/Werte; deshalb reichte pro Variable ein Flip Flop. • Was ist, wenn eine Variable mehr als 2 Werte annehmen kann? • Verfahren zur Bestimmung der Flip Flop-Anzahl: Feststellen der Anzahl der Zustände ld(Anzahl) (Logarithmus Dualis = Log zur Basis 2) Zur nächsten ganzen Zahl aufrunden Dies ist die Anzahl der Flip Flops • Eine bestimmte Kombination von Flip Flop-Werten entspricht einem bestimmten Zustand der Variablen. Die Zuordnung der Flip Flop-Wertkombination zu den Werten der Variablen wird Codierung oder Code genannt. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 4 2 Beispiele Wie viele Flip Flops sind für eine Variable mit folgenden Zuständen notwendig? • Speicherung des Wochentags: 7 Zustände: 3 Flip Flops, da 23 > 7 (2er-Potenz: 8) • Speicherung des Tags im Monat: 31 Zustände: 5 Flip Flops, da 25 > 31 (2er-Potenz: 32) • Alter eines Menschen (120 Jahre soll Maximum sein): 120 Zustände: 7 Flip Flops, da 27 > 120 (2er-Potenz: 128) • Wenn n Flip Flops zur Verfügung stehen, können damit max. 2n-Zustände dargestellt werden: 8 Flip Flops -> 28 -> 256 Zustände 16 Flip Flops -> 216 -> 65.536 Zustände Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 5 Variable und Symbol I • Symbol = Zeichen mit Verweis auf Gegenstand des Denkens oder Wahrnehmens (Objekt) • Die Symbole werden als Stellvertreter für die Objekte im Rechner realisiert. Dies erfolgt durch Variablen mit einer festgelegten Anzahl von Zuständen. • Beispiele für Symbole: – – – – Wochentag Nummer des Tags im Monat Alter Vorname, Nachname, Geschlecht D.h. das Geschlecht eines Menschen ist nicht im Computer, sondern das Symbol dafür, was durch eine Variable realisiert wird, und diese durch ein Flip Flop. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 6 3 Variable und Symbol II • Symbole stehen hier für einzelne Gegenstände, Relationen etc. und sind auch Teil von Aussagen über Situationen. • Ein Zustand einer Variablen besteht aus der Kombination der Zustände der Flip Flops, die die Variable repräsentieren (Codierung). "Es regnet" EsRegnet: Sachverhalt 1 Interpretation Variable Zustand [???] Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 7 Variable und Symbol III • Wert einer Variablen = benannter Zustand der Variablen • Repräsentation = Rechnerinterne Darstellung eines Werts bzw. Zustands eines Symbols • Code = Codierung = Zuordnung zwischen Zustandskombinationen und Werten eines Symbols • Code = Interner Wert eines Symbols / einer Variablen. "Im Kopf" "Im Computer" Symbol Variable Repräsentation der Werte "Es regnet." "EsRegnet" Zustand trifft zu Wahr trifft nicht zu Falsch Computer-Systeme – WS 12/13 - Teil 3/Boxmodell "Im Computer" Werte 1 0 8 4 Variablen Damit es einfacher wird, werden Symbol und Variable gleichgesetzt: • Variable = Symbol Eine Variable ist ein mit einem Namen benannter Speicherplatz, auf dem so viele Werte vermerkt werden können, wie Zustände die Variable annehmen kann. • Bildlich lässt sich eine Variable als Behälter zur Aufnahme von Werten vorstellen. Die Größe des Behälters wird durch die Anzahl der Werte und damit Bits/Flip Flops bestimmt. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 9 Das Bit • Ein Symbol mit den zwei Zuständen benötigt ein Flip Flop, das abstrakt Bit genannt wird. Ein Bit kann durch ein Flip Flop realisiert werden, ist jedoch selbst keines. • Bit = Abstrakter Begriff von einen Speicher, der nur zwei Zustände bzw. Werte annehmen kann Bit = Binary digit Aus technischen Gründen werden die Flip Flops zu größeren Speichern gruppiert und dort alle Variablen abgelegt. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 10 5 Größeneinheiten von Speichern • Speicher wird organisiert in Einheiten von – 8 Bits = 1 Byte – 16 Bits = 1 Wort (kurzes Wort) – 32 Bits = 1 Doppelwort (langes Wort) • Folgende Größeneinheiten sind möglich: – – – – – 1 KBit = 1024 Bits (Kilo Bit) 1 MBit = 10242 Bits = 1.048.576 Bits (Mega Bit) 1 GBit = 10243 Bits = 1.073.741.824 Bits (Giga Bit) 1 TBit = 10244 Bits = 1.099.511.627.776 Bits (Tera Bit) Analog Bytes: 1 KByte = 1 KB = 1024 Byte, 1 MByte... • Hinweise: – K steht hier für Kilo im Sinne von 1024, nicht 1000 (!) – Doppeldeutig ist: 1 KB (Bit oder Byte?), ab 1 MB wird meist Byte angenommen. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 11 Informationsmenge • Die Informationsmenge einer Nachricht wird in bit gemessen. Hier ist bit die Maßeinheit, in der die "Menge" einer Information ausgedrückt wird. • 1 bit hat die Menge von ausgetauschten Informationen, die nötig ist, um das Ergebnis einer Entscheidung zwischen zwei gleichwahrscheinlichen Alternativen mitzuteilen. Sie ist damit die kleinste mögliche Informationsmenge. • Das bit in diesem Sinne wurde von Claude Shannon definiert. Beachte: 3 Bits aber 3 bit, "das Bit 4" und nicht "das bit 4" Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 12 6 Bemerkungen In der Praxis wird zwischen bit und Bit bzw. byte und Byte nicht groß unterschieden, daher: Größeneinheiten (bit) Größeneinheiten (byte) 1 Kbit = 1024 bit 1 Kbyte = 1024 byte 1 Mbit = 10242 bit = 1024 Kbit 1 Mbyte = 10242 byte = 1024 Kbyte 1 Gbit = 10243 bit = 1024 Mbit 1 Gbyte = 10243 byte = 1024 Mbyte 1 Tbit = 10244 bit = 1024 Gbit 1 Tbyte = 10244 byte = 1024 Gbyte als Maßeinheiten für Speichergröße sowie für Informationsmenge Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 13 Variablen I • Eine Variable ist eine benannte Speicherstelle. • Eine Variable ist wie eine Box, – in der Werte hinein getan werden – dann drin bleiben, d.h. sich nicht von allein ändern – per Kopie heraus genommen werden können • Aber in der Box ist immer ein Wert enthalten! • Dieser Wert gilt bis etwas in die Box getan wird, als unbekannt - auch dann, wenn er vielleicht 0 ist. • Etwas in eine Box tun, wird Zuweisen genannt: Name-der-Variable = Wert-für-die Box Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 14 7 Variablen II • Variablen haben Namen, die aus mehr als einem Buchstaben bestehen. • Vorsicht! • In der Mathematik bedeutet "ab" die Multiplikation von der Variablen a mit b. • In der Informatik bedeutet "ab" der Name einer Variablen. • Alle Operationen (Rechenarten) müssen explizit, d.h. ohne Weglassen hin geschrieben werden. Multiplikation: a * b Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 15 Typ einer Variablen • Die Anzahl der Zustände (Werte) einer Variablen bestimmen die erforderliche Bit-Anzahl. • Die Art der Werte sowie die Anzahl der Werte definieren den Typ einer Variablen. • Typ einer Variablen = Definition aller Werte (samt Repräsentation), die die betreffende Variable annehmen kann • Der Typ einer Variablen bestimmt damit die Größe der Box. • Wert einer Variablen = Zustand als Bitkombination Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 16 8 Random Access Memory (RAM) • Speicher werden als – Zwischenspeicher (Puffer) oder – Arbeitsspeicher (RAM) benutzt. • RAM = Arbeitsspeicher = Speicher zur Ablage von Daten, die über Adressen angesprochen werden • RAM = Random Access Memory = Speicher mit wahlfreiem Zugriff Wahlfrei bedeutet, dass ein beliebiger Zugriff unabhängig vom vorherigen Zugriff möglich ist. • Adresse = Eindeutige Nummer einer Speicherzelle (nicht nur im RAM) Zwischenspeicher oder Puffer werden benutzt, um sich für eine kurze Zeit Daten zu merken. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 17 Realisierung von RAM I (1 bit-Speicher) Adressleitungen 3 bit TeilAdresse & Datenleitung Datenleitungen 6 bit Adresse 3 bit TeilAdresse wirkt wie ein Oder Derartige Matrizen werden mehrfach parallel verwendet Bei diesem Speicher wird mit einer Adresse 1 Bit adressiert. Dies ist eine vereinfachte Darstellung, bei der etliche Leitungen fehlen. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 18 9 Bedeutungen Ausgänge Eingänge R Takt S Q RS-Flip Flop n-zu-1-Decoder • • Bei einem n-zu-1-Decoder wird immer nur ein Ausgang auf 1, alle anderen auf 0 gesetzt, in Abhängigkeit von den Eingängen. Das RS-Flip Flop ist das von früher, aber mit einem Takteingang wie das D-Flip Flop versehen. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 19 Realisierung von RAM II (8 bit-Speicher) 3 bit TeilAdresse 8x .... 6 bit Adresse 3 bit TeilAdresse Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 20 10 Gleichzeitiges Auslesen von 8 Bits • Die sechs Adressleitungen werden gleichzeitig auf alle acht Matrizen geleitet. • Jede Matrix hat eine nicht eingezeichnete Leseleitung, mit der alle Bits (Flip Flops), genauer deren Ausgänge verbunden sind (Realisierung eines Oders). • Wenn das angesteuerte Bit eine 1 liefert, so ist auch die Leseleitung auf 1, liefert es eine 0, so ist es auf 0. • Dieses Auslesen erfolgt parallel bei jeder Matrix, d.h. das ausgelesene Ergebnis erscheint auf acht parallelen nicht verbundenen Leseleitungen. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 21 Gleichzeitiges Schreiben von 8 Bits • Die sechs Adressleitungen werden gleichzeitig auf alle acht Matrizen geleitet. • Jede Matrix hat eine nicht eingezeichnete Schreibleitung, mit der alle Eingänge der Flip Flops verbunden. • Bei einem Taktsignal wird der Zustand an der Schreibleitung in das einzige angesteuerte Flip Flop übernommen. • Dies erfolgt gleichzeitig parallel bei allen Matrizen, so dass 8 bit gleichzeitig in 8 Flip Flops jeweils in einer eigenen Matrix gesetzt werden. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 22 11 Realisierung von RAM III • Da sehr viele Bits in möglichst kleinen Ausmaßen benötigt werden, werden keine Flip Flops, sondern spezielle Transistor-Schaltungen benutzt. • Statische RAM behalten nach dem Auslesen ihren Zustand, während dynamische dadurch gelöscht und anschließend neu aufgefrischt werden müssen. • Es gibt viele Arten von RAM, die aber vom Prinzip her gleich sind: – SDRAM – DDR, DDR2 und DDR3 – .... • Alle RAM gehören zu den flüchtigen Speichern, die ihren Inhalt bei Verlust der Spannungsversorgung verlieren. • Siehe auch: http://de.wikipedia.org/wiki/Speicherchip Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 23 Modell des RAM Adresse Adresse RAM Daten RAM Daten Schreiben von Daten Lesen von Daten Die Leitungen zur Steuerung wurden hier weggelassen Viele Leitungen parallel Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 24 12 Arten von Halbleiterspeichern Halbleiterspeicher Festwertspeicher (Nur-Lese-Speicher) Einmal beschreibbar ROM Flüchtige Speicher (Lese-Schreib-Speicher) Mehrfach beschreibbar Statisch DRAM EPROM PROM Dynamisch EEPROM Flash ROM SRAM SDRAM RAMBUS DDR Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 25 Arten von RAM • Statischer RAM (SRAM) Speichereinheiten sind Flip Flops. Durch geschickte Reduktion auf wenige Transistoren wird eine relativ hohe Integrationsdichte erreicht. – Schnell: Zugriffszeit 6..100ns – Teuer im Vergleich zum dynamischen RAM – Speichergröße: Relativ klein • Dynamischer RAM (DRAM) Speichereinheiten sind Kondensatoren, die regelmäßig wieder geladen werden, deren Inhalt beim Auslesen zerstört und anschließend wieder hergestellt wird (refresh). – Langsam: Zugriffszeit >50ns – Billig – Speichergröße: Groß (Platz auf Chip um mind. Faktor 4 kleiner als bei SRAM) Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 26 13 Dynamischer RAM (DRAM) • DRAMs haben eine komplexe chipinterne Steuerung. Diese sowie die Verschaltung mehrerer DRAMs beeinflusst die Leistungsfähigkeit. Die einzelnen DRAM-Arten unterscheiden sich in der Steuerung, Geschwindigkeit und Durchsatz. • Bei DRAM muss zwischen der – Zugriffszeit Zeit bis zum Abliefern des Inhalts nach Anforderung und der – Zykluszeit Zeit bis zur erneuten Bereitschaft nach letzter Anforderung unterschieden werden. Das technische Problem sind die langen Zykluszeiten. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 27 Entwicklung der Zykluszeit von DRAM-Chips Jahr Größe [Mbit] Zykluszeit [ns] 1980 0,0625 250 1983 0,25 220 1986 1 190 1989 4 165 1992 16 145 1996 64 120 2000 256 100 Zum Vergleich die Zykluszeiten der CPU bei 1 MHz: 1µs, 1 GHz: 1ns und 2 GHz: 0,5 ns Die Refresh-Zyklen liegen bei 32 oder 64 ms. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 28 14 Arten von DRAM I (asynchron) Der CPU-Takt ist asynchron (zeitlich entkoppelt) zur Steuerung des RAMs. • FPM-DRAM (FPM = Fast Page Mode) Intern wird eine Zeile der Speichermatrix (Page) ausgelesen und in Flipflops zwischengepuffert. Wenn eine spätere Anforderung sich auf diese Zeile bezieht, wird der gepufferte Wert sofort ausgegeben. • EDO-DRAM (Extended Data Output, Hyper-Page-Mode) Um bis zu 30% kürzere Zugriffszeit gegenüber FPM-DRAM durch Parallelisierung des Lieferns der Daten und Bearbeitung der nächsten Anforderung. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 29 Arten von DRAM II (synchron) Diese DRAMs arbeiten synchron mit dem CPU-Takt, so dass die Zeiten zur Synchronisation zwischen CPU und RAM entfallen. • Synchronous DRAM (SDRAM) SDRAMs arbeiten abgestimmt mit dem Takt der Hauptplatine und haben Zugriffszeiten im Bereich von 8-15ns. Varianten von SDRAM: – Ein zusätzliches ROM gibt Auskunft über das zeitliche Verhalten (SPD: Serial Presense Detect) – Ohne SPD-ROM muss im Betriebssystem, z. B. BIOS die Angaben über das zeitliche Verhalten vorhanden sein Diese Daten werden vom RAM-Controller ausgelesen und zur optimalen Ansteuerung benötigt. Takte der Hauptplatinen begannen bei 66 MHz, 100 MHz und 133 MHz, heute sind 333 MHz und mehr üblich. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 30 15 Arten von DRAM III (SPD) • RAM-Controller = Baustein(e) mit der Aufgabe die einzelnen RAMEinheiten bzw. RAM-Chips optimal anzusteuern Diese Bausteine sind recht komplex. • Software kann die SPD-ROMs auslesen (siehe Dump links) Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 31 Arten von DRAM IV • SDRAM II, DDR-SDRAM (Double Data Rate), DDR-RAM SDRAM mit doppelter Datenrate beim Auslesen. Bei jeder Flanke des Taktimpulses werden Daten aus dem Chip ausgegeben. Konsequenterweise werden die bisher erwähnten SDRAM Single Data Rate-DRAMs genannt (SDR). • Inzwischen sind Nachfolger zu DDR da: DDR2, DDR3 und als Konzept DDR4. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 32 16 Speichermodule • Mehrere RAM-Chips samt Controller werden auf kleinen Karten (PCB = Printed Circuit Board) montiert, die Speichermodule oder "Riegel" genannt werden. • Diese Module werden in Steckplätzen auf der Hauptplatine gesteckt, die dann den Arbeitsspeicher bilden. • Es gibt die Möglichkeit der automatischen Fehlererkennung und Korrektur (ECC = Error Correction Code = Fehlerkorrekturcode). • Vorteile: – Hohe Flexibilität – Leichter Ein-/Ausbau (Erweiterung, Reparatur) • Nachteile – Reduzierte Geschwindigkeit aufgrund längerer Leitungen – Reduzierte Geschwindigkeit aufgrund Steckplatz Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 33 Single In-line Memory Module (SIMM) • • • 30poliges SIMM-Modul unterstützt 8 Datenbit 72poliges SIMM-Modul unterstützt 32 Datenbit Nur eine Kontaktreihe, die aber auf beiden Seiten durchkontaktiert sein kann Ein etwas älterer SIMM (ca. 25 Jahre) Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 34 17 Dual In-line Memory Module (DIMM) • • • 168polig (168 Anschlüsse) mit einem Datenpfad von 64 bit in zwei Kontaktreihen, aber auch mit 184 Kontakten Vorwiegend SDRAMs, aber auch EDO-DRAMs Sonderform: Small Outline DIMM (SO DIMM) für Laptops Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 35 Leistungen der RAMs I • Die Systematik der Bezeichnungen der DIMM wurden aus Marketing-Gründen mehrfach geändert. – Bei "PC66", "PC133" etc. bezieht sich die Zahl auf den maximalen Takt in MHz. – Bei "PC800" etc. bezieht sich die Zahl auf die maximale Busgeschwindigkeit. – Wichtig ist auch die maximale Transferleistung, die vom Takt, aber auch von der Busbreite sowie die Anzahl der Transfers pro Takt abhängt. • Daher lassen sich die einzelnen RAM-Bausteine nicht so ohne weiteres vergleichen. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 36 18 Leistungen der RAMs II (Beispiele) Bezeichnung Chiptyp Zykluszeit Zugriffszeit PC66 SDRAM 15,0 ns 9,0 ns PC100 SDRAM 10,0 ns 6,0 ns PC133 SDRAM 7,5 ns 5,4 ns PC1600 DDR 10,0 ns 2.0 ns PC2100 DDR 7,5 ns 2,5 ns PC2700 DDR 6,0 ns 2,5 ns PC2-3200 DDR2 5,0 ns PC2-4300 DDR2 3,8 ns PC2-5300 DDR2 3,0 ns Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 37 Nicht-flüchtige Speicher • Nicht-flüchtige Speicher behalten ihren Inhalt auch nach Spannungsverlust. • Es gibt u.a. folgende Arten: – ROM (Read Only Memory) – EPROM (Erasable Programmable ROM) – EEPROM (Electrical Erasable and Programmable ROM) (eine Variante davon ist das FLASHROM) • Die verschiedenen ROM-Arten sind langsamer (und teurer) als RAM, aber in Computern absolut notwendig, da die zum Starten (Boot) notwendige Software verfügbar sein muss. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 38 19 Arten von ROM I • 1x beschreibbar: – ROM = Read Only Memory: Speicherinhalt wird bei der Herstellung des Chips gleich (mit der Maske) gesetzt Lohnt sich nur in großen Stückzahlen – PROM = Programmable ROM: Speicherinhalt wird einmal elektrisch geschrieben (programmiert) und kann anschließend nicht mehr geändert werden • Mehrfach beschreibbar: – EPROM = Erasable PROM: Speicherinhalt wird durch starkes UV-Licht gelöscht und anschließend elektrisch programmiert. Chips haben ein Quarzfenster zum Löschen, das während des Gebrauch abgedeckt sein sollte. Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 39 Arten von ROM II • Mehrfach beschreibbar: – EPROM: Brennzeit für 128 Kbyte: 2-20 Min. Löschzeit: 15-20 Min. Zugriffszeit: 200..450ns – EEPROM = Electrical Erasable PROM = Elektrisch löschbarer und programmierbarer ROM. Löschen erfolgt blockweise – Flash-ROM: Variante des EEPROM Löschen erfolgt vollständig in einem Stück oder blockweise Mindestens 100.000 Lösch- und Programmierzyklen Einsatz u.a. bei digitalen Kameras und Memory Sticks Lesen: 100-200ns Schreiben (Block): 10-200ms Löschzeit (Block): 2-100ms Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 40 20 Was ist erreicht? Welt des Programmierens Welt der Hardware [00] [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] Wochentag Jahr EsRegnet … Computer-Systeme – WS 12/13 - Teil 3/Boxmodell Speicherzellen jeweils 1 Byte Adressen 41 Nach dieser Anstrengung etwas Entspannung.... Computer-Systeme – WS 12/13 - Teil 3/Boxmodell 42 21