6. Funktionseinheiten eines Computers / Mikrocomputers

Größe: px
Ab Seite anzeigen:

Download "6. Funktionseinheiten eines Computers / Mikrocomputers"

Transkript

1 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar 6. Funktionseinheiten eines Computers / Mikrocomputers CPU Zentraleinheit Prozessor Rechenwerk und Steuerwerk Adreß-Bus Daten-Bus Steuer-Bus Speicher Arbeitsspeicher Hauptspeicher für Programme u. Daten Schnittstelle Ein- / Ausgabe Peripherie 1. Prozessor, ( CPU, Zentraleinheit, Mikroprozessor ) wichtigste Komponente, seine Eigenschaften bestimmen wesentlich die Leistungsfähigkeit des gesamten Computers, ( CPU auf einem Chip -> Mikroprozessor -> Mikrocomputer; CPU = central processing unit ) 2. Speicher, bestehend aus Festwertspeicher ( Nur-Lese-Speicher ROM ) und flüchtigem Schreib/Lese- Speicher ( RAM ) enthält die Programm-Befehle und die zu verarbeitenden Daten. 3. Periphere Bausteine ( Interface, Schnittstellen) verbinden den Mikrocomputer mit der Außenwelt, z.b. mit Drucker, Tastatur, Bildschirm, Floppylaufwerk, Festplatte oder einem Meßgerät. Tastatur, Maus und Bildschirm bilden die Schnittstelle für die Mensch-Maschine-Kommunikation Aufgaben der Interfacebausteine sind - zeitliche Abstimmung, da Peripherie deutlich langsamer - Pegelanpassung (unterschiedliche Spannungen) - Daten puffern ( zwischenspeichern ) 4. Bus-System - Verbindungsleitungen (Adreß-, Daten- und Steuerbus) dienen der bidirektionalen Übertragung von Informationen zwischen Prozessor / Speicher und Prozessor / periphere Bausteine. 5. Software (Programme) beinhaltet die Anweisungen ( Befehle ) an den Prozessor und legt damit die Aufgabe des Computers fest. Die Anpassung des Mikrocomputer an die jeweilige Aufgabe erfolgt durch - unterschiedliche Speicherkonfiguration (ROM / RAM ) - verschiedene Schnittstellenbausteine - anwendungsspezielle Software.

2 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar 6.1 Aufbau eines Mikroprozessors Der Mikroprozessor enthält die logischen Funktionen eines Prozessors auf einem einzigen hochintegrierten Halbleiterbaustein ( integrated circuit IC in MOS-Technologie). Der Prozessor ist ein Automat ( synchrones Schaltwerk ) der eine festgelegte Anzahl von Tätigkeiten ( Menge der Maschinenbefehle, Befehlssatz ) ausführen kann und damit den gesamten Computer steuert und arithme - tische und logische Aufgaben löst. Er ist also für die Abarbeitung der Maschinenbefehle zuständig, die in binärcodierter Form im Arbeitsspeicher vorliegen und in ihrer Gesamtheit ein ablauffähiges Programm bilden. Ein von einem Quarzgenerator extern erzeugter Takt sorgt innerhalb der CPU für den synchronen Ablauf der Arbeitsvorgänge. Ein Resetimpuls (auch beim Einschalten) versetzt den Prozessor in einen definierten Grundzustand, aus dem heraus er sofort mit der Befehlsabarbeitung an einer konstanten, festgelegten Adresse im Arbeitsspeicher beginnt. Steuerbus Adreßbus (16, 20, 24, 32 Bit ) Datenbus ( 8, 16, 32, 64 Bit ) Steuersignale Adressen Befehle Daten Register Register Ablaufsteuerung A L U interne Steuerwerk Steuersignale Rechenwerk Das Rechenwerk besteht aus Registern ( CPU interner schneller Speicher) und der Arithmetisch-Logischen- Einheit (ALU), einer Rechenschaltung für die Verarbeitung von Daten. Das Steuerwerk (Leitwerk) besteht aus einer Ablaufsteuerung, die den binären Code der Programmbefehle in Steuersignale umsetzt. Es holt sich das Programm Befehl für Befehl aus dem Arbeitsspeicher und führt die Befehle aus, indem es die Operanden aus dem Arbeitsspeicher in das Rechenwerk lädt, dort die erforderlichen Operationen anstößt und eventuell anschließend das Ergebnis in den Arbeitsspeicher schreibt. Die Register des Steuerwerks enthalten Adressen und das zentrale Register des Steuerwerks ist der Befehlszähler ( Program Counter PC oder auch Instruction Pointer IP ) mit der Adresse des nächsten Befehls. Die Breite der Register (8, 16 oder 32 Bit ) von Rechen- und Steuerwerk entspricht meist der externen Datenbusbreite und ist zusammen mit der Taktfrequenz ein überschlägiges Kriterium für die Leistungsfähigkeit des Mikroprozessors. Bus -System eines Mikrocomputers Leitungssystem für die parallele, gleichzeitige Übertragung von Signalen zwischen den Komponenten eines Mikrocomputers (auch innerhalb des Mikroprozessors) Datenbus - Transport von Befehlen und Daten zwischen Prozessor und Bausteinen, bidirektional Mikroprozessoren werden nach der Breite des Datenbusses eingeteilt ( 8, 16, 32 oder 64 Bit ) Adreßbus - Mikroprozessor legt die Adresse eines Speicherwortes (Byte ) oder die Adresse des Registers eines Peripheriebausteines auf den unidirektionalen Adreßbus (16, 20, 24 oder 32 Bit ) Steuerbus - Sammelschiene für unterschiedlichste Steuersignale zur zeitlichen und logischen Koordination der Abläufe ( z.b. Schreiben / Lesen im Speicher ) durch den Mikroprozessor.

3 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar 6.2 Speicherbausteine hoch Kosten/Bit Worte Register ( parallele Flipflops ) k-byte Cache ( SRAM) M -Byte Haupt - bzw Arbeitsspeicher (EPROM u. DRAM) Geschwindig - M -Byte Diskette / Floppy keit G-Byte Festplatte u. Magnetband G-Byte Optische Speicher ( CD, DVD ) niedrig Speicherhierachie in Computersystemen Die in Computersystemen verwendeten Halbleiterspeicher sind intern als Matrixspeicher organisiert. Durch das Anlegen einer Adresse kann in einem wahlfreien Zugriff ( random access ) auf das Speicherelement (meist 1 Bit oder 1 Byte ) zugegriffen werden, d.h. entweder der Inhalt ausgelesen oder ein neuer eingeschrieben werden. Die Zugriffszeit (access time ) kennzeichnet die Zeitspanne, die zwischen dem Anlegen der Adresse und der Verfügbarkeit der gültigen Daten an den Ausgängen vergeht. Die Zykluszeit ist die Zeitspanne vom Beginn eines Speichervorganges bis zu dem Zeitpunkt, an dem ein neuer Speichervorgang beginnen kann und setzt sich zusammen aus der Zugriffszeit und möglicherweise einer Regenerationszeit für das Wiederherstellen der beim Lesen zerstörten Information (DRAM). Nach der Beständigkeit der Information bei Spannungsausfall unterscheidet man flüchtige Schreib/Lese- Speicher ( RAM ) und nichtflüchtige Festwertspeicher ( Nur-Lese-Speicher read only memory ROM ) ROM - Festwertspeicher (Read only memory), nichtflüchtig für Programme und konstante Daten ROM - vom Hersteller maskenprogrammiert, nur wirtschaftlich bei großen Stückzahlen PROM - vom Anwender mit Programmiergerät einmal programmierbar EPROM - (erasable PROM) mit UV-Licht löschbar und vom Anwender neu programmierbar EEPROM / EAROM - electrically alterable ROM, kann in Schaltung umprogrammiert werden Flash-PROM - technisch u. preislich zwischen EPROM und EEPROM angesiedelt, ganzer Chip bzw Teile (Page, Block) lassen sich in Sekundenbruchteilen löschen und neu program mieren, wobei die dafür nötige Spannung von 12V auf dem Chip erzeugt wird und dieser dabei in der Schaltung verbleiben kann. Kapazität byteorganisiert bis 20 Mbit, Lesespannung 5V und Lesezugriffs - zeit < 100 nsec, Siliziumdisk, PCMCIA-Memory-Card, BIOS-Festwertspeicher RAM - Schreib-Lesespeicher für variable Information, flüchtig, ohne Spannung Datenverlust SRAM - statisches RAM, Speicherelement sind Flipflops und deswegen Datenhaltung solange Spannung anliegt, wortorganisiert (meist 1 Byte), störsicher und zuverlässig, problemloser Anschluß, kurze Zugriffszeit von wenigen nsec ( Zykluszeit ), um Faktor 4 niedrigere Speicherdichte als DRAM, teuer DRAM - dynamisches RAM, da Speicherelement ein Kondensator,benötigt es alle ms einen Refresh, viermal höhere Integrationsdichte und dadurch kostengünstiger als SRAM, überwiegend bitorganisiert, meistens Multiplexen der beiden Adresshälften, Zugriffszeiten < 100 nsec, störanfällig, billig dynamische Speicherbausteine mit integrierter Refreshlogik erhältlich ( pseudostatische DRAM ) Mit den Begriffen FPM (Fast Page Modus), EDO (extended data out ) oder SDRAM (synchrones dynamisches RAM ) sind DRAM-Bausteine gemeint, bei denen durch besondere Betriebsmodi die Zugriffszeiten abgekürzt werden.

