Input Output

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 14. februar 2022; checks kræver 2 redigeringer .

Input-output (fra det engelske  input/output , I/O ) i datalogi - interaktionen mellem en informationsprocessor (for eksempel en computer ) og omverdenen, som enten kan være en person (fag) eller enhver anden information behandlingssystem. Input er signalet eller data modtaget af systemet, og output er signalet eller dataene sendt af (eller fra) det. Udtrykket kan også bruges som en betegnelse (eller tilføjelse til betegnelse) for en specifik handling: "udfør I/O" betyder at udføre input- eller outputoperationer . I/O-enheder bruges af en person (eller et andet system) til at interagere med en computer. For eksempel tastaturerog mus  er specialdesignede computerinputenheder, mens skærme og printere  er computeroutputenheder. Enheder til kommunikation mellem computere, såsom modemer og netværkskort , fungerer normalt som input- og outputenheder på samme tid.

Klassifikation

Tildeling af en enhed som input- eller outputenhed afhænger af perspektivet. Mus og tastaturer tager fysiske interaktioner udført af en menneskelig bruger (i forhold til brugeren vil disse være outputhandlinger) og omdanner dem til signaler, som computeren kan forstå. Outputtet af information fra disse enheder er dets input til computeren. På samme måde modtager printere og skærme inputsignaler, som en computer udsender. Så konverterer de disse signaler til en form, som en person kan se eller læse. (For brugere er processen med at læse eller se sådanne repræsentationer af information input eller modtagelse af information.)

I computerarkitektur udgør kombinationen af ​​en processor og hovedhukommelse (det vil sige hukommelse, hvorfra processoren kan læse og skrive direkte til den ved hjælp af særlige instruktioner ) computerens "hjerne", og fra dette synspunkt kan enhver udveksling af information med denne kombination, for eksempel med diskdrev , indebærer input-output. Processoren og dens medfølgende elektroniske kredsløb implementerer hukommelseskortlagt I/O , der bruges i lavniveauprogrammering ved implementering af enhedsdrivere .

Operativsystemet og softwaren på højt niveau bruger andre, mere abstrakte I/O-koncepter og primitiver. For eksempel implementerer de fleste operativsystemer applikationsprogrammer gennem konceptet . Programmeringssprogene C og C++ såvel som Unix -familien af ​​operativsystemer abstraherer traditionelt filer og enheder som datastrømme, der kan læses fra, skrives til eller begge dele. C-standardbiblioteket implementerer funktioner til at arbejde med strømme til input og output.

I forbindelse med programmeringssproget Algol-68 blev input- og outputmekanismerne samlet omtalt som udveksling . Algol-68-udvekslingsbiblioteket genkendte følgende standardfiler (enheder): stand in, stand out, stand errorog stand back.

Et alternativ til specielle primitive funktioner er I/O- monaden , som tillader programmer blot at beskrive I/O, og handlingerne tages uden for programmets omfang. Dette er ret bemærkelsesværdigt, da I/O-funktioner har bivirkninger i ethvert programmeringssprog, men rent funktionel programmering har vundet popularitet i disse dage.

I/O interface

I/O-grænsefladen kræver processorstyring af hver enhed. Interfacet skal have den passende logik til at fortolke enhedsadressen genereret af processoren.

Kontaktetablering skal implementeres af grænsefladen ved hjælp af de relevante kommandoer af typen (OPTAGET, KLAR, VENTER), så processoren kan kommunikere med I/O-enheden gennem grænsefladen.

Hvis der er behov for at overføre forskellige dataformater, så skal interfacet være i stand til at konvertere serielle (ordrede) data til parallel form og omvendt.

Det skal være muligt at generere interrupts og tilsvarende typer af numre til videre behandling af processoren (hvis nødvendigt).

En computer, der bruger hukommelseskortlagt I/O, får adgang til hardware ved at læse og skrive til bestemte hukommelsesplaceringer ved at bruge de samme assemblersprog-instruktioner, som en computer normalt ville bruge, når den tilgår hukommelse.

Adresseringstilstande

Der er flere måder, hvorpå data kan læses fra eller placeres i hukommelsen. Hver metode er en adresseringstilstand og har sine egne fordele og begrænsninger.

Adresseringstilstande er opdelt i mange typer, såsom direkte adressering, indirekte (indirekte) adressering, øjeblikkelig adressering, indeksadressering, basisadressering, basisindeksadressering, underforstået adressering osv.

Direkte adressering

I denne type er selve dataadressen en del af instruktionen. Når processoren afkoder en instruktion, modtager den adressen på en hukommelsesplacering, hvorfra den nødvendige information kan læses (hvor den kan skrives).

Mov Reg. [Addr]

I dette tilfælde peger Addr - operanden på et hukommelsesområde, der indeholder dataene og kopierer dem til det specificerede Reg-register.

Indirekte adressering

I dette tilfælde kan adressen gemmes i et register. Instruktionerne vil få adgang til registret, der indeholder adressen. Det vil sige, at for at modtage data skal instruktionen afkode dataene i det tilsvarende register. Indholdet af registret vil blive behandlet som en adresse, ved hjælp af hvilken information vil blive læst / skrevet fra / til det tilsvarende hukommelsesområde.

I / O med fordelingen (input information) af porte (hukommelse)

I/O med allokering (inputinformation) til porte (hukommelse) kræver normalt brug af instruktioner, der er specielt designet til at udføre I/O-operationer.

Se også

Noter

Links