BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 6.Sitzung WS 02/03.
-
Upload
caecilie-hempe -
Category
Documents
-
view
105 -
download
0
Transcript of BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 6.Sitzung WS 02/03.
BIT – Schaßan – WS 02/03
Basisinformationstechnologie
HK-Medien
Teil 1, 6.SitzungWS 02/03
BIT – Schaßan – WS 02/03
PC, Workstation, Mainframes
Mainframes haben die traditionelle DV bestimmt, sind heutzutage aber sowohl vom Preis wie von der Leistung überholt.Workstations bezeichnen Computer im oberen Preis-/Leistungsverhältnis, Personal Computer im unteren, sind aber faktisch ansonsten kaum noch zu unterscheiden.
BIT – Schaßan – WS 02/03
Mainboard, etc.
Der Kern eines Rechners ist das Main- bzw. Motherboard. Auf dieser Haupt-platine befinden sich die Prozessoren, Sockel für weitere Platinen (Karten), Lüfter etc.Über Karten bzw. (Parallel-)Kabel ist das Mainboard mit den Peripherie-geräten verbunden.
BIT – Schaßan – WS 02/03
Schnittstelle und Treiber
Damit CPU und Peripheriegeräte verschiedener Hersteller zusammen arbeiten können, benötigt man
genormte Schnittstellen = Stecker, Hardwareverbindungenpassende Treiber = Programme, Software
Bei Ein- und Ausgabeverbindungen spricht man von I/Os (In/Out).
BIT – Schaßan – WS 02/03
Karten
Da der Prozessor mit der Peripherie nur Daten in binärer Form austauschen kann, werden alle analogen Daten (Mausbewegungen, Ergebnisse eines Scanvorgangs, etc.) bereits auf den im Mainboard eingesteckten Karten in digitale Form umgewandelt.Besondere Bauteile für diese Funktion bezeichnet man als Controller.
BIT – Schaßan – WS 02/03
Controller
Zur Steuerung der Peripheriegeräte gibt es verschiedene Controller:
Der (Fest-)Plattencontroller bedient die Disketten- oder Festplattenlaufwerke. Dabei müssen Diskette bzw. Festplatte gedreht und der Schreib-Lese-Kopf an die richtige Stelle gebracht werden, um dort Schwankungen des Magnetfeldes in Bitfolgen umzuwandeln.Die Grafikkarte dient zur Steuerung des Bildschirmes. Sie hat einen eigenen Prozessor und Speicher, um den Bildschirminhalt schneller aktualisieren oder neu berechnen zu können.
BIT – Schaßan – WS 02/03
Busse
Kartenslots, Festplatte, Schnittstellen etc. sind untereinander bzw. mit dem Prozessor über einen Bus (Systembus) verbunden.
ISA: industry standard architectureEISALocal BusPCI: peripheral component interconnectAGP: accelerated graphics port
BIT – Schaßan – WS 02/03
Adress- und Datenbus
Neben dem Systembus, der Prozessor und Peripherie miteinander verbindet, gibt es CPU-interne Busse, den Adress- und den Datenbus.Über den Adressbus übermittelt die CPU eine gewünschte Adresse an den Hauptspeicher, über den Datenbus werden die Daten ausgetauscht.
BIT – Schaßan – WS 02/03
x-Bit-Computer
Die Bus-Breite ist entscheidend für die Bezeichnung "8-Bit-", "16-Bit-Rechner", wichtig für die Leistungsfähigkeit sind aber DREI Größen:
D: Anzahl der Datenbits, die vom Prozessor in einem Befehl verknüpft werden können.S: Anzahl der Bits, die von einem LOAD- oder STORE-Befehl gleichzeitig zwischen Speichern und CPU-Register transportiert werden können.A: Anzahl der Bits, die zur Adressierung verwendet werden können.
BIT – Schaßan – WS 02/03
Prozessorleistungen
Prozessor D S A8080/8085 8 8 16
8086/80186 16 16 20
80286 16 16 24
80386/80486 32 32 32
Pentium I-4 32 64 32
68000/68010 32 16 24
PowerPC 32 64 32
Itanium / DEC α 64 64 64
BIT – Schaßan – WS 02/03
Arbeitsspeicher
Neben dem Speicher der CPU (Central Processing Unit, realisiert als ROM, Read only memory) und dem Cache , einem besonderen Speicher für häufig auszuführende Befehle oder gebrauchte Daten, gibt es den Hauptspeicher. Dieser ist direkt mit dem Memory-Controller verbunden.Mögliche Bezeichnungen:
SIMM, DIMM (Single/Dual inline memory modules)RIMM (Rambus inline memory modules)
BIT – Schaßan – WS 02/03
BIOS
BIOS = Basic Input Output SystemDer BIOS-Chip ist für den Startvorgang des Computers von zentraler Bedeutung: in seinem Speicher befinden sich elementare I/O-Programme, z.B. Prüfroutinen für angeschlossene Hardwarekomponenten sowie der Start-mechanismus für das Betriebssystem.
BIT – Schaßan – WS 02/03
Aufgaben des Betriebssystems
Ressourcenverwaltung:CPU (Rechenzeit)HauptspeicherFestplattenspeicherplatzexterne Geräte
Zentrale Bestandteile des Betriebssystems:
ProzessverwaltungSpeicherverwaltungDateiverwaltung
BIT – Schaßan – WS 02/03
DOS
Disk operating systemeigentlich nur ein Dateiverwaltungssystemnur jeweils ein Prozess kann durchgeführt werden"Anhängen" einer Prozess- und Speicherverwaltung Windows 95, 98, MENeuanfang mit Windows NT, 2000, XP "Multitasking"
BIT – Schaßan – WS 02/03
Multitasking
Der Aufruf eines Programms kann mehrere Prozesse erzeugen, spätestens mit dem Starten mehrerer Programme müssen diese sich die Rechenzeit etc. der CPU teilen.Jeder Prozess erhält eine abwechselnd eine kurze Spanne RechenzeitProbleme:
Zuteilung freien HauptspeichersFreigabe des Speichers beendeter ProzesseSicherung von Speicherbereichen vor gegenseitigem Zugriff
BIT – Schaßan – WS 02/03
I/O-Ports
Wenn I/O-Ports Daten zur Verfügung stellen wollen, gibt es zwei Möglichkeiten, diese an die CPU zu senden:
Man könnte in bestimmten Abständen die I/O-Ports abfragen, ob sie Daten senden möchten. Dies ist sehr zeitaufwendig.Man kann den I/O-Ports erlauben, den laufenden Betrieb zu unterbrechen, wenn sie Daten haben.
BIT – Schaßan – WS 02/03
Interrupts
Hat ein I/O-Port Daten, sendet er einen Interrupt request (IRQ) an die CPU, die daraufhin ihren normalen Dienst unterbricht, die abzuarbeitenden Befehle auf einen Stapel schichtet und führt eine Interrupt Service Routine (ISR) aus, welche die Daten vom Port in den Speicher überträgt. Ist die ISR fertig, kehrt die CPU zu ihrer unterbrochenen Tätigkeit zurück.Man unterscheidet zwischen Hardware- und Software-Interrupts.
BIT – Schaßan – WS 02/03
Hardware-Interrupts
Der Programmierbare Interrupt Controller (PIC) ist für Hardware-Interrupts zuständig. Die meisten PCs haben zwei solcher PICs: einer ist zuständig für IRQ 0-7, der zweite für IRQ 8-15.Der zweite PIC ist über IRQ 2 kaskadiert.Neuere Treiber (Peripheral Component Interconnect, PCI) können IRQs gemeinsam benutzen.
BIT – Schaßan – WS 02/03
Hardware-Interrupts (2)
INT (Hex)
IRQ Gebrauch
08 0 System Timer
09 1 Keyboard
0A 2 Redirected (PIC 2)
0B 3 Serial Port
0C 4 Serial Port
0D 5 Reserved/Sound Card
0E 6 Floppy Disk Controller
0F 7 Parallel Port
BIT – Schaßan – WS 02/03
Interrupts eines Windows-Rechners
BIT – Schaßan – WS 02/03
Software-Interrupts
Rechner der Generation x86 hatte bis zu 256 Interrupts, die v.a. durch Software gesteuert wurden. Die Hexzahlen geben dabei Speicherbereiche an, in denen die Interrupts definiert sind.
INT (Hex)
IRQ Gebrauch
00-01 Exception Handlers
-
02 Non-Maskable IRQ Parity Errors
03-07 Exception Handlers
-
10 - 6F Software Interrupts
-
78 - FF Software Interrupts
-
BIT – Schaßan – WS 02/03
Interrupt-Klassen
extern intern
(I/O-Cont. INT) Programmfehler (Division by Zero)
maskable non-maskable
kann vorübergehend ignoriert werden
muss auf jeden Fall durchgeführt werden (Division by Zero)
BIT – Schaßan – WS 02/03
Interrupt Beispielablauf
1. Ein I/O-Gerät hat Daten Controller sendet IRQ an CPU
2. CPU prüft den Status und sendet Startsignal an Controller Daten werden in den Controller-Puffer übertragen
3. Puffer voll oder Übertragung beendet weiterer INT
4. CPU kopiert Daten in den Speicher wenn diese Aufgabe vom Controller direkt übernommen wird, spricht man von einem Direct Memory Access-Controller (DMA)
BIT – Schaßan – WS 02/03
Vom BIOS zum Betriebssystem
Wie werden BIOS- und andere Programme auf niedriger Ebene (Mikroprogramme, ISA) geschrieben? in Maschinensprache!Aber: Darstellung von Befehlen für den Prozes-sor im binären Zahlenformat erforderlich. Maschinensprache ist schwer zu program-mieren, da sie an der Hardware ausgerichtet ist und nicht wie die höheren Programmier-sprachen am Benutzer. Die Maschinensprache wird vom Compiler oder Assembler erzeugt.
BIT – Schaßan – WS 02/03
Assembler
1. Maschinenspezifische / computerabhängige Programmiersprache, die dem direkten Befehlssatz eines ~ Prozessors sehr nahe kommt. Assembler ist die Programmiersprache, die zu der schnellsten Rechenzeit des auszuführenden Programms führt. Sie wird daher für viele Hochleistungsprogramme benutzt.
2. Übersetzungsprogramm, das die mnemotechnische (d.h. merkfähige) Darstellung eines in Assembler geschriebenen Programms als Eingabe verarbeitet und diese in den vom Prozessor ausführbaren Binärcode umwandelt.
BIT – Schaßan – WS 02/03
Compiler
Ein Übersetzungsprogramm, welches Programme einer höheren Programmier-sprache in den vom Prozessor ausführ-baren Maschinensprache umwandelt.
BIT – Schaßan – WS 02/03
Interpreter
Englische Bezeichnung für "Übersetzer"Programm, das Befehle einer Programmier-sprache in Maschinensprache umwandelt.Ein Interpreter interpretiert (übersetzt) Quellcode und führt ihn umgehend aus. Im Gegensatz zu einem Compiler erzeugt ein Interpreter keinen speicherbaren Maschinencode. Ein Interpreter wird zum Beispiel für viele einfache Makro-sprachen (speicherbare Befehlsabläufe innerhalb eines Anwendungsprogrammes, z.B. Tastaturmakros o.ä.) eingesetzt.
BIT – Schaßan – WS 02/03
Programme
Programme sind Ketten von Befehlen, die in einer Datei zusammengefasst werden.Jeder Befehl besitzt einen sog. OpCode (Funktionscode), eine "Befehlsnummer", die auf Ebene der ALU, von Mikroprogrammen angesprochen werden.Das Programm wird in den Speicher geladen , die CPU führt daraufhin die den OpCodes entsprechenden Befehle aus.
BIT – Schaßan – WS 02/03
Befehlssatz der CPU
Die CPU verarbeitet Befehle.Dazu besitzen sie ein Repertoire von heute meist einigen hundert Befehlen. Die meisten davon sind Datentransferbefehle und Operationen.
LOAD: Laden des Wertes eines CPU-Registers aus dem Speicher
STORE: Speichern eines Registerinhaltes in einen Speicherplatz
ADD, SUB, MUL, DIV: Arithmetische Operation auf Registern
NOT, OR, AND, XOR: Logische Befehle auf Registern
COMPARE: Vergleich des Inhalts zweier Register
MOVE: Verschieben ganzer Datenblöcke im Speicher
OUT, IN: Ein- und Ausgabe von Daten an Register der Peripheriegeräte
BIT – Schaßan – WS 02/03
Addressierungsarten
direkt:LOAD A, B lädt den Inhalt von B nach ALD B, 61h lädt den Wert 61h nach B
61h = 0x61ADD A, B A+B, Ergebnis nach AADD B, 2h B+2h, Ergebnis nach BSHL multipliziert den Wert des
Akku mit 2INC A inkrementiert A
BIT – Schaßan – WS 02/03
Addressierungsarten (2)
indirekt:LD A, (61h) lädt den Wert aus Speicher- zelle 61h nach AJMP (61h) springe an die Stelle, die in
61h gespeichert ist
indirekt indiziert:LD A, 02(I) lädt Wert aus derjenigen Speicherzelle, die 2 Stellen
weiter als I ist
BIT – Schaßan – WS 02/03
Befehlszähler
Ein internes Register, der Befehlszähler, zeigt auf den als nächstes auszuführenden OpCode.Es entsteht der folgende Zyklus:
LOAD: Lade den OpCode, auf den der Befehlszähler zeigt.
INCREMENT: Erhöhe den Befehlszähler.
EXECUTE: Führe den Befehl aus, der zu dem OpCode gehört.
BIT – Schaßan – WS 02/03
Sprungbefehle
Damit der Programmablauf nicht immer nur in der vorgegebenen Reihenfolge fortschreitet, sondern auf Eingaben, Prüfungen oder Rechenergebnisse "reagieren" kann, gibt es Sprungbefehle, welche die Fortsetzung der Verarbeitung an anderer Stelle ermöglichen.
BIT – Schaßan – WS 02/03
Sprungbefehle (2)
unbedingte Sprünge:JMP, RET (return, aus Unterprogrammen)
bedingte Sprünge:JPC springe, wenn C gesetzt istJPZ springe, wenn Z gesetzt istJNZ springe, wenn nicht 0 (not Zero)
BIT – Schaßan – WS 02/03
Flag-Register
C Carry Bereichsüberschreitung vorzeichenloser Zahlen
A Aux. Carry Bereichsüberschreitung vorzeichenloser Nibbles
O Overflow BÜ arithmet. Op. auf Zahlen mit Vorzeichen
S Sign Ergebnis war negativ
Z Zero Ergebnis war Null
P Parity Ergebnis war ein Byte/Word mit gerade vielen Einsen
BIT – Schaßan – WS 02/03
Flag Beeinflussung
ADD, SUB, NEGbeeinflussen O, S, Z, C, P, A
INC, DECbeeinflussen O, S, Z, P, A
MUL, DIVbeeinflussen O, C
AND, OR, XORbeeinflussen S, Z, P, setzen C
= 0
CMP wie SUBTEST wie ADD
BIT – Schaßan – WS 02/03
Flag-Register (2)
D Direction Flag Richtung von String-BefehlenD = 1 von links nach rechts
I Interrupt Interrupt zugelassen?
T Trap Flag für Debugger: single step modus
BIT – Schaßan – WS 02/03
Beispielprogramm 1
MOV A, 0hMOV B, 0nochmal:ADD B, ADEC AJNZ nochmal
Inhalt von Register 0h nach A
Initialisiere B mit 0 Label für eine Subroutine Addiere A zu B Erniedrige A wenn Ergebnis ≠ 0,
springe zu nochmal
BIT – Schaßan – WS 02/03
Beispielprogramm 2
y = a-4b+7Adr Befehl Bedeutung
0 IN a lesen
1 STORE a, (11) speichert a auf 11
2 IN b lesen
3 SHL Akku * 2
4 SHL Akku * 2 (=4b)
5 STORE h, (12)
6 LDK 7 Akku = 7
7 ADD a, 11 Akku = 7+a
8 SUB h, 12 Akku = 7+a-4b
9 OUT
10 HALT
11 a Speicherplatz für Variable
12 h Speicherplatz für Variable
BIT – Schaßan – WS 02/03
Literatur
Interrupts: http://www.beyondlogic.org/interrupts/interupt.htm
Assembler:http://www.minet.uni-jena.de/~matthi/www.ct-projekt.smigel.de/node228.html