1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher...

50
1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher - Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen Mikro- / Maschinen- / Assemblerprogrammierung höhere Programmiersprachen / Programmierparadigmen

Transcript of 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher...

Page 1: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

1

Vertiefungsstoff zum Thema: Mikrocomputer

Anbindung von Ein- und Ausgabegeräten

Plattenspeicher

- Aufbau

- RAID Technik

Überblick zu gängigen Bus-Systemen

Mikro- / Maschinen- / Assemblerprogrammierung

höhere Programmiersprachen / Programmierparadigmen

Page 2: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

2

Vom Rechenwerk zum Universal-Rechner Zur Kommunikation (d.h. zum Datenaustausch) mit der Außenwelt wird der Micro-

Computer (bestehend aus CPU, RAM und ROM) zum DVS ausgebaut durch:- Kopplung mit einem Ein- sowie mit einem Ausgabewerk- Anbindung eines externen Massenspeichers

Datenverarbeitungssystem (DVS)

Peripherie Peripherie-Comp

Eingabe-werk

: Steuerbus: Adressbus: Datenbus

Ausgabe-werk

Speicherung (extern)

E A

V

S

Page 3: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

3

Verwendung eines eigenen E/A-ProzessorsMotivation:

Entlastung der CPU von Ein- Ausgabeaufgaben.Vorteilhaft z.B. bei massiver Graphik- und Videoausgabe.

Lösung: - CPU plus E/A Prozessor (d.h. weitere CPU mit speziellen Programmen zur

Bewältigung von Ein- und Ausgabeaufgaben). - CPU stößt E/A-Prozessor an, falls erforderlich.- CPU und E/A-Prozessor arbeiten weitgehend unabhängig nebeneinander (auch nebenläufige oder parallele Verarbeitung).

CPU E/A Prozessor

I/O Gerät1

Datennetz

I/O Gerätn

Anmerkung: - Evtl. Verwendung mehrerer spezialisierte E/A Prozessoren.- CPU und E/A-Prozessor sind Kanal-gekoppelt.

Page 4: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

4

Verwendung externer SpeichermedienMotivation:

Da große RAM-Speicher relativ teuer sind (waren), weicht man auf billigere Massenspeicher aus, z.B. auf Magnetplattenspeicher (Festplattenspeicher, Hard disk).

Aufbau: Magnetisierbares Material wird auf eine Rotationsscheibe aufgetragen. Ähnlich einem Plattenspieler, positioniert man einen Lese- Schreibekopf an einer Plattenposition.

Schreiben eines Bits entspricht dem Ausrichten eines magnetisierbaren Partikels

Page 5: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

5

Organisation der Datenablage auf einer Festplatte

Magnetplattenspeicher sind blockorganisierte Speicher mit quasi-wahlfreiem Zugriff.

Die Aufteilung der magnetisierbaren Plattenfläche erfolgt in Spuren und Sektoren, über die der Lese-Schreibkopf positioniert werden kann.

Die logische Strukturierung der abzulegenden Daten erfolgt in Blöcken von Bytes, die bei einem Zugriff gemeinsam gelesen oder geschrieben werden. (Es gibt viele verschiedene Varianten, z.B. DOS, UNIX, ...)

Blöcke werden zu Cluster und/oder Partitionen zusammengefasst.

Eine Dateiordnungstabelle (File Address Table, FAT) führt darüber Buch, wo welche Daten auf der Platte abgelegt sind bzw. abgelegt werden sollen.(Beispiel FAT32 unter Windows XP)

Page 6: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

6

RAID - Redundant Array of Inexpensive Disks Motivation:

Verwendung mehrerer Festplatten, um:- Schreib-Leseoperationen zu beschleunigen- Datenverlust bei technischen Fehlern zu minimieren

Aufbau: verschieden Varianten (RAID-Levels):

RAID 0: Striping (mindestens zwei Platten)Beschleunigung ohne RedundanzDie Blöcke A,B,C,D werden als Streifen (stripes) einer großen Platte betrachtet. Ein zu schreibendes Datum wird ebenfalls in Streifen zerlegt, so dass jede Platte weniger Schreiben muss. (Damit wird auch das Lesen beschleunigt).

RAID 1: Mirroring - Spiegelung- volle Redundanz, daher hohe Datensicherheit- verteuert den Speicher um den Faktor 2

Page 7: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

7

RAID - Redundant Array of Inexpensive Disks

RAID 5: Performance + ParitätBeschleunigung plus RedundanzMan bildet Paare von Blöcken (Si, Sj) und legt für jedes Paar Paritätsinformation P(Si, Sj) an, die man dann jeweils auf einer anderen Platte ablegt.

=> Man braucht mindestens 3 Platten

Paritätsinformation für das Paar (A,B)- Sei ai das in Block A unter der Adresse i abgelegte Byte und

- sei bi das in Block B unter der Adresse i abgelegte Byte

dann berechnet man die Paritätsinformation pi (für ai und bi ) durch:

pi := ai XOR bi

Vorteil:Ist beispielsweise Block A nach einem Plattencrash nicht mehr lesbar, so kann man das Byte ai aus den beiden Bytes bi und pi wieder herstellen (Durchführen eines „Rebuild“).

Page 8: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

8

Zur Zukunft der Festplatte?

Seagate: „By 2010 we should see densities of at least a terabit per square inch — that is 1 trillion bits.“