4 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar 6.3 Software Ein Programm für einen Prozessor besteht aus einer sequentiellen Folge von binären Bitmustern, den Maschinenbefehlen ( Makrobefehle ). Ein Maschinenbefehl kann z.b. im PC 1 bis 9 Byte lang sein. Bei der Abarbeitung des Programms werden diese Befehle sukzessive im Maschinencode aus dem Arbeitsspeicher über den Datenbus in den Prozessor geladen. Der Operationscode (opcode) des Befehls, der die gewünschte Operation und die dazu benötigten Prozessor- Komponenten spezifiziert, wird in die Befehlsregister des Steuerwerks geladen. Ein Programm in Maschinensprache ist also eine Folge von binär codierten Befehlen (Objectcode). Diese Maschinenbefehle sind als eine Folge von Nullen und Einsen (Bitmuster) sehr unübersichtlich und werden deswegen grundsätzlich in hexadezimaler Schreibweise abgekürzt und übersichtlicher dargestellt. Für das Programmieren sind diese hexadezimalen Abkürzungen immer noch zu unhandlich und von daher erfolgt der Schritt zur Verwendung einer Assemblersprache mit mnemonischen Abkürzungen für die Befehle. Beispiel: MOV A,#13 Assemblerbefehl ( 2 Byte ) Lade Akkumulator mit Konstante D Maschinenbefehl hexadezimal ( Opcode ->74h, Operand-> 13 ) Maschinenbefehl binär Der Begriff Assembler wird zum einen für die Sprache (Vereinbarung der mnemonischen Abkürzungen) als auch für das Übersetzungsprogramm (das aus den mnemonischen Abkürzungen die Maschinenbefehle erzeugt) verwendet. Programmierung in Assembler ist bei Mikrocomputern noch recht häufig, da der aus Assemblerprogrammen erzeugte Maschinencode gegenüber demjenigen aus Hochsprachen erzeugten schneller und speicher- effizienter ist. Andererseits ist für Assemblerprogrammierung ein hoher Einarbeitungsaufwand nötig und der Assemblercode ist prozessorabhängig (nicht kompatibel). Die Compiler ( Übersetzerprogramme ) für höhere Programmiersprachen erzeugen zum einen direkt den Maschinencode für den jeweiligen Prozessor oder generieren in der jeweiligen Assemblersprache einen sogn. Zwischencode, der anschließend vom Assembler übersetzt wird. Im Mittel werden für die Realisierung eines Hochsprachen-Befehls ungefähr Maschinenbefehle benötigt. Bei Generierung eines Assembler-Zwischencodes, kann falls gewünscht, dieser von Hand optimiert werden. Ein Betriebssystem ordnet sich zwischen Hardware und Anwendersoftware ein und man versteht darunter nach DIN: " diejenigen Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen." Infolgedessen umfasst das Betriebssystem nur die Basissoftware, die einem Benutzer der Anlage erst ermöglicht seine eigene (Anwendungs-)Software mehr oder weniger komfortabel ablaufen zu lassen. Betriebssysteme bestehen im wesentlichen aus Hilfsprogrammen für Dateiverwaltung, Editieren, Übersetzen, Linken/Laden und Testen (Debuggen). Einfachste Betriebssysteme (ohne Massenspeicher) werden als Monitor bezeichnet (im MVUS > MONITOR-51, auch DEBUG im PC kann als solches betrachtet werden ) Bekannteste Betriebssysteme für Personalcomputer und Arbeitsplatzrechner sind CP/M (8 Bit) DOS (16 Bit) OS-2 (32 Bit) UNIX (32 Bit) WINDOWS (32 Bit) LINUX (32 Bit) Betriebssysteme lassen sich grob in Singletasking- und Multitasking-Systeme unterteilen, wobei letztere die (quasi-) "gleichzeitige" Ausführung mehrerer Programme (Tasks, Prozesse) unterstützen. Beim kooperativen Multitasking unterbricht sich eine Anwendung selbst, um einer anderen vorübergehend den Vortritt zu lassen ( WINDOWS 3.x ) und beim preemtiven Multitasking wird jedem Programm ( Task ) vom Scheduler eine Zeitscheibe zugeteilt (WINDOWS 98, UNIX, LINUX ). Bei Echtzeitbetriebssystemen wird für den Taskwechsel eine bestimmte Zeitdauer garantiert, damit zeit - kritische Aufgaben ausreichen schnell bearbeitet werden können. Verbreitete Echtzeitbetriebssysteme (Multitasking): RMX 86 und OS-9

5 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar 6.4 Bauformen und Einsatz von Mikrocomputern Mikrocontroller Der Single-Chip-Mikrocomputer besteht aus einem einzigen Baustein, d.h. er ist ein vollständiger Rechner auf einem Chip. Neben dem Prozessorkern (meist aus einer erfolgreichen Mikroprozessorfamilie ) enthalten diese Bausteine eine aufgaben- bzw kundenspezifische Speicher- und Peripheriebestückung. Nur die Anschlüsse der Peripherie-Komponenten werden an den Stiften ( Pins ) herausgeführt. Sie werden für einfache Steuerungen ( controller ) im Masseneinsatz verwendet und diese Embedded Systems - Anwendungen sind sicherlich die am weitesten verbreitete Mikrocomputerform, allerdings meist unsichtbar für den Geräteanwender. Beispiel : Intel 8051-Familie mit / im MVUS-System der FH-Dieburg Ein-Platinen-Computer Der Single-Board-Mikrocomputer besteht aus einer Karte mit einer gedruckten Schaltung. Prozessor, Speicherbausteine und Peripheriebausteine werden durch Leitungen miteinander verbunden. Mit Erweiterungssteckern können Zusatzkarten (z.b. Speichererweiterung, Grafik) angeschlossen werden. Beispiel : Motherboard des PC Einsatzgebiete: Personalcomputer, Hobbycomputer, Arbeitsp1atzrechner Programmierung in Assembler und höheren Programmiersprachen Baugruppen-System Das Bauplattensystem besteht aus einzelnen Karten im Europa oder Doppeleuropaformat für ein Einschub- Gehäuse (Rack) mit einer standardisierten Bus-Rückwand. Es gibt Prozessorkarten, Speicherkarten und Peripheriekarten. Der Rechner wird nach den Erfordernissen der Anwendung zusammengesteckt und läßt sich daher leicht ändern und erweitern. Die verschiedensten Hersteller können Karten für das jeweilige genormte Bus- System anbieten. Systeme : ECB ( 8 Bit Z80 / 8080 ), VME-Bus ( Motorola ), Multibus ( Intel 80x86 ) Einsatzgebiete: Steuerung von Maschinen und Anlagen (Prozeßrechner), insbesondere in der industriellen Automatisierungs- und Robotertechnik. Digitale Signalprozessoren DSP sind speziell für die schnelle digitale Verarbeitung von analogen Signalen (z.b. Audio, Video ) ausgelegt. Die Synthese und Analyse von analogen Signalen ist sehr rechenintensiv und benötigt spezielle Reihenentwicklungen. Hierzu ist die Multiplikation und eine anschließende Addition zu einem bereits vorhandenen Wert nötig ( DFT bzw FFT ) DSPs haben ein Rechenwerk, das auf solche Berechnungen spezialisiert ist. Auf den Bausteinen befinden sich mehrere Analog/Digital- ( ADC ) und Digital/Analog-Wandler DAC. Außerdem besitzen sie meist getrennte Programm- und Datenspeicher mit jeweils eigenen Bussystemen und vermeiden mit dieser Harvard-Architektur den von-neumannschen Flaschenhals. Anwendung: Sprach- und Bildverarbeitung, Regelungstechnik, Telekommunikation. Co-Prozessoren erfüllen im Computer spezielle Aufgaben und entlasten dadurch die CPU. Arithmetik-Co-Prozessoren übernehmen die Gleitkommaberechnungen, Graphik-Co-Prozessoren führen komplexe graphische Berechnungen durch. Daneben übernehmen Spezial -Mikrocontroller die Kommunikation und Verwaltung von Externspeicher (Hard Disk Controller, Floppy Disk Controller ), Bildschirm, serielle Schnittstelle (USART) und Netzwerken. Multimediaprozessoren beschleunigen die Bildverarbeitung. Mit zunehmendem Integrationsgrad werden viele dieser Hilfsfunktionen in den Mikroprozessor integriert.

