CMOS — Änderungen 2266 → 2356

Zeile 1: Zeile 1:
−
CMOS heißt eigentlich Complementary Metal Oxide Semiconductor und ist somit elektonischer Baustein, meistens wird damit aber der batterie-gepufferter SRAM eines Computers bezeichnet, in dem BIOS-Parameter gespeichert werden.
+
Ein '''Complementary Metal Oxide Semiconductor''' (= '''CMOS''') ist eigentlich ein elektonischer Baustein, aber im Bereich der Betriebssystemprogrammierung ist damit meistens der batterie-gepufferter SRAM eines [[x86]]- bzw. [[x86-64]]-Computers gemeint. In diesem speichert das [[BIOS]] Informationen beispielsweise über die angeschlossene Hardware. Außerdem wird darin die momentane Uhrzeit und das Datum gespeichert und von einer Echtzeituhr aktualisiert.
 +
 
 +
== Aufbau ==
 +
 
 +
Im CMOS werden folgende jeweils 1Byte große Felder gespeichert:
 +
 
 +
<br>
 +
<center>
 +
{| border="1" cellspacing="0"
 +
|-
 +
! Offset
 +
! Beschreibung
 +
|-
 +
| 0x00 || Sekunde
 +
|-
 +
| 0x01 || Alarmsekunde
 +
|-
 +
| 0x02 || Minute
 +
|-
 +
| 0x03 || Alarmminute
 +
|-
 +
| 0x04 || Stunde
 +
|-
 +
| 0x05 || Alarmstunde
 +
|-
 +
| 0x06 || Wochentag
 +
|-
 +
| 0x07 || Tag des Monats
 +
|-
 +
| 0x08 || Monat
 +
|-
 +
| 0x09 || Jahr (letzten zwei Stellen)
 +
|-
 +
| 0x0A || Statusregister A
 +
|-
 +
| 0x0B || Statusregister B
 +
|-
 +
| 0x0C || Statusregister C
 +
|-
 +
| 0x0D || Statusregister D
 +
|-
 +
| 0x0E || [[POST]]-Diagnosestatusbyte
 +
|-
 +
| 0x0F || Shutdown-Statusbyte
 +
|-
 +
| 0x10 || Typ der [[FDC | Diskettenlaufwerke]]
 +
|-
 +
| 0x12 || Typ der Festplattenlaufwerke
 +
|-http://de.wikipedia.org/wiki/Complementary_Metal_Oxide_Semiconductor
 +
| 0x13 || reserviert
 +
|-
 +
| 0x14 || Gerätebyte
 +
|-
 +
| 0x15 || Größe des Basisspeichers in kB (niederwertiges Byte)
 +
|-
 +
| 0x16 || Größe des Basisspeichers in kB (höherwertiges Byte)
 +
|-
 +
| 0x17 || Größe des Erweiterungsspeichers in kB (niederwertiges Byte)
 +
|-
 +
| 0x18 || Größe des Erweiterungsspeichers in kB (höherwertiges Byte)
 +
|-
 +
| 0x2E || CMOS-Prüfsumme (niederwertiges Byte)
 +
|-
 +
| 0x2F || CMOS-Prüfsumme (höherwertiges Byte)
 +
|-
 +
| 0x32 || Jahrhundert
 +
|}
 +
</center>
 +
<br>
 +
 
 +
== Programmierung ==
 +
 
 +
Die Programmierung des CMOS ist denkbar einfach: Die fünf niederwertigen Bits des I/O Ports 0x70 dienen als Offset (siehe Tabelle). Durch Lesen bzw. Schreiben des I/O Ports 0x71 kann dann der Wert an diesem Offset gelesen bzw. geschrieben werden.
 +
 
 +
== Weblinks ==
 +
* [http://de.wikipedia.org/wiki/Complementary_Metal_Oxide_Semiconductor Wikipedia: CMOS] (''deutsch'')
 +
* [http://www.nondot.org/sabre/os/files/MiscHW/RealtimeClockFAQ.txt Real Time Clock / CMOS Setup Reference] (''englisch'')
  
 
[[Category:Glossar]]
 
[[Category:Glossar]]
 
[[Category:Hardware]]
 
[[Category:Hardware]]
−
[[Category:Stub]]