Tastaturkontroll (databehandling) - Keyboard controller (computing)

Image
Tastaturkontroller og AT-tastaturkontakt på et AT - hovedkort

Ved beregning, en tastaturstyreenhet er en enhet som grensesnitt et tastatur til en datamaskin . Hovedfunksjonen er å informere datamaskinen når en tast trykkes eller slippes. Når data fra tastaturet ankommer, hever kontrolleren et avbrudd (et tastaturavbrudd ) slik at CPU-en kan håndtere inngangen.

Dersom et tastatur er et separat perifert systemenhet (slik som i de fleste moderne stasjonære datamaskiner ), blir tastaturstyrer ikke direkte knyttet til tastene, men mottar scancodes fra en mikrokontroller innebygd i tastaturet via en eller annen form for serielt grensesnitt . I dette tilfellet kontrollerer kontrolleren vanligvis også tastaturets lysdioder ved å sende data tilbake til tastaturet gjennom ledningen.

Den IBM PC AT brukte en Intel 8042 -brikken til grensesnitt til tastaturet. Denne datamaskinen kontrollerte også tilgang til A20-linjen for å implementere en løsning for en chip-feil i Intel 80286 . Tastaturkontrolleren ble også brukt til å starte en programvare-CPU-tilbakestilling for å tillate at CPUen overgikk fra beskyttet modus til reell modus fordi 286 ikke tillot CPU å gå fra beskyttet modus til reell modus med mindre CPU ble tilbakestilt. Dette var et problem fordi BIOS og operativsystemtjenestene bare kunne ringes av programmer i reell modus. Denne oppførselen har blitt brukt av mye programvare som forventer denne oppførselen, og derfor har tastaturkontrollere fortsatt å kontrollere A20-linjen og utføre programvare-CPU-tilbakestillinger selv når behovet for en tilbakestilling via tastaturkontrollen ble fjernet av Intel 80386s evne til å bytt til ekte modus fra beskyttet modus uten CPU-tilbakestilling. Tastaturkontrollen håndterer også PS / 2- musinngang hvis en PS / 2-museport er til stede. I dag er tastaturkontrolleren enten en enhet inne i en Super I / O- enhet eller mangler, og tastatur- og musefunksjonene håndteres av en USB-kontroller og dens rolle i å kontrollere A20-linjen håndtert av brikkesettet.


IBM

  • IBM spiller en liten rolle i opprettelsen av tastaturkontrolleren. På IBM-kompatible datamaskiner finnes tastaturkontrolleren eller Intel 8042-tastaturkontrolleren på hovedkortet. Kontrolleren håndterer inngang mottatt fra PC-tastaturet, A20-linjer, tilbakestilling, dekryptering av skanningskoder, samt PS / 2-musen. Med senere tastaturmodeller ble 8042 erstattet med 8742 mikrokontroller, som hadde en mikroprosessor, RAM og I / O-porter.
  • Alle som prøver å bruke den klassiske tastaturkontrolleren (KBC) i 8042-stil som finnes i IBM PC / AT og nesten alle senere PC-er, støter vanligvis på et problem med mangel på nøyaktig dokumentasjon. 8042 (eller 8742, eller et hvilket som helst antall kompatible deler innebygd i senere Super I / O-brikker) er faktisk ganske godt dokumentert. Fangsten er at 8042 er en programmerbar mikrokontroller med egen kontrollprogramvare i (vanligvis) ROM. Inntil nylig visste ingen utenfor noen få selskaper (IBM, AMI, Phoenix) nøyaktig hva kontrollprogramvaren gjorde.
  • IBM dokumenterte en rekke kommandoer verten kan sende til KBC. Det skal forstås at alle disse kommandoene er en ren programvarekonstruksjon, uten noe om 8042-maskinvaren som dikterer at kommandoene må følge noe spesifikt format, funksjon eller at de til og med trenger å være der i det hele tatt. Derfor er forståelse av 8042 ROM-koden den eneste måten å forstå nøyaktig hva kommandoene er og hva de gjør, med forbehold om at forskjellige kontrollere kan og har noe annen kode i ROM-en.

Liste over KBC-kommandoer