6 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar 6.5 Elektronische und digitale Grundlagen Digitale Schaltungen werden mittels logischer Funktionen aufgebaut. Die drei logischen Grundfunktionen sind die UND-, ODER- und NICHT-Verknüpfung. Jede digitale Logikschaltung (z.b. Pentium III ) kann nun entweder nur mit UND- und NICHT-, oder ODERund NICHT-Verknüpfungen beschrieben werden. Diese logischen Funktionen werden durch elektronische Schalter ( Transistoren ) realisiert, die mit einer Versorgungsspannung von 5 V ( 3,3 V ) betrieben werden. Die Hersteller von derartigen integrierten Logikfunktionen garantieren bei Einhaltung der Grenzwerte für Temperatur, Versorgungsspannung und Ausgangsbelastung (fan out) für ihre Bausteine die Einhaltung der sogn. Logikpegel ( TTL-Pegel, TTL = Transistor-Transistor-Logik ) von V für Low und 2 5 V für High. Die Ausgangsschaltungen derartiger Logikfunktionen werden im folgenden mit Schaltern symbolisiert. + 5V + 5V + 5V H = 1 L = 0 potentialfrei (hochohmig) 0 V 0 V 0 V Ausgang High Ausgang Low Ausgang abgeschaltet ( tristate ) Gegentakt-Ausgang Tristate -Ausgang für Bildung von Bussystemen benötigt Schaltnetze sind logische Funktionen, die binäre Eingangsworte in binäre Ausgangsworte umwandeln. Und zwar hängt bei diesen kombinatorischen Schaltungen, die Ausgabe nur von der momentan anliegenden Eingabe ab. Schaltwerke entstehen aus Schaltnetzen durch Rückkopplungen und weisen Speicherverhalten auf. Durch dieses Speicherverhalten ist der Ausgang auch von früheren Eingaben abhängig, das Schaltwerk hat also ein Gedächtnis, das in den sogn. Zuständen des Schaltwerkes realisiert ist (sequentielle Logik, finit state machine ). Um in den Rückkopplungszweigen der einzelnen Zustände gleiche Laufzeiten (Verzögerungszeiten ) zu erzielen, fügt man in diese Rückkopplungszweige taktgesteuerte Schalt/Speicherelemente ( Flipflops ) ein, die nur zu den definierten Taktzeitpunkten die anliegenden Signale übernehmen, bzw weiterleiten. Da durch den Takt in allen Rückkopplungszweigen synchrones Verhalten erzwungen wird, bezeichnet man getaktete Schaltwerke als synchrone Schaltwerke. Komplexe digitale Schaltungen wie z.b. Mikroprozessoren sind Automaten und lassen sich nur als getaktete synchrone Schaltwerke realisieren. Eingänge Schaltwerk Schaltnetz Ausgänge Verzögerung Speicher Zustände Automat Die ersten Mikroprozessoren in den 70iger und 80iger Jahren wurden alle als mikroprogrammiertes Steuerwerk entworfen und erhielten später die Bezeichnung CISC (Complex Instruction Set Computer ).

7 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Man zielte darauf ab, immer mehr und komplexere Befehle auf der Maschinenbefehlsebene zur Verfügung zu stellen. Dabei wird das interne Schaltnetz dieser CISC-Prozessoren in Form eines Festwertspeichers (mikroprogrammiertes Steuerwerk ) realisiert. Jeder der Befehle ( Makrobefehl ) aus dem externen Arbeitsspeicher wird im Steuerwerk des CISC-Prozessor durch ein Mikroprogramm abgearbeitet. Dieses Mikroprogramm befindet sich im internen Festwertspeicher und steuert die Abarbeitung des Makrobefehles aus dem externen Programmspeicher. Das Mikroprogramm im internen Festwertspeicher wird als Firmware bezeichnet und in den 80iger Jahren gab es mikroprogrammierbare Mikroprozessoren, bei denen der Anwender durch Implementierung eines eigenen Mikroprogramms seinen eigenen Befehlssatz erzeugen konnte. Seit Beginn der 90iger Jahre hat sich die Architektur des RISC-Prozessors ( Reduced Instruction Set Computer ) durchgesetzt. Ansatz dabei war die Beschränkung auf wenige, einfache Befehle ( ungefähr 100 ) und die optimale Implementierung dieser wenigen Befehle auf dem Prozessor. RISCs benötigen wegen ihrer einfachen Befehle keinen Mikrocode und deswegen wird bei ihnen das interne Schaltnetz in festverdrahteter Logik (Gatterverküpfungen ) realisiert. Diese einfachere Hardware läßt höhere Taktraten zu und da die Befehlsverarbeitung nach dem Pipeline-Prinzip erfolgt, wird meist pro Maschinentakt ein Befehl beendet. Da die heutigen Mikroprozessoren (Intel 80x86, Motorola 680x0 usw ) kompatibel zu den ersten CISC- Bausteinen der jeweiligen Mikroprozessorfamilie bleiben müssen, sind auf den heutigen Bausteinen meist CISCund RISC-Komponenten gemischt untergebracht. Als grobe Kriterien für die Leistungskategorie des Prozessors bzw Rechners gelten die externe Datenbus - breite die meistens identisch ist mit der internen Registerbreite und der Takt. Je größer die Taktrate und die Datenbusbreite, um so mehr Daten können pro Zeiteinheit aus dem Arbeits - speicher in den Prozessor übertragen werden. 6.6 Personal-Computer PC und Intel 80x86-Prozessoren. Der 16-Bit-Prozessor 8086 begründete die 80x86-Familie von Intel und wurde in der Light-Version des 8088 (nur 8-Bit-Datenbus) der Stammprozessor des IBM-Personal -Computers. Der 8086 wurde so weit wie nur möglich kompatibel zur 8-Bit-Vorgängergeneration 8080/8085 entwickelt und hatte neben einem 16-Bit-Datenbus einen 20-Bit-Adressbus mit einem realen Adressraum von 1 Mbyte. Dieser Adressierungsmodus wird als Real-Mode bezeichnet und das Betriebssystem DOS (Disk Operating System ) ist in seinen Funktionen im wesentlichen auf diesen Real-Mode beschränkt. PC-Kategorie Prozessor Register [Bit] Datenbus [Bit] Adreßbus [Bit] Takt [MHz] Ur-Pc ,77 XT ,77 10 AT Pentium Pentium IV Pentium IV > 1500 Um ein Programm, das für den ersten Ur-PC entwickelt wurde, auch noch auf einem heutigen Pentium-PC ablaufen lassen zu können, sind alle Intel 80x86-Prozessoren aufwärtskompatibel, d.h. sie enthalten alle Befehle und Funktionen der vorhergehenden Prozessorgeneration. In jedem 80x86-Prozessor ist somit der Real-Mode ( 8086-Prozessor ) vorhanden und da unter dem Betriebssystem WINDOWS auch das Betriebssystem DOS zur Verfügung gestellt wird, ist Kompatibilität zurück bis zum Ur-Pc gewährleistet. Bei den Nachfolgeprozessoren des 8086 hat INTEL zur Unterstützung eines Multitasking durch ein vierstufiges Speicherschutzkonzept den sogn. Protected Virtual-Adress-Mode ( PVA ) eingeführt. Da sich alle 80x86-Prozessoren nach dem Einschalten im Real Mode befinden, erfolgt die Umschaltung in den Protected-Mode durch Setzen eines Bits im Maschinenstatuswort. Der Speicher über der 1Mbyte-Grenze ( Extended Memory bis 4 Gbyte ) kann von den 80x86-Prozessoren nur im Protected-Mode angesprochen werden. Der ab dem zur Verfügung stehende Virtual 8086 Mode ermöglicht die Betreibung von Real-Mode- Programmen in der geschützten Umgebung des Protected-Mode. ( z.b. MS-DOS-Eingabeaufforderung unter WINDOWS ) Ab dem ist die interne Registerbreite von 16 auf 32 Bit verdoppelt worden und diese stehen auch im Real-Mode zur Verfügung, können aber aus Gründen der Kompatibilität für DOS-Programme nicht effizient verwendet werden.

8 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar 6.7 Der Personal-Computer als Mikrocomputer-Versuchs und Übungssystem ( PC MVUS ) Mit den DOS-Hilfsprogrammen DEBUG und EDIT kann man ohne symbolische Assembler wie TASM ( Borland ) oder MASM ( Microsoft ) den PC als Mikrocomputer Versuchs- und Übungssystem benutzen. Das DOS-Kommando DEBUG dient der Fehlersuche ( debugging ) auf Maschinenbefehlsebene. Man kann es aber auch als ein Einfachst-Betriebssystem (sogn. Monitor ) verwenden, mit dessen Hilfe kleine Assembler- Programme entwickelt und getestet werden und auch ablaufen können. Denn DEBUG enthält einen einfachen Zeilenassembler mit dessen Hilfe unter DOS im Real-Mode kurze COM-Programme ( Begrenzung auf 64 Kbyte ) entwickelt werden können. Die Ein/Ausgabe über Tastatur und Bildschirm wird mit Hilfe der entsprechenden Betriebssystemfunktionen (DOS und BIOS-Interrupts ) für Tastatur und Bildschirm bewerkstelligt. Das Monitorprogramm DEBUG erlaubt es, Assemblerbefehle Zeile um Zeile in Maschinencode umzuwandeln und ab einer bestimmten Adresse im Speicher abzulegen ( line by line Assembler ). Bei dieser einfachsten Art der Programmierung können jedoch Operanden wie z.b. Adressen und Konstanten nicht symbolisch, d.h. in Form von definierten Bezeichnern angegeben werden, sondern müssen stets als Hexadezimalzahlen in der Assemblerzeile auftreten. Insbesondere bei Sprungbefehlen muß dazu das Sprungziel als absolute Adresse angegeben und vom Programmierer vorher berechnet werden. Müssen später weitere Assemblerbefehle eingefügt werden, so verschieben sich die Adressen für die folgenden Befehle entsprechend und der Vorteil eines komfortablen Assemblers zur professionellen Programmentwicklung wird schnell deutlich. Mit dem zu DOS gehörendem Texteditor EDIT kann man für größere Programme eine Quelldatei aus Assemblerbefehlen und DEBUG-Anweisungen erzeugen, die dann in einem Durchlauf vom Debugger übersetzt werden kann. Damit lassen sich mit dem Debugger auch größere Assemblerprogramme handhaben. 6.8 DEBUG Der englische Begriff bug bedeutet soviel wie Wanze oder Käfer. Tatsächlich wird ein Fehler in einem Computerprogramm im Fachjargon ebenfalls als bug bezeichnet. Entsprechend wird die Fehlersuche oder Fehlerbeseitigung in Programmen Debugging genannt. Man unterscheidet im wesentlichen drei verschiedene Arten von Fehlern, die bei der Erstellung von Computerprogrammen auftreten können: - Syntaxfehler - Laufzeitfehler - Logikfehler Ein Syntaxfehler ist ein Verstoß gegen die Regeln der jeweiligen Programmiersprache, also beispielsweise ein Tippfehler oder ein gänzlich unbekannter Befehl. Der Compiler (=Programm, das die geschriebenen Befehle in die für den Computer verständliche Binärcodierung umsetzt) meldet solche Fehler und fordert den Programmierer zur Korrektur auf. Syntaxfehler sind die einfachste und "angenehmste" Fehlerart und entsprechend leicht zu beheben. Bei einem Laufzeitfehler konnte das Programm vom Compiler zwar korrekt in Maschinencode übersetzt (=compiliert) werden, doch weist das Programm bei seiner Ausführung einen Fehler auf, der zum Beispiel durch eine Division durch Null (hierauf reagieren Computer sehr empfindlich) oder durch andere unerlaubte Dinge ausgelöst wurde, die zum Zeitpunkt der Compilierung noch nicht abzusehen waren (Drucker nicht bereit, falscher Bildschirmtyp, Festplatte voll etc.). Die unangenehmste Fehlerart sind die Logikfehler: das Programm wurde ebenfalls fehlerfrei compiliert und arbeitet sogar - nur leider tut es nicht das, was es eigentlich tun sollte. Logikfehler sind in der Entwicklungsphase größerer Programme unvermeidbar, da kein Programmierer ein Programm derart vor seinem geistigen Auge ablaufen lassen kann, wie es der Computer später real ausführt.