Ansatz:Magnetisierbares Material wird punktgenau mit einem Laserstrahl erhitzt und gleichzeitig durch den magnetischen Schreib-Lesekopf beschrieben / gelesen.

=> Höhere Speicherdichten auf dem Datenträger (z.B. Festplatte).

2,54 cm

Page 9: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

9

Zur Zukunft der Festplatte? IBM „Millipede“

- (nm) Nadeln schmelzen parallel Löcher in einen Kunststoffträger - http://www.zurich.ibm.com/st/storage/millipede.html

Page 10: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

10

Anbindung von weiteren Geräten über BussePeripheriegeräten bzw. zum Datenaustausch mit anderen Computern über ein

Netzwerk wurden verschiedene Schnittstellen-Technologien entwickelt:

1:1-Verbindungen:- Serielle Schnittstellen (RS-232)- Parallele Schnittstellen („Centronics Schnittstelle“)

1:n- bzw. n:n-Verbindungen durch BusseUnterscheidung nach:- Art der zu übertragenden Information in

> Datenbus> Adressbus> Kontrollbus (Steuerbus)

- Art der Übertragung in parallel vs. seriell arbeitende Busse- Abhängigkeit von spezieller Hardware: z.B. Systembusse vs. Standardbusse- Leistungsmerkmale wie:

> Busbreite (Anzahl der parallelen Leitungen)> Taktrate (z.B. 66 MHz)> Übertragungsrate (z.B. 12 Mbit/sec)

Page 11: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

11

Serielle Schnittstellen (EIA-232, RS-232, V.24) Die EIA-232-Schnittstelle (ehemals RS-232) ist eine

so genannte Spannungsschnittstelle. Entspricht einer V.24/V.28/ISO-2110-Schnittstelle hinsichtlich Signalsemantik, Elektrik und Steckerbelegung.

Technisch wird sie meist in Form einer 9-poligen Leitung realisiert.

Ursprünglich entwickelt für die Datenfernübertragung zwischen Computern über das Telefonnetz entwickelt und enthält daher noch verschiedene Signale, die heute für die meisten Anwendungen nicht benötigt werden. => Nicht alle 9 Leitungen werden effektiv zum Datentransfer genutzt.

Prinzip: Einzelne Bits werden nacheinander (d.h., seriell) über eine Datenleitung gesendet. Beispiel: Übertragung des Zeichens A in ASCII Code:

Page 12: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

12

Pinbelegung der EIA-232 Schnittstelle

Einsatzmöglichkeit: z.B. Anbindung von Modems, z.B. 56KBit Modem.

Page 13: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

13

Parallel Schnittstelle ("Centronics" , IEEE 1284 )

Centronics-Schnittstelle: in den 1970er-Jahren vom gleichnamigen Druckerhersteller entwickelte Schnittstelle zur parallelen Datenübertragung. Entwickelte sich zum Quasi-Standard und wurde ab 1994 Teil des IEEE 1284 Standards (Standard Signaling Method for a Bi-directional Parallel Peripheral Interface for Personal Computers).

Prinzip: Standard-Centronics-Stecker besitzt 36 Pins, davon werden 17 Pins für

Datentransfer und Handshake genutzt, die anderen liegen an Masse. Die Datenübertragung erfolgt nach folgendem Protokoll:

1. Der Sender überprüft anhand der Busy-Leitung, ob der Empfänger bereit ist. Falls ja, wird das Datenbyte auf die Datenleitungen gelegt2. Durch Aktivierung des Strobe-Signals (mind. 1 bis max. 50 Mikrosekunden) wird dem Empfänger die Gültigkeit des Datums mitgeteilt3. Durch Aktivierung von Busy signalisiert der Empfänger, dass er mit der Verarbeitung der Daten beschäftigt ist4. Der erfolgreiche Empfang und Verarbeitung des Datenbytes wird vom Endgerät durch das Acknowledge-Signal bestätigt

Page 14: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

14

Parallel SchnittstellenVorteil: höhere Übertragungsraten gegenüber seriellen Schnittstellen,

z.B. 150 KBit/sec.

Nachteile paralleler Schnittstellen: dickere Kabel Gefahr der gegenseitigen Störungen der einzelnen Adern Störungen durch Laufzeitunterschiede in den parallelen Adern. Um diese

zu verhindern, darf – abhängig von Übertragungsgeschwindigkeit und der Kabelqualität – eine maximale Länge nicht überschritten werden, z.B., max. 1,8 Meter Kabellänge bei Centronics Schnittstelle. (Bei hochwertigen Kabeln bis zu max. 5 Metern möglich).

Moderne parallele Schnittstellen unterstützen EPP (Enhanced Parallel Port) bzw. eine Weiterentwicklung mit Namen ECP (Enhanced Capabilities Port). EPP / EPC verwendet bidirektionale Datenübertragung und kann Geschwindigkeiten von bis zu 2 MiB/s erreichen. Findet Verwendung vor allem für Netzwerkadapter, externe Datenträger und zum Anschluss von Druckern.

Page 15: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

15

Anbindung von weiteren Geräten über BusseVorteil des Bus-Konzepts: Gemeinsame Nutzung eines Leitungsstrangs erlaubt den Anschluss

mehrer Busnutzer.=> Gute Skalierbarkeit, neue Geräte können angehängt werden.

Komponenten einer Bus-Schnittstelle

