2017-02-28 2 views
0

Ich bin mit Port-Zuordnung und ISR verwechselt, da ich einen Artikel, der erwähnt, dass Hardware-Ports Speicher von 0x00000000 bis 0x000003FF zugeordnet sind jetzt können wir mit Mikrocontroller sprechen von dass die Hardware diese Port keine Verwendung von iN und OUT Anweisungen okwie Software Interrupts sind anders als Port IN/OUT,

verwenden, aber was ist IVT dann meine ich IVT-Adresse des Interrupt-Service-Routine Everthing im Auge ist messed enthalten lesen

tun, wenn wir iN/outwith Port verwenden keine CPU prüft in ivt und wie Mikrocontroller ihre Nummer

kennen

Antwort

0

Wenn Hardware-Ports dem Speicherort zugeordnet sind, heißt das Memory-Mapped IO. Der Zugriff auf die Hardware erfolgt durch Lesen/Schreiben von Daten/Befehlen in ihren Registern. Im Speicher-Mapped-IO liest/schreibt die CPU anstelle von Daten/Befehlen an Hardware-Register Signale/Befehle/Daten an bestimmten Speicherstellen, die Hardware-Registern zugeordnet sind. Daher erfolgt die Kommunikation zwischen Hardware und CPU über das Lesen/Schreiben an einen bestimmten Speicherort.

Wenn eine Hardware installiert ist, wird ihr ein fester Speicherplatz für den Zweck von Memory Mapped IO zugewiesen und diese Speicherstelle wird aufgezeichnet. Außerdem hat jede Hardware ihren ISR, dessen Adresse in IVT gespeichert ist. Wenn jetzt eine bestimmte Hardware die CPU unterbricht, findet die CPU die ISR-Adresse der unterbrechenden Hardware von der IVT. Sobald die CPU identifiziert, mit welcher Hardware die Kommunikation (I/O) durchgeführt werden muss, kommuniziert sie mit dieser Hardware über Memory Mapped IO, indem sie die festen Speicherstellen verwendet, die für diese Hardware zugewiesen wurden.

+0

dann, wie verschiedene Port-Nr zu Mikrocontroller gegeben sind, sind sie von jeder Behörde zugewiesen, wie Ports zugewiesen werden, Anwendung in Netzwerken oder CPU zugewiesen ihnen als 0x60 ist immer Tastatur Statusregister zugeordnet –