9 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar 7. 1 Programmiermodell des INTEL 8086-Prozessors ( Real Mode ) enthält die Register mit ihren symbolischen Namen, die für den Programmierer erreichbar sind. Bit-Nummer AX AH AL AL Arbeitsregister allg. Arbeitsregister 16 Bit breit auch als zwei 8-Bit-Register verwendbar BX BH BL BL H -> High höherwertiges L-> Low niederwertiges Byte CX CH CH CL CL DH DL DX DH DL Offsetregister SI Indexregister SI -> Source Index ( Quellindex ) DI DI -> Destination Index (Zielindex ) SP BP Stapelzeigerregister SP-> Stackpointer zeigt auf den aktuellen Eintrag im Stack ( Stapel ) BP -> Basepointer CS Segmentregister CS-> Codesegment, zeigt auf Speichersegment mit aktuellem Programmcode DS DS->Datensegment, zeigt auf Daten ES ES->Extrasegment ( 2.Datensegment ) SS IP F SS->Stacksegment, zeigt auf Stapelsegment für Zwischenspeicherung Befehlszeiger IP-> Instruction Pointer zeigt auf die Speicheradresse mit dem nächsten auszuführenden Befehl Prozessorstatusregister F -> Flagregister, die einzelnen Flags (Bits) weisen auf wichtige interne Prozessorzustände hin. Flagregister (Status register) F : NT IO PL O D I T S Z 0 A 0 P 1 C Kurzbez. Bezeichnung Debug-Bez. Bedeutung 1 0 C Carry CY / NC C zeigt einen Übertrag aus der höchstwertigen Stelle an wird benötigt bei arithmetischen und logischen Operationen P Parity PE / PO Im niederwertigen Byte des Ergebnisses ist die Anzahl der auf even / odd 1 stehenden Bits gerade (even) (keine Ergänzung!! nur Anzeige ) A Auxiliary AC / NA zeigt einen Übertrag von Bit 3 nach Bit 4 an Carry benötigt für Dezimalkorrektur beim Rechnen mit BCD-Zahlen

10 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Z Zero ZR / NZ zeigt an, ob das Ergebnis einer Operation 0 ist S Sign NG / PL zeigt das Vorzeichen eines Ergebnisses an ( höchstwertiges Bit ) O Overflow OV / NV Überlauf, d.h. Vorzeichenumkehr, Überschreiten des Zahlenbereiches vorzeichenbehafteter Dualzahlen Steuerflags D Direction DN / UP gibt bei Stringoperationen die Indexrichtung (inkrementieren oder dekrementieren) an I Interrupt Enable EI / DI maskierbare externe Interrupts werden zugelassen (INTR-Eingang) / gesperrt T Trap nach Ausführung eines Maschinenbefehls wird ein Interrupt ausgelöst, um Programme zu testen ( Einzelschrittmodus ) Adressierung Im Real -Mode arbeiten die 80x86-Prozessoren mit einer 20-Bit-Adresse und können damit einen Speicher - bereich von 1 Mbyte adressieren. Da aber nur 16 Bit breite Register zur Verfügung stehen, wird die physikalische 20-Bit-Adresse aus einer effektiven 16-Bit-Adresse ( Offsetadresse ) und einem Segmentregisterinhalte (16 Bit) automatisch im Prozessor gebildet ( Segment : Offset ) Dazu wird der Segmentregisterinhalt um 4 Stellen nach links geshiftet (entspricht Multiplikation mit ) und die Offsetadresse addiert. Physikalische Adresse ( 20 Bit ) = Segmentadresse ( 16 Bit ) * Offsetadresse (16 Bit ) Bei der Programmcodeadressierung bilden das Codesegmentregister und der Instruction-Pointer ein Paar und man schreibt CS : IP z.b. 4F7E : 2100 Offsetadresse h Segmentadresse * F 7 E h absolute Adresse = E 0 h Die Summe von Segment- und Offsetadresse führt immer zu einem eindeutigen Ergebnis, umgekehrt kann von einer absoluten Adresse nicht eindeutig auf eine Offset- und Segmentadresse geschlossen werden, da es eine Vielzahl möglicher Kombinationen gibt. Eine Änderung der Segmentadresse um 1 bewirkt eine Änderung der absoluten ( physikalischen ) Adresse um nur 16 ( = 1 Paragraph ) Jedem Programm das unter DOS läuft, werden im Speicher das Codesegment CS, das Datensegment DS, das Stacksegment SS und das Extrasegment ES zugewiesen. Ein einzelnes Segment, dessen Beginn durch den Inhalt des Segmentregisters festgelegt wird, kann 64 kbyte groß sein. Die einzelnen Segmente können völlig getrennt sein oder sich mehr oder weniger überlappen. Durch diese vier Segmentregister ist es möglich, vier verschiedene Speicherbereiche gleichzeitig in einem Programm anzusprechen. Beim Laden von.com-programmen werden von DOS alle vier Segmentregister auf die gleiche freie Adresse im Arbeitsspeicher gesetzt. Damit stehen in COM-Programmen nur 64 kbyte Speicher zur Verfügung und man arbeitet im Grunde wie bei einer 16-Bit-Adressmaschine nur mit den Offsetadressen. Folgende Registerpaare sind zur Adreßbildung einander fest zugeordnet: Befehlsadresse CS : IP Stapeladresse SS : SP Zieladresse ES : DI

11 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Speicherbelegung im PC unter DOS 1MByte FFFFF F0000 C0000 BIOS ROM System- BIOS Andere ROM Bereiche Zusatz- BIOS Bildschirm RAM 640Kbyte A0000 COMMAND.COM ladbarer Teil freier RAM für Anwendungen COMMAND.COM residenter Teil 057FF FF DOS - Variablen, Puffer Gerätetreiber MSDOS.SYS BIOS IO.SYS Variablen Interruptvektoren Adressen Unter DOS sind die ersten 640 kbyte für das Betriebssystem und die Anwendungsprogramme reserviert. Über 640 Kbyte liegt zunächst der Video-RAM, an den sich ab 768 kbyte die verschiedenen BIOS anschließen. Über 1Mbyte beginnt der Extended Memory, der sich bis 4 Gbyte ( 32-Bit-Adressbus ) erstrecken kann. Der sogn. Higher Memory Area HMA ist der Speicherbereich oberhalb von 1 Mbyte FFEF h der im Real-Mode bei den 8086-Nachfolgeprozessoren erreichbar ist. Dies wird durch den größeren Adressbereich dieser Prozessoren ( Bit ) ermöglicht und zwar über deren Adressbit A 20. Wird die physikalische Adresse aus den maximalen Werten FFFF h in Segment und Offset gebildet, so ergibt sich ein maximaler Wert für die physikalische Adresse oberhalb der Real-Mode-Grenze von 1 Mbyte. Segment * 2 4 FFFF0 h + Offset FFFF h phys. Adresse 10FFEF h (max. erreichbare Adresse, Byte oberhalb 1 Mbyte ) Bei diesen Werten werden beim 8086 (A20 fehlt ) die Adressen FFEFh angesprochen (sogn. wrap around ). Bei den Nachfolgeprozessoren wird im PC dieses wrap around -Verhalten durch die Steuerung des Adressbits A20 über den Tastaturcontroller erreicht. (zwecks Kompatibilität!! )