Bus-anforderung ( Bus Master)

Strom- undTaktversorgung

Busleitungen (Daten, Adressen, Steuerung, Versorgung)

Arbiter (Buszuteilung)

Interrupt-anforderung

Interrupt-verarbeitung

Übertragungs-steuerung

( Bus Slave)

Globale Busfunktionen

Lokale Busfunktionen

Page 16: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

16

Bus-MasteringPrinzip: Beim Bus-Mastering gibt die CPU zeitweilig die Kontrolle über den Bus

an eine Adapterkarte, den sogenannten Busmaster ab. Der Busmaster adressiert in der Folge selbständig Speicher und Ein-

Ausgabe-Bereiche zum Zweck des Datentransfers. => Busmaster wirkt als eine Art Bridge bzw. wie eine eigenständige CPU.

Vorteil: Busmastering entlastet die CPU – sie kann somit für andere Aufgaben

eingesetzt werden. Meist ist der Bus zum Speicher hin noch teilweise nutzbar, es herrscht

somit Time-Sharing. Time-Sharing macht sich insbesondere bei modernen Multitaksing-Betriebssystemen positiv in der Reaktionsfähigkeit bemerkbar, wobei die Busmaster-Aktivität oftmals über ein Interrupt-Signal mit dem Betriebssystem verkoppelt ist. Die Adapterkarte hat dabei den Sinn, bestimmte Aufgaben asynchron zu anderen Tasks zu bedienen.

Page 17: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

17

Bussysteme UART "Universal Asynchronous Receiver Transmitter".

Ein Serial-Parallelwandler Baustein, der als universeller asynchroner Sender und/oder Empfänger arbeitet. Beispielsweise sind serielle PC-Schnittstellen mit einem UART-Chip realisiert.

ISA (Industry Standard Architecture): Früher Bus-Standard für IBM-kompatible PCs, welches die XT-Bus-Architektur auf 16 Bits erweitert. Wird üblicherweise mit 8 MHz getaktet.

EISA (Extended Industry Standard Architecture): Standardbus der den ISA-Bus auf 32 Bit erweitert. Außerdem fügt er die Möglichkeit hinzu, den Bus zwischen mehreren CPUs zu teilen. Die Unterstützung für das Bus Mastering ist auch weiter verbessert worden, so dass nun 4 GB Speicher erreichbar sind. EISA kann ältere Karten vom XT-Bus und von ISA-Bus einsetzen.

VLB (VESA-Local-Bus): von der Video Electronics Standards Association (VESA) entwickeltes 32-Bit Bussystem. Überträgt mit 32-Bit und dem Prozessortakt (25 bis 66 MHz) bis zu 80 MByte/sec.

HyperTransport Industriekonsortium http://www.hypertransport.org/ (verschiedene Busbreiten, 2-32 Bit, bis zu 22.4 GB/sec schnell).

Page 18: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

18

PCI Bus PCI (Peripheral Component Interconnect): Bus-Standard zur Verbindung von

Peripheriegeräten mit dem Chipsatz eines Prozessors. Verschiedene Varianten des Standards für verschiedene Einsatzgebiete: (PC,

Industrie, Telekommunikation). Im PC-Umfeld findet hauptsächlich die Variante PCI Conventional Verwendung.

PC‘s haben meist zwei bis sieben Steckplätzen für PCI-Karten (z.B. Netzwerkkarten, Modems, Soundkarten und (ältere) Grafikkarten.)

PCI-Bus ist ein synchroner Bus mit 33.33 MHz Taktrate (30 ns pro Takt). Auf dem PCI-Bus kommuniziert immer ein Master mit einem Target. In vielen PC-

Systemen ist der Host der einzige Master. Ein Bus kann aber mehrere Master haben, über einen Arbiter wird ein Master ausgewählt. Der ausgewählte Master kann einen Transfer beginnen, wobei er eine Adresse an die 32 Daten/Adressleitungen und ein Kommando an 4 Kommando/Byte-Leitungen anlegt. Ein zusätzlich Paritätsleitung erlaubt das Erkennen von Fehlern.

Übertragungsrate: 4 Bytes pro Takt (30 nsec), also maximal 133 MByte/sec. PCI-Express ist möglicher Nachfolger von PCI und AGP. PCI-Express verfügt

über Slots mit unterschiedlichen Datenübertragungsraten:- PCI x1: 250 MByte/sec, x4 PCI-Express: 1 Gbyte/sec

- PCI Express x16: 4 Gbyte/sec

Page 19: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

19

PCMCIA (PC-Card) PCMCIA (Personal Computer Memory Card International Association).

Standard für Erweiterungskarten für mobile Computer. Statt "PCMCIA-Karte" hat sich der Begriff "PC-Karte" (PC Card) durchgesetzt.

Grundfläche im Scheckkartenformat (85,6 × 54 mm), jedoch in verschiedenen Dicken.

PCMCIA-Karten lassen sich nach ihrer Datenbreite unterscheiden:16 Bit: Die Kommunikation mit dem Computer

erfolgt über die 68-polige Buchse an einer Stirnseite der Karte. Die mit diesem Kartentyp erzielbaren Datenratenentsprechen etwa der von 16-Bit-ISA-Karten (etwa 16 MB/s).

32 Bit "Cardbus"-Karten: Übertragungsrate ist mit PCI-Karten vergleichbar (max. 133

MB/s). Cardbus-Karten erlauben Bus-Mastering.

