Wir wollen unser Stubs um ein Zeitscheiben-Scheduling erweitern.
Also brauchen wir einen Zeitgeber.
Aber welche haben wir dabei, einen modernen x86er überhaupt zur Verfügung?
Der erste IBM PC 1981 hatte bereits den Programmable Interval Timer, ursprünglich ein Intel 8253
Chip.
Der Bausteim wird mit einer Frequenz von 1.193.181,periode 81006.1 deportiert.
Eine krumme Zahl mit der sich eigentlich gar nicht so schön rechnen lässt.
Wer hat das verbrochen?
Woher kommt die Zahl?
Nun damals war es aus Kostengründen noch üblich Fernseher als Ausgabe für die PCs zu verwenden.
Der in Nord-
Amerika verbreitete NTSC Standard arbeitet mit einer Frequenz von 3.579.545, vom Challenge
1545, die Periode IV, V-Herz- undAntnak-Version, was exakt das dreifache ist.
Da nun damals Schwingpartsinnig besonders günstig waren, hat man versucht, um Kosten zu sparen
die ganzen Frequenzen eines Systems an NTSC anzupassen und stattdessen nur Frequenstaile
verwendet.
Selbst der Systemtakt des ersten IBM PCs mit rund 4,77目Hertz und somit 3 MP3 der
NTSC-Frequenz wurden dadurch best chromt.
NTSC spielt heutzutage keine Rolle mehr.
aber wegen der Arbeitskompatibilität wurde die Frequenz im PID natürlich beibehalten.
Ursprünglich hing der erste seiner drei Timer beim PIC an der ersten Leitung,
hatte dort also auch die höchste Priorität bei Unterbrechungen.
Der zweite Timer wurde zum Auffrischen der Arbeitsspeicher verwendet.
Die Speicher der günstigen DRAM basieren auf Kondensatoren,
welche regelmäßig wieder geladen werden müssen, und frühe war der PID dafür verantwortlich.
Heutige Arbeitsspeicher haben natürlich eine eigene Hardware dafür, teilweise ist dieser
Timer im PID entsprechend auch gar nicht mehr vorhanden.
Den dritten Timer hingegen finden wir bei manchen Desktop-Systemen noch, unter anderem
auf unseren Testkisten.
Mit ihm kann man den PC-Speaker ansteuern, welcher insbesondere vor den Zeiten der Soundkarten
häufig zum Einsatz kam.
Der Piepser kennt zwar nur an oder aus, aber durch Puls-Dauer-Modulation, kurz PWM, kann
man unterschiedliche Töne erzeugen.
Ein Beispiel dazu folgt in Aufgabe 6.
Heutzutage haben wir auch keinen PIC mehr, sondern verwenden IOAPIC und LAPIC.
Und wenn man sich das nun anschaut vom PIT über IOAPIC, APIC BUS und LAPIC an die CPU,
dann sieht man schon, dass der Timer durchaus nicht optimal angebunden ist.
Aber für das Zeitscheiben-Scheduling reicht das eigentlich aus.
Bis Wintersemester 2013 wurde auch tatsächlich der PIT dafür in Stubs verwendet, aber das
geht besser.
Trotzdem verwenden wir den PIT in Stubs an anderen Stellen, da er einfach zu programmieren
ist, zum Beispiel beim Systemstart, um gewisse Zeiten abzuwarten.
Als nächster Zeitgeber wurde ab 1984 die Real-Time-Glock eingebaut, bei welcher man sich dann durchgerungen
hat einen extra Schwingquads einzubauen.
Und zwar einen, der auch viel Verwendung im Alltag, beispielsweise in Armbanduhern findet.
Dieser hat eine Frequenz von 32.768 Hertz, was auch für uns eine wunderschöne Zahl zum
Rechnen ist.
Er ist auch in der Lage Unterbrechungen auszulösen, Standard-Einstellung ist etwa Millisekunden-Takt,
kann aber grob angepasst werden.
Früher war er mit der ersten Leitung des zweiten kaskadierten Picks verbunden, was den Nachteil
Presenters
Zugänglich über
Offener Zugang
Dauer
00:07:42 Min
Aufnahmedatum
2020-08-13
Hochgeladen am
2021-09-20 19:06:24
Sprache
de-DE
Überblick über die vorhandenen Timer in einem x86er System für Aufgabe 5 der Lehrveranstaltung Betriebssysteme.
Folien und Transkript zum Video.