12 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Interrupt-Vektor-Tabelle Wichtige Einträge in der Interrupt-Vektor-Tabelle (werden von DOS beim Hochfahren ( boot ) gesetzt) INT-NR. Adressbereich Standardbelegung Portadressen der wichtigsten Bausteine CPU: Division durch Null CPU: Single Step B RAM-Fehler (NMI) C 000F CPU: Breakpoint erreicht CPU: numerischer Überlauf INTO Print Screen (Bildschirm Hardcopy ) B CPU: unbekannter Befehl IRQ0: Timer-Baustein F IRQ1: Tastatur F 0A B IRQ2: 2.Interruptcontroller 00A0-00BF 0B 002C 002F IRQ3: 2.serielle Schnittstelle COM2 02F8 02FF 0C IRQ4: 1.serielle Schnittstelle COM1 03F8 03FF 0D IRQ5: 2 Drucker F 0E B IRQ6: Diskettenlaufwerk 03F0 03F7 0F 003C 003F IRQ7: 1.Drucker F BIOS: Video-Funktionen B BIOS : Tastaturabfragen BIOS: Warmstart <Ctrl><Alt><Del> 1A B BIOS: Zeit / Datum abfragen DOS: Programm beenden DOS: Diverse DOS-Funktionen 70 01C0 01C3 IRQ8 : Echtzeituhr F 75 01D4 01D7 IRQ13: Co-Prozessor 00F0 00FF 76 01D8 01DB IRQ14: Festplatte F1 03C4 03FF nicht benutzt: können vom Anwender frei belegt werden FF CPU: interne Hardwareinterrupts, werden vom Prozessor durch Ausnahmesituationen ( Exceptions ) bzw. Fehlersituationen selbst ausgelöst ( Faults, Traps und Aborts ) IRQ: externe Hardwareinterrupts werden von peripheren Komponenten des PCs über die beiden Interruptcontroller ausgelöst. DOS / BIOS: Software-Interrupts erfolgen programmgesteuert wie Unterprogramm-Calls mit INT-Befehlen und sind somit nichts anderes als verkürzte Unterprogrammaufrufe mit variabler Sprungadresse in der Interrupt Vektor Tabelle. Externe Hardware -Interrupts am INTR-Eingang können entweder alle gemeinsam durch das Sperren des INTR-Eingangs generell unterdrückt werden (Löschen des Interrupt-Flags durch CLI ) oder einzeln selektiv durch Programmierung der Masken der beiden Interrupt-Controller. Der Interrupt-Eingang NMI ( nicht maskierbarer Interrupt ) ist nicht sperrbar und ist im PC als Katastropheneingang für schwere Systemfehlern ( Speicher-Fehler ) verschaltet und damit für den Anwender nicht nutzbar.

13 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Das Speichermodell COM DOS kennt zwei verschiedene Typen von ausführbaren Maschinenprogrammen: EXE und COM. Ein COM -Modul ist dadurch gekennzeichnet, daß alle 4 Segmente deckungsgleich "übereinander " liegen, d.h. beim Laden eines COM -Programmes durch DOS werden alle Segmentregister mit dem gleichen Adresswert initialisiert. Damit existiert nur ein einziges gemeinsames Segment von 64 Kbyte für Programmcode, Daten und Stapel, was einer 16-Bit -Adressmaschine entspricht. Beim Aufruf wird jedes COM-Programm von DOS mit einem Kopf, dem Program Segment Prefix (PSP ) versehen. In diesen Vorspannblock speichert DOS bestimmte Informationen, die man bei der systemnahen Programmierung manchmal benötigt. Der PSP ist 256 Byte groß, beginnt immer bei der Offset-Adresse 0000 und reicht bis 00FF h. Aus diesem Grund beginnt ein COM-Programm immer bei Adresse 100 h. Die Register werden bei einem COM-File wie folgt initialisiert: CS = DS = ES = SS wird durch DOS anhand des freien Speicherplatzes festgelegt. IP = 100 h Programmstart bei CS : 100 h SP = FFFE h Stapelzeiger SP wird mit FFFF h auf das Ende des Segmentes gesetzt und der Stapel mit der 16-Bit Rücksprungadresse 0000 belegt. Der Stapel wächst zu kleineren Adressen hin. In Adresse 0 und 1 enthält der PSP den Befehl INT 20 h. Ein Sprung an die Adresse 0 führt zur Beendigung des Programms aber auch ein RET am Ende des Programms führt über die Rücksprungadresse 0000 auf den INT 20 h Befehl und damit zur Beendigung des Programmes und zur Rückkehr nach DOS. Ab Adresse 80 h beginnt der Parameterbereich, der alle Parameter enthält, die in der Kommandozeile nach dem Programmaufruf eingegeben wurden. Befehle für die E/A-Umleitung ( <, > ) sind nicht enthalten. In Adresse 80h ist die Anzahl der Zeichen in der Kommandozeile ( exklusiv des abschließenden CR ) enthalten und ab 81h folgen die Character der Kommandozeile ( nach dem Programmaufruf ). Aufbau des Program-Segment-Prefix PSP : Offset INT 20h Befehl der vom Programm belegte Speicher in Paragraphen ( 16-Byte-Blöcke ) FAR-Call zum Interrupt 21 h 0A 0D Kopie von Interrupt-Vektor 22h, Beendigungsadresse 0E 11 Kopie von Interrupt-Vektor 23h, Ausstiegsadresse für Ctrl-Break Kopie von Interrupt-Vektor 24h, Ausstiegsadresse für fatale Fehler 2C 2D Programmumgebungsadresse ( Segment ) enthält INT 21 h, RET durch FAR CALL können Funktionsaufrufe erfolgen 5C 6B File Control Block FCB des ersten Parameters der Kommandozeile 6C 7B FCB des zweiten Parameters 80 FF Parameterbereich, enthält alle Zeichen (Characters), die nach dem Kommandonamen eingegeben wurden. In 80h Anzahl der Zeichen SS : SP Stapel vergrößert sich von der höchsten Segmentadresse nach unten CS: IP CS : 0100 h Programmcode und Daten SS=ES=DS=CS : 0000 Programmsegmentpräfix PSP Speicherabbild eines COM-Programmes nach dem Laden

14 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Maschinensprache des 8086 Je nach Befehl und Adressierungsart kann ein Maschinenbefehl des bis 6 Byte lang sein. Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Opcode Adressie- Operandenteil rungsart Der Opcode legt fest, was getan werden soll, der Operandenteil womit. MOV DX,4037 wird vom Assembler in den Maschinencode ( Objectcode ) BA3740 h übersetzt. Das 1.Byte BA h ist der Opcode und die beiden nächsten Byte 3740 h bilden den Operandenteil Das Vertauschen von High und Low Byte des Operanden hängt zusammen mit der INTEL-Konvention zur Datenspeicherung : High Byte (Word) auf High- Adresse, Low Byte (Word) auf Low-Adresse INTEL-Konvention für die Reihenfolge der Operanden eines Befehls: 1.Operand ist Ziel, 2. Operand ist Quelle 1. Operand ist Quelle u. Ziel, 2. Operand ist Quelle MOV BX, DX ADD DX, CX Quelle Quelle Ziel Quelle und Ziel Zwei (Integer) - Datentypen werden auch in DEBUG wie folgt definiert: DB Define Byte Reserviert ein Byte DB 10 DB 'A' DW Define Word Reserviert zwei Byte DW 1FA4 DW '23' Beispiel zur Intel-Konvention für Datenspeicherung in DEBUG-Assembler-Syntax (alle Werte hexadezimal) Speicherbelegung Offset-Adresse Inhalt ORG 100 DB 12, 34, 56, ORG 200 DW 1234, Inhalt von AX = AH AL nach Ausführung des Befehls MOV AX, [ 0100 ] -> MOV AX, [ 0200 ] - > MOV AX, [ 0201 ] - > 78 12

15 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Übersicht der 8086-Assemblerbefehle ( Maschinenbefehle ) Befehl Funktion AAA ASCII adjust AL for addition AAD ASCII adjust for division AAM ASCII adjust for multiply AAS ASCII adjust for subtraction ADC Xl,X2 Add with carry ADD X1,X2 Addition AND Xl,X2 Logical-AND CALL NAER CALL im Segment CALL FAR CALL über Segmentgrenzen CBW Convert byte in word CLC Clear caw flag CLD Clear direction flag CLI Clear interrupt enable flag CMC Complement carrv flag CMP Xl,X2 Compare CMPS Xl,X2 Compare Strings CWD Convert word to doubleword DAA Decimal adjust AL after addition DAS Decimal adjust AL after subtraction DEC Xl Decrement DIV Xl Unsigned divide HLT Halt IDIV Xl Signed divide IMUL Xl Signed multiply IN Xl,X2 Input byte/word from port INC Xl Increment Xl um 1 INT 3 Interrupt 3 INT xx Interrupt xx INTO Interrupt on overflow IRET Interrupt return JA cb Jump short if above (CF=0 and ZF=0) JAE cb Jump short if above or equal (CF=0) JB cb Jump short if below (CF=l) JBE cb Jump short if below or equal (CF=1 or ZF=l) JC cb Jump short if carry (CF=1) JCXZ cb Jump short if CX register is zero JE cb Jump short if equal (ZF=l) JG cb Jump short if greater (ZF=0 and SF=OF) JGE cb Jump short if greater or equal (SF=OF) JL cb Jump short if less (SF/=OF) JLE cb Jump short if less or equal (ZF=l or SF/=OF) JMP cb Jump short JMP FAR Jump far (4-byte address) JMP NEAR Jump near JNA cb Jump short if not above (CF=l or ZF=l) JNAE cb Jump short if not above or equal (CF=l) JNB cb Jump short if not below (CF=0) JNBE cb Jump short if not below or equal (CF=0 and ZF=0) JNC cb Jump short if not carry (CF=0) JNE cb Jump short if not equal (ZF=0) JNG cb Jump short if not greater (ZF=l or SF/=OF) JNGE cb Jump short if not greater or equal (SF/=OF) JNL cb Jump short if not less (SF=OF) JNLE cb Jump short if not less or equal (ZF=0 and SF=OF) JNO cb Jump short if not overflow (OF=0) JNP cb Jump short if not parity (PF=0) JNS cb Jump short if not sign (SF=0) JNZ cb Jump short if not zero (ZF=0) JO cb Jump short if overflow (OF=l) JP cb Jump short if parity (PF=l) JPE cb Jump short if parity even (PF=l) JPO cb Jump short if parity odd (PF=0) JS cb Jump short if sign (SF=l) JZ cb Jump short if zero (ZF=l)

