Gast
#3128669
Hallo, ich bin dabei mich in die Intel 8086 Architektur einzuarbeiten, und dabei haben sich ein paar Fragen ergeben, bei denen ihr mir hoffentlich weiterhelfen könnt: 1) Wird durch die Hardware ein Interrupt ausgelöst, dann - soweit ich es verstehe - wird dies über einen Pin des Interrupt Controllers angestoßen. Dieser besitzt dazu mehrere Pins, einen pro Interrupt. Der Interrupt Controller wiederum triggert den Interrupt Pin der CPU. Wie genau findet die CPU nun heraus welcher Interrupt (welche Nummer) ursprünglich gemeint war? Wie kommuniziert die CPU mit dem Interrupt Controller? 2) Alle Peripherie wird in den Adressraum gemappt. Bisher bin ich davon ausgegangen, dass über bspw. den Buscontroller entschieden wird, ob eine Adresse nun zu dem Arbeits-, Grafik- oder bspw. Speicher eines Keyboardcontrollers gehört. Doch scheinbar gibt es hier Unterschiede. Was genau ist (bus- und CPU- seitig) der Unterschied zwischen dem Speicherzugriff mit MOV und den "Port"-Zugriffen mit IN und OUT? Können die beiden Arten synonym verwendet werden (kann ich IN/OUT durch MOV ersetzen?)? 3) Wie "startet" das BIOS, um bspw. auf Interrupts zu reagieren? Lädt es sich beim Start in den Arbeitsspeicher (per DMA?)? 4) Über BIOS Interrupt 16h kann auf die Tastatur zugegriffen werden. Könnt ihr mir kurz erklären wie das Lesen einer Taste funktioniert? Was passiert zwischen dem Interruptcall und dem Rücksprung? Wie kommt hier der Keyboardcontroller ins Spiel? 5) Das grundlegende DMA Prinzip habe ich verstanden. Aber was ist ein "DMA Channel"? Danke für eure Mühe