-Kommandoene oppført som “ignorert” utfører ingen funksjoner.

  • 00h-1Fh : Les indirekte KBC RAM. Ikke dokumentert.
  • 20h-3Fh : Les KBC RAM ved forskyvning 20h-3Fh. Bare kommando 20h er dokumentert av IBM.
  • 40h-5Fh : Skriv KBC RAM indirekte. Ikke dokumentert.
  • 60h-7Fh : Skriv KBC RAM ved forskyvning 20h-3Fh. Bare kommando 60h er dokumentert av IBM. Byten ved forskyvning 20h er kommandobyte og behandles spesielt.
  • 80h-A8h : ignorert.
  • AAh : Selvtest. Denne kommandoen er dokumentert, men bivirkningene er ikke.
  • ABh : Grensesnitt test.
  • ACh : Diagnostisk dumping. Nevnt av tredjepart, men ikke dokumentert av IBM.
  • ADh : Deaktiver tastatur.
  • AEh : Aktiver tastatur.
  • AFh-BFh : ignorert.
  • C0h : Les inngangsporten.
  • C1h : Kontinuerlig inngangsportavstemning, høy nippel. Nevnt av tredjepart, men ikke dokumentert av IBM.
  • C2h : Kontinuerlig inngangsportavstemning, lite nippel. Nevnt av tredjepart, men ikke dokumentert av IBM.
  • C3h-CFh : ignorert.
  • D0h : Les utgangsporten.
  • D1h : Skriv utgangsport.
  • D2h-DEh : ignorert.
  • E0h : Les testinngangene .
  • E1h-EFh : ignorert.
  • F0h-FFh : Pulsutgangsbiter .

Konklusjon

1. Bærbar databehandlingsanordning omfattende: en tastaturkontroller som har en første inngang for mottak av tastetrykk-innganger og som har en utgang for å overføre tastetrykk-inngangene til en hovedprosessor; og en sekundær prosessor som har et grensesnitt til tastaturkontrolleren gjennom en sekundærbuss, hvor den sekundære bussen også blir brukt til å kommunisere med en batterimodul, hvor tastaturkontrolleren også overfører nevnte tastetrykkinnganger til den sekundære prosessoren gjennom den sekundære bussen. Tastaturkontrolleren er programmert til å støtte det IBM®-kompatible serielle grensesnittet for PC-tastaturet. Tastaturkontrolleren mottar seriell data fra tastaturet, sjekker pariteten til dataene, oversetter skanningskoden og presenterer dataene til systemet som en databyte i utgangsbufferen. Kontrolleren vil avbryte systemet når data plasseres i utgangsbufferen. Byte med data vil bli sendt til tastaturet serievis med en merkelig paritetsbit automatisk satt inn. Tastaturet kreves for å bekrefte alle dataoverføringer. Ingen overføring skal sendes til tastaturet før bekreftelse er mottatt for forrige sendte byte. Tastaturkontrolleren og BIOS for å forbedre ytelsen til IBM PC-maskiner og deres kompatible. En fastkoblet metodikk brukes i denne tastaturkontrolleren i stedet for en programvareimplementering, som i den tradisjonelle 8042-tastaturbios. Dette gjør det mulig for tastaturkontrolleren å svare øyeblikkelig på alle kommandoer som sendes fra tastaturet til CPU-BIOS. Dette gjør at populære programmer som Microsoft® Windows ™, NOVELL® og andre programmer kan kjøre mye raskere.

Se også

Referanser

  1. ^ a b http://www.win.tue.nl/~aeb/linux/kbd/A20.html
  2. ^ "Hva er en tastaturkontroller?" . www.computerhope.com . Hentet 04.12.2019 .
  3. ^ "IBM PC / AT 8042 Keyboard Controller Commands | OS / 2 Museum" . www.os2museum.com . Hentet 04.12.2019 .
  4. ^ "IBM PC / AT 8042 Keyboard Controller Commands | OS / 2 Museum" . www.os2museum.com . Hentet 04.12.2019 .
  5. ^ "IBM PC / AT 8042 Keyboard Controller Commands | OS / 2 Museum" . www.os2museum.com . Hentet 04.12.2019 .
  6. ^ [1] , "Computerenhet med en sekundær prosessor med lav effekt koblet til en tastaturkontroller", utstedt 2001-03-08 
  7. ^ "KBD42W11 Dataark (PDF) - SMSC Corporation" . www.alldatasheet.com . Hentet 04.12.2019 .

Eksterne linker