16 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar LAHF Load: AH= flags LDS Xl,X2 Load pointer using DS LEA Xl,X2 Load effectiv adress LES Xl,X2 Load pointer using ES LODS Load stringbyte LODSW Load stringword LOOP XX Loop DEC CX; jump short if CX/=0 LOOPE XX Loop Equal DEC CX; jump short if CX/=0 and equal (ZF=l) LOOPNE XX Loop Not Equal DEC CX; jump short if CX/=0 and not equal LOOPNZ XX Loop Not Zero DEC CX; jump short if CX/=0 and ZF=0 LOOPZ XX Loop Zero DEC CX; jump short if CX/=0 and zero (ZF=l) MOV Xl,X2 Move MOVSB Move Stringbyte MOVSW Move Stringword MUL Multipy unsigned NEG Negate NOP No Operation NOT NOT-Vergleich OR Xl,X2 Logical-OR OUT Xl,X2 Output to port POP Xl POP Register from stack POPF Pop Flags PUSH Xl PUSH Register to stack PUSHF PUSH Flags RCL xx,l Rotate left carry RCR xx,l Rotate right carry REP (prefix) Repeat REPE (prefix) Repeat equal REPNE (prefix) Repeat not equal REPNZ (prefix) Repeat not zero REPZ (prefix) Repeat zero RETF Return far RET Return near ROL xx,1 Rotate left ROR xx,l Rotate right SAHF Store AH into flags SAL xx,l Shift arithmetik left SAR xx,l Shift arithmetik right SBB Xl,X2 Subtract with borrow SCAS Compare Strings SHL xx,l Shift left SHR xx,l Shift right STC Set carry flag STD Set direction flag STI Set interrupt enable flag STOS xx Store String SUB Xl,X2 Subtract TEST Xl,X2 Test XCHG Xl,X2 Exchange XLAT xx Translate XOR Xl,X2 Exclusive-OR

17 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Befehlssatz des 8086 Adressierungsarten Die INTEL 80x86-Familie weist sechs Adressierungsarten auf. Bei Zwei-Operand-Befehlen ist ein Operand in der Regel ein Register. Der zweite bestimmt die Adressierungsart. Bei Ein-Operand-Befehlen bestimmt der Operand die Adressierungsart. Registeradressierung Alle Operanden stehen in Registern. Der Maschinencode ist kompakt und besonders schnell ausführbar. ADD CX,DX INC CX SUB AL,CH MUL BX Unmittelbare Adressierung Der Quelloperand ist eine Konstante. Es sind damit nur Zwei-Operand-Befehle möglich, wobei der erste Zieloperand ein Register oder eine Speicheradresse sein kann. ADD BL, A4 MOV AH,34 MOV AX,DDDD SUB WORD PTR [1000], 12AD Direkte Adressierung Ein Operand ist eine Speicheradresse. Diese wird in eckige Klammern [ ] gesetzt ( Syntax DEBUG-Assembler ) MOV AX, [1000] ADD [AF00], DX SUB [2000], BL AND BYTE PTR [1000], FF Unzulässig ist folgender Befehl : MOV [1000], [2000] weil Speicher zu Speicher - Zuweisung Indirekte Adressierung Der Operand ist ein Speicherplatz, der indirekt über bestimmte Register angesprochen wird. Form: Opcode Register, [Indexregister] oder Opcode [Indexregister], Register Als Indexregister dürfen nur SI, DI, BP und BX verwendet werden. MOV AX, [ SI ] ADD DX, [ BX ] AND [ DI ],CL Auch registerindirekte Sprünge sind möglich. Hier sind alle Register zulässig JMP AX springe zur Speicheradresse die gebildet wird aus CS : AX-Inhalt CALL DI Unterprogrammverzweigung zu der Adresse aus CS und Offset im DI-Register Basisregister plus Displacement Das Indexregister plus einer konstanten Verschiebung (displacement ) zeigt auf die Adresse im Speicher. MOV CX,[ BX + 4 ] Der Inhalt der beiden Byte mit den Adressen ( DS : BX-Inhalt + 4 ) und ( DS : BX-Inhalt + 5 ) wird nach CX kopiert ADD AX, [ SI ] Der Inhalt des Wortes, dessen Adresse aus DS : [SI] h gebildet wird, wird zu AX hinzuaddiert MOV [ 6 + DI ], BL Der Inhalt von BL wird in die Speicher-Adresse ES : [ DI ] + 6 kopiert Basisregister plus Indexregister plus Displacement Angesprochen wird die Speicheradresse, auf die das erste Indexregister plus dem Inhalt des zweiten Indexregisters plus einer konstanten Verschiebung (displacement ) zeigt MOV CL, [ BP+DI+100 ] Speicheradresse SS : [ BP ] + [ DI ] MOV [ BX ] [ DI ], AX Speicheradresse DS : [ BX ] + [ DI ] (z.b. Matrizenop. BX-> Zeile, DI->Spalte )

18 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Transportbefehle MOV IN / OUT PUSH / POP Weil die INTEL-Prozessorfamilie maximal Speicher-zu-Register-Befehle zulässt, ist der MOV-Befehl der häufigste in einem 80x86-Programm. Beispielsweise bedeuten: MOV AX, DX transportiere den Inhalt von Register DX nach AX MOV CL,AH transportiere den Inhalt von Halbregister AH nach CL MOV BX,1000 lade die Zahl 1000 (hex) ins BX-Register MOV BL,C4 lade die Zahl C4 (hex) ins BL-Halbregister MOV [1000],CH transportiere den Inhalt von Halbregister CH zum Speicher l000 h MOV [1000],CX transportiere den Inhalt von Register CX zum Speicher 1000 und 1001 Diese Adressierungsart nennt man,,register zu Speicher" oder,,direkt". Als Operanden kommen prinzipiell Registerinhalte, Speicherinhalte und Konstanten in Frage. MOV kann als Prototyp der Zwei - Operand - Befehle gelten, ein Operand ist in der Regel ein Register. Dieses bestimmt die Wortbreite der Operation (16 Bit bei Vollregister, 8 Bit bei Halbregister ). Gemischte Operationen sind unzulässig! MOV AX, BL MOV [1000], [2000] unzulässig, da unterschiedliche Registerbreite unzulässig, da Speicher-zu-Speicher-Zuweisung Mit IN- und OUT-Befehlen lassen sich Daten zwischen Prozessor und I/O-Ports austauschen. Die Register aller Peripherie -Bausteine ( Controller ) können über Ports angesprochen werden. Die 80x86 Familie verfügt über einen I/O-Adressraum von 64 Kbyte, der nicht mit dem Speicheradressraum zusammenfällt. Die I/O-Adressen sind 16 Bit lang und die meisten Peripheriebausteine weisen eine Register / Datenbusbreite von 8 Bit auf. IN AL, port Lade AL mit Byte aus port-register port = niederwertiges Byte der I/O-Adresse IN AX, port Lade AX mit Wort aus port-register höherwertiges Byte dabei Null IN AL,DX Lade AL mit Byte aus dem Portregister, dessen Adresse (16 Bit) in DX steht IN AX,DX Lade AX mit Wort aus dem Portregister, dessen Adresse in DX steht OUT port,al Lade 8-Bit-port-Register mit dem Inhalt von AL, port = niederwertiges Adressbyte OUT port,ax Lade 16-Bit-port-Register mit dem Inhalt von AX OUT DX,AL Lade 8-Bit-Portregister, dessen Adresse in DX steht, mit dem Inhalt von AL OUT DX,AX Lade 16-Bit -Portregister, dessen Adresse in DX steht, mit dem Inhalt von AX Im PC sind die Portadressen auf 10 Adressbit beschränkt und für das System und die Erweiterungskarten stehen daher nur die Portadressen von 0000 bis 03FF h zur Verfügung. Mit den Befehlen PUSH und POP lassen sich die Inhalte der 16-Bit -Register und von Speicherworten auf dem Stapel zwischenspeichern bzw. zurückholen. Der Stapel (Stack) ist ein besonderer Bereich des Arbeitsspeichers, der durch den Stapelzeiger SP und das Stapelsegmentregister SS adressiert wird (SS : SP ) und nach dem Prinzip Last In First Out (LIFO) organisiert ist. Legt man mit PUSH Wörter auf den Stapel, so wird der Stapelzeiger SP automatisch um 2 vermindert, der Stapel wächst also zu niedrigen Adressen hin. Beim Herunterholen mit dem POP-Befehl ist es genau umgekehrt. Der Zugriff auf den Stapel erfolgt immer wortweise (16 Bit ), wobei das High-Byte auf der höheren und das Low-Byte auf der niedrigeren Adresse gespeichert wird. Der Stapelzeiger SP zeigt immer auf das zuletzt auf den Stapel gelegte Low-Byte. Bei jedem Unterprogramm-Aufruf mit dem Call-Befehl, wird die Rücksprungadresse auf den Stapel gelegt und bei dem Rücksprung mit RET wieder in den Instruction-Pointer IP zurückgeladen. Bei jedem Interrupt ( Hard- und Software ) werden das Statusregister F, das Codesegmentregister CS und der Befehlszähler IP auf den Stapel gerettet und mit dem Befehl IRET wieder zurückgeholt. PUSH AX / POP DS legt / holt ein 16-Bit-Register auf / vom Stapel PUSH [1000] / POP [200] " Speicherwort " PUSHF / POPF legt / holt Statusregister F auf / vom Stapel