PCMCIA-Karten arbeiten stromsparend und unterstützen Plug and Play, sind also im laufenden Betrieb wechselbar.

Page 20: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

20

SCSI Bus SCSI (Small Computer System Interface): Familie standardisierter

Schnittstellen zur Datenübertragung beruhend auf dem Bus-Konzept. (1986: SCSI-1 5 MB/sec , 1989: SCSI-2, ..., 2004 Ultra-320 320 MB/sec).

Der Anschluss von SCSI-Geräten erfordert einen SCSI-Hostadapter, der den Datentransfer auf dem SCSI-Bus kontrolliert und rückseitig an die I/O-Baugruppen des Computers angebunden ist (meist der PCI-Bus). das anzuschließende SCSI-Gerät besitzt einen SCSI-Controller, um die Daten über den Bus zu übertragen und mit dem Hostadapter zu kommunizieren. Der SCSI-Controller ist heute generell in die Geräteelektronik eingebettet.

SCSI wird meist zur Anbindung von Festplatten und Bandlaufwerken genutzt, kann jedoch auch mit einer Reihe von weiteren Geräten verwendet werden, wie z. B. Scanner, CD-ROM-Laufwerken, CD-Brenner und DVD-Laufwerke.

Ausblick: eine Einbettung von SCSI-3 über TCP/IP (iSCSI-Standard).

SCSI-3 Controller mit 50 Pin Kabel

Page 21: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

21

USB USB (Universal Serial Bus) ist ein 4 adriger serieller Bus. 2-Leitungen (D+ und D-) zur Datenübertragung wovon eine

invertierte Daten überträgt (differenziellen Datenleitung).=> reduzierte Abstrahlung => höhere Übertragungssicherheit.

2 Leitungen zur Stromversorgung externern Geräte=> praktisch, man spart Netzteile

Im Gegensatz zum klassischen parallel-arbeitenden Bus bezieht sich Bus bei USB auf die logische Vernetzung. - An einen Host können mehrere Geräteangeschlossen werden, jedoch grundsätzlich über Hubs. An einer elektrischen Leitung ist immer nur ein einzelnes

USB-Gerät angeschlossen. Durch den Einsatz von Hubs entstehen Baumstrukturen, die alle in einem Host-Controller enden.

USB Hostadapter

TastaturMaus

TablettDrucker

Page 22: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

22

USB An einen Hostcontroller können bis zu 127 verschiedene Geräte

angeschlossen werden. Durch Verwendung mehrerer Hostcontroller können auch noch mehr Geräte angeschlossen werden (jedoch abhängig vom verwendeten Betriebssystem, Windows beispielsweise wird lange vor Erreichen der 127 Geräte instabil).

Theoretisch maximale Übertragungsraten:- Low Speed: 1,5 MBit/sec - Full Speed: 12 MBit/sec- High Speed (ab USB 2.0): 480 MBit/sec für isochrone Übertragung.Übertragungsraten basieren auf dem Systemtakt der jeweiligen USB-Geschwindigkeit. In der Praxis muss mit einer spürbar geringeren Übertragungsrate gerechnet werden. Geräte übermitteln erwünschte Übertragungsbandbreiten durch Signal (Leitung D+ := High-Speed Gerät) Da die Kommunikation vom Host (meist PC) gesteuert werden muss, kommunizieren USB-Geräte nicht direkt miteinander. Sämtliche Daten werden zuerst vom Host gelesen und von dort wieder herausgeschrieben werden.

Die USB-Spezifikation sieht das Zufügen und Entfernen der Peripherie-Geräte im laufenden Betrieb vor. Man spricht dabei von Hot-Plugging.

Page 23: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

23

FireWire / IEEE 1394 / (i.Link bei Apple)

FireWire ist ein seriell-arbeitendes Peer-to-Peer-Bus (entwickelt von der Firma Apple, Markteinführung ab 1995).

FireWire kennt keinen fest definierten zentralen Host zu Steuerung von Übertragung und Adressierung. Fast jedes Gerät hat zusätzlich zwei oder mehrere Ports und fungiert gleichzeitig als Hub und Repeater. Die eingehenden Signale werden an alle anderen Ports weitergereicht.

Maximal sind 63 Geräte pro Bus möglich, wobei es keinen Ringschluss (erstes Gerät ist mit dem letzten verbunden) geben darf. Bei Firewire IEEE1394b sind Ringschlüsse gestattet.

Bis zu 1023 Busse können mit Brücken verbunden werden, so dass insgesamt fast 65000 Geräte verbindbar sind.

Der maximale Abstand zwischen zwei Geräten ist 4,5 m, die maximale Gesamtlänge des Busses beträgt 72 m.

Page 24: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

24

FireWire / IEEE 1394 / i.Link (bei Apple)

Übertragungsrate von FireWire beträgt bis zu 400 MBit/sec (50 MByte/sec) seit Einführung.

Einsatzfelder: Für Digital-Video ist FireWire (IEEE 1394) seit Festlegung des DV-Standards die Schnittstelle in jedem DV-Camcorder. Jedoch auch andere Geräte, z.B., schnelle externe Festplatten.

Aktuelle Weiterentwicklung zum sog. Wireless FireWire: WFW baut auf der FireWire-Infrastruktur auf, so dass Datenformate und Verbindungsmanagement von FireWire weiterverwendet werden können.

Verändert sich die Topologie, so wird ein neuer Taktgeber mittels eines Protokolls „demokratischen“ ermittelt. - Auswahl z.Teil vom Zufall abhängig bzw. von der bereits

aufgebauten Topologie. - ausgewählter Taktgeber übernimmt die Takterzeugung und das

Bestätigen der Sende-Anforderungen der übrigen Geräte. => Nachteile von FireWire: Bestätigen der Sende-

Anforderungen kostet viel Zeit und vergeudet einen Teil der Bandbreite.

Page 25: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

Vergleich verschiedener Bus-Systeme

Bus Bandbreite in Bit Taktrate in MHz Datenrate in MByte/sAthlon System Bus 64 200 1.600Memory Bus 64 100 800AGP Bus 32 66 266PCI Bus 32 33 133ISA Bus 16 8,3 16,6USB 1 12 1,5UDMA/66 16 33 66,6

Page 26: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

26

Kopplung unterschiedlicher Busse über eine Bridge

-Comp

I/O-IF-Logik

CPU

Hauptspeicher

: Systembus: Peripheriebus: extern

1 GByte/s

I/O-IF I/O-IFI/O-IFI/O-IFI/O-IF

528 MByte/sBussteuerung(PCI-Bridge)

Grafik-Chip

528 MByte/s

132 MByte/s

SCSI-Controller

ISA-Bridge

EIDE-Chip

USB-Controller

externe Wege

interne Wege

Page 27: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

27

Sprachebenen der Programmierung

Hochsprachen

Mikro-Befehle

Abbildung auf

Maschinen-Befehle

Assembler

Befehle einer virtuellen Maschine

Abbildung auf

Abbildung auf

Abstraktionsgrad hoch

niedrig

- abhängig vom Prozessor- elementare Funktionen- vom Hersteller programmiert- schwer lesbar (binär)

- Anwender programmierbar- prozessorabhängig- schwer lesbar (binär)

- Anwender programmierbar- durch Emulatoren unabhängiger vom verwendeten Prozessor- symbolisch => besser lesbar

- Anwender programmierbar- Plattform-unabhängig- symbolisch, mit Sprachkonstrukten zur bequemeren Programmierung.

Abbildung auf

Page 28: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

28

Anmerkung: nicht alle denkbaren Bit-Kombinationen (= 232) werden als Befehle

genutzt.

Beispielhafte Struktur eines 32 Bit Mikro-Befehls

32 Bit

Befehls-register

MIRjsenS-ROM-IF

Fcalc

SHBBAL

A Sdsld-MDRenMMemIF

as ld-MAR iADR

8 Bit zur Ablage vonBefehlsadressen

j und s Bit zur Codierung der Sprungbedingung

zusätzliches Steuerbit (enableS). Falls nicht gesetzt, wird ALU Ergebnis nicht in Ergebnis-Register transferiert. => nur Test von N oder Z

5 Bit 12 Bit 4 Bit

11 Bit

Page 29: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

29

Entwicklung von Mikro-ProgrammenSatz:

Mit seriellen Anweisungen zur Inkrementierung und Dekrementierung von Datenwerten und bedingten Sprungbefehlen lassen sich alle prinzipiell berechenbaren Funktionen programmieren.

Die zur Programmierung verwendbaren Mikro-Befehle unterscheiden sich in Anzahl und Format zum Teil erheblich von CPU zu CPU. => Mikro-Programme sind nicht portabel.=> minimale Befehlssätze ziehen oft aufwändige Programm-

Formulierungen nach sich.

CISC vs. RISC- ArchitekturenCISC (Complex Instruction Set Computer): oft mehr als 200 Befehle, 3 bis 10 Takte pro Befehl, komplexer Aufbau.

RISC (Reduced Instruction Set Computer): meist weniger als 100 Befehle, wenig Takte pro Befehl, mehrere Register (> 32), einfacherer Aufbau des Steuerwerks. (Bekannter Vertreter: Sun Microsystems)

Page 30: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

30

Vorgehen bei der Entwicklung von Mikro-Programmen

Gegeben: Anwendungsproblem / Programmieraufgabe

Schritt 1: Problemanalyse, Spezifikation der Ein- und Ausgabe

Schritt 2: Aufteilung in Teilprobleme und Formulierung eines Ablaufs (Verfahren, Algorithmus) zur Problemlösung. (Varianten

zur Notation: Text, Diagramme, mathematische Notation, ...)

Schritt 3: Festlegung, wo welche Daten abgelegt werden sollen (RAM, Registerfile) Übersetzung der Lösungsschritte in einzelne

Mikro-Befehle bzw. Mikro-Programm-Bausteine.

Schritt 4: Codierung des gesamten Ablaufs als Sequenz von Mikrobefehlen (die evtl. Sprünge enthalten kann).

Festlegung der Adressen, unter denen die Befehle abgelegt werden.

Schritt 5: Übersetzung der Mikro-Befehle in Maschinenworte (Bitfolgen)

Schritt 6: Laden des Mikro-Programms in den Befehlsspeicher und Programmtest.

Page 31: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

31

Vorgehen bei der Entwicklung von Mikro-Programmen

Schritt 5: Übersetzung der Mikro-Befehle in Maschinenworte (Bitfolgen)

Schritt 6: Laden des Mikro-Programms in den Befehlsspeicher und Programmtest.