19 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Arithmetische Befehle ADD SUB MUL DIV CMP INC DEC Alle arithmetischen Befehle arbeiten mit Ganzzahl-Operanden ( 8 Bit, 16 Bit oder 32 Bit) Bei Additions- und Subtraktionsbefehlen braucht hinsichtlich vorzeichenloser oder vorzeichenbehafteter Dualzahlen ( Zweierkomplementdarstellung negativer Zahlen ) nicht unterschieden werden. Ein Überschreiten des jeweiligen Zahlenbereiches wird für vorzeichenlose Dualzahlen im C-Flag (Carry ) und für vorzeichenbehaftete im O-Flag (Overflow ) des Flagregisters F ( Statusregister ) angezeigt. ADD op1, op2 op1 = op1 + op2 ADD AX, DX ADC op1, op2 op1 = op1 + op2 + Carry-Bit ADC CH, BYTE PTR [BX+2] SUB op1, op2 op1 = op1 op2 SUB [1000], BX SBB op1, op2 op1 = op1 op2 Carry-Bit SBB DH, 4F CMP op1, op2 Testsubtraktion op1 op2 ohne verändern von Operanden zum Setzen der Statusflags INC op1 op1 = op1 + 1 das Carryflag wird nicht verändert INC BYTE PTR [BX+2] DEC op1 op1 = op1 1 das Carryflag wird nicht verändert DEC WORD PTR [1000] bei op1 und op2 sind alle Byte und Wortoperanden zulässig. Die Multiplikations- und Divisionsbefehle gelten nur für den Akkumulator AX und das DX-Register als Hilfsregister. Es sind keine Konstanten als Operanden möglich. MUL byte AX = AL * Byteregister oder Speicherbyte MUL BYTE PTR [1000] MUL wort (DX+AX) = AX * Wortregister oder Speicherwort MUL WORD PTR [BX+1] DIV byte AL = AX / Byteregister oder Speicherbyte AH = Rest DIV CL DIV word AX = (DX + AX ) / Wortregister o. Speicherwort DX = Rest DIV CX MUL und DIV funktionieren richtig nur bei vorzeichenlosen Dualzahlen. Nach DIV sind die Arithmetikflags undefiniert und nach MUL zeigen C = O =1 an, daß AH oder DX signifikante Ergebnisstellen beeinhalten. Unmittelbare Adressierung mit Konstanten im Befehl ist bei MUL / IMUL und DIV / IDIV nicht möglich Für das Rechnen in vorzeichenbehafteten Zahlensystemen mit vorzeichenbehafteten Operanden sind die folgenden Befehle vorgesehen: IMUL byte AX = AL * Byteregister oder Speicherbyte IMUL AL IMUL word (DX+AX) = AX * Wortregister oder Speicherwort IMUL WORD PTR [101] IDIV byte AL = AX / Bytergister o. Speicherbyte AH = Rest IDIV BYTE PTR [BX+1] IDIV word AX = (DX + AX) / Wortreg. o. Speicherwort DX = Rest IDIV CX NEG operand Negiere den Operanden ( Zweierkomplement ) NEG AX CBW Lade AH mit dem Vorzeichenbit von AL 8 -> 16 Bit Bereichserweiterung von CWD Lade DX mit dem Vorzeichenbit von AX 16 -> 32 Bit vb. Dualzahlen DIV und IDIV liefern ein ganzzahliges Ergebnis mit Teilerrest, wobei dieser Teilerrest ganzzahlig und mit dem Vorzeichen des Dividenden (1.Operand) dargestellt wird. Überschreitet der Quotient die Kapazität des Zielregisters ( AL oder AX ) oder erfolgt eine Division durch Null, so wird der Interrupt INT 0 ausgelöst (Fehlermeldung) Dezimale arithmetische Operationen (BCD-Arithmetik) Diese Befehle führen Anpassungen und Korrekturen für die BCD-Arithmetik durch. Diese sollten vor oder nach den binären arithmetischen Operationen durchgeführt werden, wobei das Zielregister immer der Akku AL / AX sein muß, denn die nachfolgenden Korrekturoperationen beziehen sich immer auf AL / AX. DAA Dezimalkorrektur zweier gepackter Dezimalziffern in AL nach Addition DAS Dezimalkorrektur zweier gepackter Dezimalziffern in AL nach Subtraktion AAA Dezimalkorrektur in AL nach der Addition ungepackter Dezimalziffern, höherwertiges Nibble = 0 Bei einem Übertrag (größer 9 ) wird AH inkrementiert. AAS Dezimalkorrektur in AL nach der Subtraktion ungepackter Dezimalziffern, höherwertiges Nibble = 0 Bei einer negativen Differenz wird das AH-Register dekrementiert AAM Korrigiert das AX-Register nach einer dualen Byte-Multiplikation, so daß eine zweistellige ungepackte Dezimalzahl in AX entsteht. ( AH = AL / 10 d AL = Rest ) AAD Vorbereitung einer dezimalen Byte-Division mit dem Befehl DIV. Umwandlung einer ungepackten BCD-Zahl in AX in eine Dualzahl in AL. Multipliziert AH mit 10 d und addiert dies zu AL. Setzt danach AH auf 0.

20 Rechnergrundlagen Teil Prof. Dipl.-Ing. Komar Logische Befehle NOT AND OR XOR TEST Die folgenden logischen Befehle führen bitweise die boolschen Verknüpfungen zwischen den beiden Operanden durch NOT operand Invertiere Operanden ( Einerkomplement ) NOT WORD PTR [BX+3] AND op1, op2 Lade op1 mit op1 UND op2 AND CX, [3000] OR op1, op2 Lade op1 mit op1 ODER op2 OR AX, 3FFF XOR op1, op2 Lade op1 mit op1 EODER op2 XOR BYTE PTR [BX+10],0F TEST op1, op2 Testverundung op1 UND op2, verändert keine Operanden, verändert Statusflags bit1 bit2 AND OR XOR Schiebebefehle RCL RCR ROL ROR SAL SAR SHL SHR Mit den Schiebebefehlen lassen sich aus Bytes oder Wörtern bestehende Bitmuster um eine oder mehrere Bitpositionen nach rechts oder links verschieben. Man unterscheidet das Schieben hinsichtlich zyklisch (rotieren ) -> 1.Buchstabe R -> über das Carry-Flag RC -> links RCL rechts RCR ohne das Carry-Flag RO -> links ROL rechts ROR arithmetisch ->ersten beiden Buchstaben SA -> links SAL rechts SAR logisch ->ersten beiden Buchstaben SH -> links SHL rechts SHR Alle Byte- oder Wortoperanden ( Register, Speicher ) sind möglich, wobei in CL die Anzahl der Schiebepositionen angegeben werden muß, RCL operand,cl Wird nur um eine Bitposition nach links oder rechts geschoben, so genügt folgende Syntax ROR operand,1 logisches Schieben -> in frei werdende Stelle eine 0 nachziehen, das herausfallende Bit geht ins Carry-Flag CY 0 CY 0 vorzeichenlose Dualzahl * 2 n vorzeichenlose Dualzahl / 2 n, Rest im Carry SHL AX, 1 n = geschobene Bitpositionen SHR BYTE PTR [DI+1], CL arithmetisches Schieben -> die Operanden werden als vorzeichenbehaftete Dualzahlen behandelt, das Links- Schieben entspricht völlig dem logischem Links-Schieben SAL = SHL und auch der Opcode ist völlig identisch, beim arithmetischen Rechts-Schieben bleibt das höchstwertige Bit MSB erhalten (Vorzeichen ) CY vorzeichenbehaftete Dualzahl * 2 n vorzeichenbehaftete Dualzahl / 2 n SAL AL, CL SAR WORD PTR [1000], 1 zyklisches Schieben -> frei werdende Stellen werden durch herausgeschobene Bit ersetzt. Es geht kein Bit verloren. CY CY ROL / ROR schieben Operanden im Ring herausgeschobenes Bit ins Carry ROR BYTE PTR [BX],CL RCL / RCR schieben Operanden mitsamt Carry über das Carry -Flag im Ring RCL CX,CL

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

6.6 Personal-Computer PC und Intel 80x86-Prozessoren.