Neuere Prozessoren (z.B. die Pentium Serie) erlauben es, den Mikrocode (partiell) zu ändern.

Motivation: „In the design of the Pentium(tm) processor, historical averages were used to predict the number of fatal microcode bugs which could be expected in the production silicon. At the equivalent of 360K bytes of microcode data, it was anticipated that there would be approximately 25 fatal bugs. 32 patch registers were included to allow for the remapping of up to 32 microinstruction words“

Realisierung: zusätzliches Registerset: Microcode Patch Register (MPR's), sowie zwei zusätzliche Befehle:- PMPR Push Patch Register - EMX Execute Microcode Extension

Page 32: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

32

Beispiel 1: Mittelwertberechnung zweier Zahlen

Aufgabe: Berechne den ganzzahligen Mittelwert m der beiden Zahlen a und b.

Schritt 1: Eingabe: zwei Zahlen a und b. Ausgabe: m = (a+b)/2

Schritt 2: Aufgabe lässt sich durch Addition mit anschließendem Rechts-Shift lösen.

Schritt 3: Die Operanden a und b sowie das Ergebnis m werden in Registern abgelegt. Z.B. a in R6, b in R7 und m in R8.

Es genügt dann der Befehl: R8 <- rsh(R6 + R7)

Schritt 4: Entfällt, da Programm aus nur einem Befehl besteht.

Schritt 5: ....

Schritt 6: ....

Page 33: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

33

Beispiel 2: „Erzeugen“ einer Zahl a als Registerinhalt

Aufgabe: Für eine Berechnung soll eine Zahl a in ein Register geladen werden.

Schritt 1: Ausgangslage: Zur Konstruktion der Zahl a kann auf die bereits im Register abgelegte Zahl 1 zurückgegriffen werden.

Schritt 2: Die Zahl a lässt sich durch Addition und Shift-Operationen (d.h. Verdoppeln) aus der Zahl 1 erzeugen. Beispiel:

a = 8 = 2 2 (1+1)

Schritt 3: Die Zahl 1 stehe im Register R1, die zu konstruierende Zahl a soll im Register R6 abgelegt werden.

Schritt 4: Beispiel: a=8 kann mit folgender Befehlssequenz erzeugt werden:

1. R6 <- lsh(R1 + R1) ;; in R6 steht jetzt 2 (1+1) = 42. R6 <- lsh(R6) ;; in R6 steht jetzt 2 4 = 8

Page 34: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

34

Beispiel 3: Programmierung einer ZählerschleifeAufgabe: Es soll eine Schleife mit n Durchgängen programmiert werden.

Ansatz: Verwende eine Zählvariable, die bei jedem Schleifendurchgang um 1 dekrementiert wird, bis der Wert 0 erreicht ist. Die Schleife lässt mit zwei Sprungbefehlen realisieren. 1. Bedingter Sprung zum Abbruch der Schleife, falls

Zählervariable den Wert 0 hat.2. Unbedingter Sprung am Ende des Rumpfs zum

Schleifenanfang.Beispiel: Zählvariable steht im Register R7

Struktur der Schleife:Befehlsadresse: Befehln R7; if Z goto n+kn+1 ;;; Rumpfbefehle... ....n+(k-2) R7 <- R7 –1n+(k-1) goto nn+k ;;; erster Befehl nach Schleife

Page 35: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

35

Beispiel 4: Zugriff auf das RAM

Aufgabe: Der Inhalt einer RAM-Speicherzelle z1 soll um den Wert 1 inkrementiert werden und das Resultat soll in die Zelle z2 abgelegt werden.

MAR <- R1; rd

R2 <- MDR

R2 <- R2+1

R1 <- R1+1 MAR <- R1

MDR <- R2; wr

Ansatz: Folgende Schritte sind durchzuführen:

1. Adresse der RAM-Speicherzelle z1 ins Memory- Adress- Register (MAR) laden

2. Inhalt der Speicherzelle aus dem MDR in eine CPU Register laden

3. Registerinhalt inkrementieren

4. Adresse der RAM-Speicherzelle z2 ins Memory- Adress- Register (MAR) laden,

5. Ergebnis aus Register in MDR schreiben

Page 36: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

36

Beispiel 5: Abtesten eines bestimmten Bits

Aufgabe: Gegeben ein Maschinewort w der Länge n. Stelle fest, ob das k-te Bit aus w gesetzt ist oder nicht.

Ansatz: w sei im Register R abgelegt.

1. Wende auf R n-k Links-Shift-Operationen an, bis Bit k zum Vorzeichenbit wird. R <- lsh(R); ...; R<- lsh(R); ;; insgesamt (n-k) mal

2. Das Vorzeichnbit kann über das Statusregister N (Negativ) der ALU abgefragt werden.

R; if N goto x;

Page 37: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

37

Beispiel 6: Multiplikation zweier Zahlen

Aufgabe: Berechne das Produkt der beiden Zahlen a und b, die beide in Binärdarstellung im RAM abgelegt seien.

Schritt 1: Eingabe: zwei Zahlen a und b im RAM. Ausgabe: Ergebnis erg = a b

Schritt 2: Lösungsansatz: Multiplikation durch wiederholte Addition, d.h.,erg = b-malige Addition der Zahl a

Beispiel: a = 10= (1010)2, b = 11 = (1011)2

Variante 1 (analog zur klassischen Schulmathematik):

1010 1011 (a3a2a1a0) b = 1011 23 a3 b 0000 + 22 a2 b 1011 + 21 a1 b 0000 + 20 a0 b

1101110

Page 38: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

38

Beispiel 6: Multiplikation zweier Zahlen

Schritt 2: Variante 2: (a3a2a1a0) b = 23a3b + 22a2b + 21a1b + 20a0b

= 2 (2 (2a3b + a2b) + a1b) + a0b

aus dieser Darstellung lässt sich folgendes Verfahren ableiten:1. erg = a3b

2. erg = 2 erg Beispiel: a = 10 = (1010)2, b = 11 = (1011)2

3. erg = erg + a2b

4. erg = 2 erg5. erg = erg + a1b

6. erg = 2 erg7. erg = erg + a0b

1010 1011

1011 ;; 1. erg = a3b = 1b = b 10110 ;; 2. erg = lsh(erg)

10110 ;; 3. erg = erg+a2b = erg+0 101100 ;; 4. erg = lsh(erg) 110111 ;; 5. erg + a1b = 1101110 ;; 6. erg = lsh(erg) 1101110 ;; 7. erg = erg+a0b = erg+0

Page 39: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

39

Beispiel 6: Multiplikation zweier Zahlen

Schritt 2: Formulierung des Verfahrens als Programm-Ablauf-Plan (PAP) (a3a2a1a0) b = 2 (2 (2a3b + a2b) + a1b) + a0b

Start

erg

z:= 4; erg = 0; N = a3

z = 0

erg = 2* erg;

N = 0

erg = erg + b;

N = ai-1 d.h. lsh(a)z = z – 1;

ja

ja

nein

nein

Page 40: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

40

Zusammenfassung: Mikro-Programmierung

CPU spezifischer Befehlssatz (Art, Anzahl und Format der Befehle).

Darstellung der Befehle als Bitfolgen fester Länge.

Mikro-Programme sind meist auf dem CPU Chip in einem ROM abgelegt.

Mikro-Programme sind meist nicht änderbar (Firmware). Programmierung durch Anwender ist meist nicht vorgesehen.

Mikro-Befehle korrespondieren zu den elementaren Schalt-Funktionen, die ein Rechenwerk ausführen kann. => Entwicklung von Mikro-Programmen wir schnell aufwändig und unübersichtlich.

Als Leistungskenngröße von Prozessoren verwendet man häufig die Anzahl der Mikro-Befehle (OPS), die er pro Sekunde ausführen kann.(MIPS = Million Instructions per Second)

Page 41: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

41

Leistungsbewertung von Mikro-Prozessoren

Zur Bewertung der Leistungsfähigkeit von Prozessoren verwendet man meisten die folgenden beide Maße:- Cycles per Instruction - Leistungszahl L in MIPS (Million Instructions per Second)

Cycles per Instruction Dieses Maß hängt vom Befehlssatz des Prozessors ab. Man nimmt als

Maß die durchschnittliche Anzahl der Zyklen, die die n Befehle des Prozessors brauchen. Da jedoch nicht alle Befehle gleich häufig vorkommen, berücksichtigt man die Auftrittswahrscheinlichkeit pi des i-ten Befehls. Somit definiert man als Maß:

CPI = Σi zi pi

n: Anzahl der Maschinenbefehle, zi

: Anzahl Maschinenzyklen des i-ten Befehls pi

: Wahrscheinlichkeit für das Auftreten des i-ten Befehls

n

Page 42: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

42

Leistungsbewertung von Mikro-ProzessorenLeistungszahl L in MIPS (Million Instructions per Second) Dieses Maß gibt an, wie viele Befehle der Prozessor pro Sekunde im

Durchschnitt ausführt. Dazu muss neben der durchschnittlichen Zyklenzahl pro Befehl (CPI) auch noch die Dauer eines Zyklus berücksichtigt werden. Man definiert Das Leistungsmaß L:

L = 1 / (CPI T) T = Dauer eines Zyklus in Sekunden

Beispiel: Ein Prozessor kennt 6 Befehle, die sich auf zwei Gruppen verteilen. Gruppe1 umfasst 4 Befehle wovon jeder jeweils 2 Zyklen benötigt, Gruppe2 umfasst 2 Befehle wovon jeder jeweils 10 Zyklen benötigt.Die Befehle aus Gruppe 1 kommen jeweils mit einer Auftrittswahrscheinlichkeit p = 0.2 vor. Einer der Befehle aus Gruppe 2 hat eine Auftritts- wahrscheinlichkeit von p = 0.15, für den anderen gilt p= 0.05Die Zykluszeit des Prozessors beträgt 5 Nano Sekunden (= 0.000 000 005 sec)

=>CPI = 420.2 + 1100.15 + 110 0.05 = 1.6 + 1.5 + 0.5 = 3.6 L = 1 / (3.6 0.000 000 005) = 555 555 55 Instructions/sec ~ 55 MIPS

Page 43: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

43

Sprachebenen der Programmierung

Hochsprachen

Mikro-Befehle

Abbildung auf

Maschinen-Befehle

Assembler

Befehle einer virtuellen Maschine

Abbildung auf

Abbildung auf

Abstraktionsgrad hoch

niedrig

Abbildung auf

Page 44: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

44

Während der Mikrocode für den Anwendungsprogrammierer nur schwer oder überhaupt nicht zugänglich und änderbar ist (z.B. wegen Speicherung in ROM auf Prozessorchip, „Firmware“), stellt Maschinen-Sprache eine Schnittstelle zwischen Prozessor und System- und Anwendungssoftware dar.

Man spricht hier auch von der Befehlssatzarchitektur eines Prozessors.engl.: Instruction Set Architecture (ISA)

Maschinenbefehle werden entweder direkt auf entsprechende Mikrobefehle abgebildet oder auf eine Sequenz von Mikro-Befehlen. In diesem Fall hat der Maschinen-Befehl die Funktion eines Makros (= Zusammenfassung von mehreren Befehlen).

Beim ISA-Entwurf werden die Befehlsformate und Maschinen-Befehlstypen des Prozessors sowie die von außen her zugreifbaren Prozessor-Register definiert.

Die Unterscheidung zwischen RISC und CISC auf Mikrocode-Ebne spiegelt sich auch auf der ISA-Ebne wider. Es ist jedoch möglich, dass CISC auf ISA-Ebene auf eine RISC-Prozessorarchitektur abgebildet wird (Beispiel: P6-Mikroarchitektur des Pentium Pro Prozessors).

Maschinen-Sprache und Maschinen-Programme

Page 45: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

45

Der Befehlssatz eines Prozessors umfasst im Allgemeinen mindestens folgende Befehlstypen:

Verarbeitungsbefehle - arithmetische Verknüpfung- logische Verknüpfung - Schiebe- und Rotations-Operatoren

Transportbefehle

- Daten und Adressen laden- Daten im Register / Speicher ablegen

Steuerbefehle - Vergleiche, Abfrage von Statusregistern- Sprungbefehle - Unterbrechungsbefehle (Interrupts) - Befehle zur Beeinflussung des Systemzustands (Clear-Flag, Set, ...)

Typen von Maschinen-Befehlen

Page 46: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

46

Der Aufbau eines Maschinen-Befehls umfasst folgende Komponenten:

- Operationscode, kurz Opcode (welche Funktion hat der Befehl?)z.B. Laden von Daten in Register, Operanden Verknüpfen, Shift, ...

- Adressen der Operanden (wo stehen die zu verarbeitenden Daten?)

- Ergebnisadresse (wo soll das Ergebnis abgelegt werden?)

- Adressierungsart (wie findet man zu einer Adressangabe die effektiven Adressen der Speicherzellen / Register)

Genaue Struktur der Befehle, d.h. Anzahl und Reihenfolge der Bits pro Komponente, hängt vom jeweiligen Prozessor ab.=> Maschinen-Befehle gleicher Länge (z.B. 16 oder 32 Bit) unterschiedlicher Prozessoren sind nicht austauschbar!

Format von Maschinen-Befehlen

Page 47: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

47

1-Adress-Befehl: Bedeutung: <Acc> op <OpAdr> -> AccDer spezifizierte Operand wird mit dem Inhalt eines ausgezeichneten Registers ("Akkumulator", kurz: Acc) gemäß dem OpCode verknüpft, das Ergebnis wird im Akkumulator gespeichert.

2-Adress-Befehl:Bedeutung: OpAdr1> op <OpAdr2> OpAdr2Ergebnis wird im 2. Operanden abgelegt

3-Adress-Befehl:Bedeutung: <OpAdr1> op <OpAdr2> ResAdrMan gibt zusätzlich an, wo Ergebnis abgelegt wird.

Anmerkung: Je nach Befehlsformat redet man von:

1-, 2- oder 3-Adress-Maschinen.

Geläufige Formate für Maschinen-BefehleOPCode OPAdr

OPCode OPAdr1 OPAdr2

OPCode OPAdr1 OPAdr2 ErgAdr

Page 48: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

48

Akkumulatorarchitektur: ein Akkumulatorregister, das bei arithmetisch-logischen Befehlen immer implizit eine Quelle und das Ziel darstellt, so dass 1-Adress-Befehle genügen.

Register-Speicher-Architektur: in arithmetisch-logischen Befehlen adressiert mindestens einer der Operanden ein Register bzw. einen Speicherplatz im Hauptspeicher.

Lade-/Speicher oder Register-Register-Architektur: nur die Lade- und Speicherbefehle transportieren Daten zwischen dem Hauptspeicher (bzw. Cache-Speicher) und den Registern

Kellerarchitekturen: nur Nulladressbefehle, Operandenregister werden als Keller (Stack) verwaltet.

Arten von Befehlssatz-Architekturen

Page 49: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

49

Assembler Beispiele: Mikroprozessor 68HC11

Der 68HC11Micro-Controller von Motorola (1984) besitzt vier 8-Bit-Register und fünf 16-Bit-Register:

Page 50: 1 Vertiefungsstoff zum Thema: Mikrocomputer Anbindung von Ein- und Ausgabegeräten Plattenspeicher -Aufbau - RAID Technik Überblick zu gängigen Bus-Systemen.

50

Assembler Beispiele: Mikroprozessor 68HC11

Schiebe- und Rotationsbefehle Logische Shifts

LSRA (Akku nach rechts)LSLA (Akku nach links)

Arithmetische Shifts (erhält Vorzeichen)ASRA (Akku nach rechts)ASLA (Akku nach links)

RotationenROLA (Akku links rotieren)RORA (Akku rechts rotieren)