6.6 Personal-Computer PC und Intel 80x86-Prozessoren. PC als MVUS Teil 1-1 - Prof. Komar 6.6 Personal-Computer PC und Intel 80x86-Prozessoren. Der 16-Bit-Prozessor 8086 begründete die 80x86-Familie von Intel und wurde in der Light-Version des 8088 (nur 8-Bit-Datenbus)

Mehr

Prozessor HC680 fiktiv

Prozessor HC680 fiktiv Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 9 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Der Intel 8086 Reto Gurtner 2005

Der Intel 8086 Reto Gurtner 2005 Der Intel 8086 Reto Gurtner 2005 1 1. DIE INTERNEN REGISTER... 3 1.1 ALLGEMEINE REGISTER AX, BX, CX UND DX... 3 DAS AX-REGISTER... 4 DAS BX-REGISTER... 4 DAS CX-REGISTER... 5 DAS DX-REGISTER... 5 1.2 DIE

Mehr

2. Negative Dualzahlen darstellen

2. Negative Dualzahlen darstellen 2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Klausur zur Mikroprozessortechnik

Klausur zur Mikroprozessortechnik Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. Zahlensysteme Definition: Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. In der Informatik spricht man auch von Stellenwertsystem,

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg Assembler Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Assembler (WS16/17) 1 15 Einleitung

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1 Halbleiterspeicher 30.09.2008 Michael Kuhfahl 1 Gliederung I. FF als Speicher (1 Bit) II. Register als Speicher (n Bit) III. Anordnung der Speicherzellen IV. SRAM V. DRAM VI. ROM VII. PROM VIII. EPROM

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB

Mehr

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7 1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Der Assembler-Befehlssatz

Der Assembler-Befehlssatz Assembler-Befehlssatz 1 Der Assembler-Befehlssatz Anmerkung: Die kurzen Beispiele beziehen sich auf die Arbeit mit dem DEBUG-Assembler (links) sowie dem MASM, der symbolische Adressen verarbeiten kann

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

Der MS-DOS Standardmonitor und Debugger DEBUG

Der MS-DOS Standardmonitor und Debugger DEBUG Einfache Assemblerprogrammierung mit DOS-DEBUG 1/7 Auf Personalcomputern kann in der Regel leicht eine einfache Umgebung zur Software-Entwicklung für die Intel Rechnerfamilie 80x86 eingerichtet werden.

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Zahlensysteme Seite -1- Zahlensysteme

Zahlensysteme Seite -1- Zahlensysteme Zahlensysteme Seite -- Zahlensysteme Inhaltsverzeichnis Dezimalsystem... Binärsystem... Umrechnen Bin Dez...2 Umrechnung Dez Bin...2 Rechnen im Binärsystem Addition...3 Die negativen ganzen Zahlen im Binärsystem...4

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software

Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software Stand. September Seite 9 Bild. Am Ausgang des Multiplexers fehlt ein D, um ihn als Datenausgang zu kennzeichnen. Seite

Mehr

Grundlagen der Informatik (BSc) Übung Nr. 5

Grundlagen der Informatik (BSc) Übung Nr. 5 Übung Nr. 5: Zahlensysteme und ihre Anwendung Bitte kreuzen Sie in der folgenden Auflistung alle Zahlensysteme an, zu welchen jeder Ausdruck als Zahl gehören kann! (Verwenden Sie 'x für Wahl, ' ' für Ausschluß

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Einführung in die Welt der Microcontroller

Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung Seite 1 von 9 Pinbelegung der Steckerleisten im Übungsgerät Seite 2 von 9 Inbetriebnahme: Schalter S1, S2, und S3 in Stellung 1 (oben) schalten. Spannung 5 V anlegen. ACHTUNG auf Polarität achten. Taste

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Staatlich geprüfter EDV-Führerschein

Staatlich geprüfter EDV-Führerschein Staatlich geprüfter 1. Seit wie viel Jahren gibt es den Personal Computer? seit ~ 50 Jahren seit ~ 30 Jahren seit ~ 20 Jahren seit ~ 5 Jahren Computer gibt es schon immer. 2. Ein Computer wird auch als

Mehr

Was Sie bald kennen und können

Was Sie bald kennen und können Den Rechner verwenden 6 Heutzutage gehört auf jeden Schreibtisch auch ein Taschenrechner denn wer vertraut im Computer-Zeitalter noch seinen eigenen Rechenkünsten? Und da Microsoft mit Windows die Vision

Mehr

LPT1 Anschluss mit PCMCIA Karte

LPT1 Anschluss mit PCMCIA Karte 1. Allgemeines LPT1 Anschluss mit PCMCIA Karte verwendete Hardware: Lenze PC Systembusadapter EMF 2173-V003 PCMCIA Karte Firma QUATECH Typ SPP-100 Auf die Installation der PCMCIA Karte wird hier nicht

Mehr

1 Aufgaben zu Wie funktioniert ein Computer?

1 Aufgaben zu Wie funktioniert ein Computer? 71 1 Aufgaben zu Wie funktioniert ein Computer? Netzteil a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 3.3 V, 5 V, 12 V, -5 V, -12 V. b) Warum können PC-Netzteile hohe Leistungen liefern,

Mehr

Netzwerkeinstellungen unter Mac OS X

Netzwerkeinstellungen unter Mac OS X Netzwerkeinstellungen unter Mac OS X Dieses Dokument bezieht sich auf das D-Link Dokument Apple Kompatibilität und Problemlösungen und erklärt, wie Sie schnell und einfach ein Netzwerkprofil unter Mac

Mehr

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Einleitung Es kommt vor, dass im Handel Disketten angeboten werden, die Styles und Registrationen

Mehr

Zusammenfassung der Assemblerbefehle des 8051

Zusammenfassung der Assemblerbefehle des 8051 Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach

Mehr

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

9 Multiplexer und Code-Umsetzer

9 Multiplexer und Code-Umsetzer 9 9 Multiplexer und Code-Umsetzer In diesem Kapitel werden zwei Standard-Bauelemente, nämlich Multiplexer und Code- Umsetzer, vorgestellt. Diese Bausteine sind für eine Reihe von Anwendungen, wie zum Beispiel

Mehr

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen.

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen. . Das Programm- Icon Auf dem Desktop deines Computers siehst du Symbolbildchen (Icons), z.b. das Icon des Programms Rechner : Klicke mit der rechten Maustaste auf das Icon: Du siehst dann folgendes Bild:

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Facharbeit Informatik. Thema:

Facharbeit Informatik. Thema: Facharbeit Informatik Thema: Rechneraufbau Mit Locad 2002 1 Inhaltsangabe Inhalt: Seite: 1. Einleitung 3 2. Inbetriebnahme der Schaltung 3 3. Eingabe 4 4. CPU 5 5. RAM/HDD 8 6. Ausgabe 10 7. Auf einer

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

QUICK INSTALLATION GUIDE

QUICK INSTALLATION GUIDE BIANCA/BRI für Windows NT Willkommen zu einer der leistungsfähigsten ISDN-Lösungen für Windows NT. Diese Lösung umfaßt nicht nur die CAPI (Common ISDN Application Program Interface), sondern auch NDIS-IP.

Mehr

Der von Neumann Computer

Der von Neumann Computer Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Hinweise zum Ausfüllen der Zeiterfassung

Hinweise zum Ausfüllen der Zeiterfassung Hinweise zum Ausfüllen der Zeiterfassung Generelle Hinweise zu Excel Ab Version VSA 4.50 wird die dezimale Schreibweise für Zeiteingaben verwendet. Die Zeiterfassung, die Sie erhalten haben wurde für Excel

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Computeria Urdorf. Treff vom 16. Januar 2013. Was ist ein Computer?

Computeria Urdorf. Treff vom 16. Januar 2013. Was ist ein Computer? Computeria Urdorf Treff vom 16. Januar 2013 Was ist ein Computer? Der Vater des Computers Charles Babbage (26.12.1791 18.10.1871) Erfinder der mechanische Rechenmaschine Die Entwicklung des Computers Karl

Mehr

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2) Kurzbeschreibung: Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2) Beim HSI-88-USB handelt es sich um ein Interface vom s88-rückmeldebus zum Universal Serial Bus

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt.

Die Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt. Die Befehle des Modellrechners in übersichtlichen Tabellen: Alle Opcodes sind Hexadezimal angegeben (s.u.). 1.) Die Ladebefehle zwischen den einzelnen Registern. In der oberen Zeile steht jeweils die Quelle

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags. 3. Assembler-Programmierung Der PIC 16F84A Microcontroller kennt 35 verschiedene Befehle. Für eine ausführliche Beschreibung aller Befehle siehe PIC16F84A-Datenblatt Kapitel 7.1. 3.1 Wichtige Flaggen im

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Installation LehrerConsole (für Version 6.2)

Installation LehrerConsole (für Version 6.2) Dr. Kaiser Systemhaus GmbH Köpenicker Straße 325 12555 Berlin Telefon: (0 30) 65 76 22 36 Telefax: (0 30) 65 76 22 38 E-Mail: info@dr-kaiser.de Internet: www.dr-kaiser.de Installation LehrerConsole (für

Mehr

PC-Software für Verbundwaage

PC-Software für Verbundwaage Dipl.-Ing., Ökonom Tel.: 05601 / 968891 Artur Kurhofer Fax : 05601 / 968892 Bayernstr. 11 Mobil : 0175 / 2742756 www.autese.de 34225 Baunatal a.kurhofer@autese.de PC-Software für Verbundwaage Die hier

Mehr

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr