Diskusjon:Reell modus

Sideinnholdet støttes ikke på andre språk.
Fra Wikipedia, den frie encyklopedi

Standard modus?[rediger kilde]

Denne artikkelen hevder at reell modus (så det er det det heter på norsk) ble erstattet av standard modus fra og med 286. Jeg synes dette er litt merkelig, for jeg har lest IA32-manualen nok til å programmere den uten operativsystem, men har bare støtt på real mode, protected mode, virtual-8086 mode og system management mode. Siden beskyttet modus også nevnes her i artikkelen virker det ikke som om standard modus er et norsk navn på den modusen. Er det noen forveksling med Windows sin standard mode ute og går her? Ters 15. des 2008 kl. 20:22 (CET)

Windows brukte navnet standard modus om 286, og det er denne navneformen som er blitt brukt. Beskyttet modus kunne også brukes; poenget var å skille den fra 386 beskyttet modus, som var temmelig forskjellig med sine «prioritetsringer».
Ordet «erstattet» var klosset formulert, ettersom real mode ble beholdt av kompatibilitets-grunner. Det jeg mente å si var at 286 beskyttet modus erstattet reell modus som prosessorens «hovedmodus». Virtual-8086 mode og system management mode kom med 386 og 486. --Ranværing 20. des 2008 kl. 22:27 (CET)
Har omdøpt standard modus til 286 beskyttet modus, med en lenke til denne. --Ranværing 20. des 2008 kl. 22:33 (CET)
Forøvrig nevner artikkelen bare prosessorer opp til og med 286. Reell modus er da fortsatt å finne selv i dagens multikjerne x86-64-prosessorer. Noen spesiell grunn til dette? Det er forøvrig en del jeg kan tilføye i denne artikkelen nå som jeg vet hva den heter på norsk, men jeg vet ikke hvor teknisk den bør bli. Ters 20. des 2008 kl. 23:06 (CET)
Om norske navn: Man kunne selvsagt kalle det real mode, protected mode, osv. Dette er navneformer jeg er vant med fra universitet og jobbsammenheng, ettersom omtrent all tilgjengelig litteratur er engelsk.
Norsk wikipedia benytter norske navneformer som personlig datamaskin istedetfor Personal Computer, osv; derfor har jeg etter beste evne unngått engelske navn. Extended DOS er blitt kalt for DOS-utvider, protected mode er kalt beskyttet modus, etc. Dette er jeg ikke nødvendigvis enig i, men det har vært en del diskusjon om dette tidligere, og jeg så meg nødt til å bruke norske istedetfor engelske navn.
Reell modus: Selvfølgelig finnes denne modus i 386 og senere. Artikkelen prøver å formidle at reell modus (real mode) var adressemodusen til 8086 og 8088. I 386 henger den igjen som et spøkelse fra fortiden, ettersom 386 måtte være kompatibel med eldre programvare.
Dersom Intel ikke hadde vært tvunget til å ta hensyn til all programvare som hadde vært skrevet siden lanseringen av den opprinnelige IBM PC, hadde de garantert laget en helt ny og «renere» 32-bit arkitektur. Reell modus på 386 er å simulere en gammel 8086 på den nye arkitekturen. Man kunne like godt kalle reell modus for 8086-modus.
Beskyttet modus. Denne ble innført i 286, og deretter kraftig forbedret i 386. For å skille mellom dem, brukte Windows navnene standard modus (286) og 386 Enhanced mode (386).
Artikkelen prøver å forklare tingene enkelt og oversiktlig. Man kan simulere en gammel 8086 også i en 64-bit prosessor; det forandrer likevel ikke det faktum at reell modus = 8086 modus.
Du bør absolutt bidra. Bakgrunnen for denne artikkelen var at jeg prøvde å forklare hva en DOS-utvider er, og oppklare begrepsforvirringen omkring DOS og Windows (som både er et grafisk brukergrensesnitt til DOS, et grafisk brukergrensesnitt til Extended DOS, og deretter navnet på et grafisk brukergrensesnitt til operativsystemer som verken er DOS eller Extended DOS).
Det enkle og oversiktlige bør stå som et innledende resumé. Det er ingenting i veien for at tekniske detaljer tilføyes i underkapitler. --Ranværing 21. des 2008 kl. 9:57 (CET)
Jeg har nå lagt inn en del tekniske detaljer, men mangler et godt norsk ord for offset. Dessuten er det noe jeg mener å huske, men ikke finner fullstendig dokumentasjon på, slik som hva som kan brukes for å angi offset i enhver situasjon. Det er noe i Intels manualer som støtter opp under det jeg mener å huske, men ikke noen svart-på-hvitt bekreftelse. I tillegg er det også det med når det eventuelt ble mulig å endre avbruddtabellens plassering. Vil anta at denne muligheten først dukket opp i 286 eller 386. Fint om noen andre ser gjennom artikkelen. Ters 21. des 2008 kl. 14:45 (CET)
I en bok av James W. Coffron i norsk oversettelse: 8086/8088 Assemblerprogrammering, heter det: «Innholdet av IP-registeret kalles forskyvningen (offset) – CS-registeret x 16 peker på den startadressen eller det segmentet i minnet som forskyvningen blir beregnet fra. CS-registeret peker altså på startadressen til det segmentet i minnet som inneholder alle instruksjonskodene, derav navnet kodesegmentregisteret».
Boken kaller altså offset for «forskyvning». Beskrivende, men likevel så tvetydig. Jeg tror det er mulig å bruke det engelske ordet offset på norsk. Ordet offset er adoptert av det norske språk i en annen sammenheng, nemlig under trykking av aviser og frimerker. Offset erstattet boktrykk. Her tør jeg imidlertid ikke påstå hva som er rett og galt.
Tenker med gru på den dagen jeg skal skrive den norske artikkelen om unreal mode (som også finnes i x86 arkitekturen). Alle og enhver innser at dette ikke kan kalles «uvirkelig modus».
Jeg skal se hva jeg finner om endring av avbruddstabellens plassering og angivelse av offset i litteratur om assembler-programmering for 80286, 80386 og 80486. --Ranværing 21. des 2008 kl. 20:18 (CET)
Vurderte selv om jeg skulle inkludere en bit om ikke-reell/ureell modus i denne artikkelen, men fant aldri ut av hvordan jeg skal klare å forklare denne sære måten å misbruke en teknisk detalj i prosessorens virkemåte på. Angående offset, så er problemet at det på norsk blir forbundet nettopp med trykking. Jeg kommer til å prøve å fortsette å skrive noen artikler om ting knyttet til prosessorer, men har litt problemer med å finne passende kategorier til enkelte ting. Ters 21. des 2008 kl. 21:14 (CET)
Artikkel-navnet Offset (informatikk) løser problemet. Dersom noen er uenige i navnet, kan innholdet lett flyttes til artikkel med et annet navn. Navnet «forskyvning» er enda mer tvetydig enn offset. Jeg assosierer forskyvning med fysiske prosesser, både i og utenfor kroppen vår.
Men tilbake til «standard modus» (286). Det som jeg prøvde å formidle er at 286 beskyttet modus («standard modus») og 386 beskyttet modus var native mode på 80286 og 80386. Og at reell modus ble bevart for å kjøre programmer for 8086. Artikkelen en:Native mode på engelsk wikipedia forklarer dette.
Hva er native mode på norsk? Jeg har brukt navnet «hovedmodus». 64-bit x86 prosessorer ble lansert for å kjøre 64-bit programvare. Dette er deres native mode («hovedmodus»). Native forbinder jeg med «innfødt», eller også native language – «å snakke på ens eget (native) språk».
Jeg er fortsatt usikker på hvordan artikkelens innledning kan gjøres mer oversiktlig og lettfattelig. Istedet for å gjøre fornuftige ting, har jeg brukt dagen på å filosofere over norske navn på «offset», «innfødt modus» og «uvirkelig modus».
En annen ting jeg er usikker på (og uenig med meg selv om), er hva som hører hjemme her, og hva som kunne skrives i artikkelen Intel 8086. Artiklene overlapper hverandre.
Et eksempel på hvordan 20 bit adresser genereres med offset av en prosessor som egentlig er 16-bit (8086), ville være illustrerende. En 20-bit adresse = (16 x CS) + IP:
CS-register = 1000H
IP-register = 0414H
20-bit adresse = (16 x 1000H eller 10000H, 4 venstre-skift)
+ 0414H = 10414H
Denne artikkelen og Intel 8086 overlapper hverandre. 8086 kjører i reell modus; idag gikk jeg personlig ned for full telling i tenkemodus. --Ranværing 21. des 2008 kl. 23:18 (CET)
Det kan godt være litt overlapp mellom denne og de ulike prosessorartiklene. Reell modus er noe som er felles for flere prosessorer og artiklene om dem kan godt vise til denne artikkelen for detaljer. Et raskt sammendrag bør de likevel inneholde. Norge inneholder en del om Norges historie, men viser til Norges historie for mer utdypende informasjon. Det samme vil jo gjelde for beskyttet modus og lang modus. (Høres de engelske navnene like dumt ut for en med engelsk som morsmål som jeg synes de norske gjør?) Prosessorartiklene vil i større grad kunne beskrive den faktiske implementasjonen som virkeliggjør operasjonsmodusene. Det blir dermed litt slik som skillet mellom artikler om programmeringsgrensesnitt og implementasjon. Forøvrig har jeg filosofert over norske navn for real mode, offset, paging og en rekke andre siden oktober, så velkommen i klubben. Ters 21. des 2008 kl. 23:36 (CET)
Bestemte meg nå for å oversette den engelske artikkelen om offset, kalle den Offset (informatikk) og skjære gjennom ved å kutte av den gordiske knuten. Nå har jeg i to dager prøvd å finne et fornuftig navn på native mode, uten å lykkes. Jeg har endog mislyktes i å diskutere på denne diskusjonssiden, fordi jeg ikke kan snakke om «innfødt modus». Tiden er kort sagt brukt på tull og tøys. Så får det heller bare oppstå en ny mangel i den oversatte artikkelen, fordi det første jeg der støter på er det engelske ordet array (som jeg ikke vet hva er på norsk). --Ranværing 21. des 2008 kl. 23:49 (CET)
Mine forelesere på høgskolen oversatte array med tabell. Den første setningen i den engelske artikkelen får meg til å tenke på indekser, men disse ligger kanskje ett hakk høyere i abstraksjonsnivå. offset = index * element size Ters 21. des 2008 kl. 23:58 (CET)
Opprettet artikkelen om offset. Dermed er i alle fall ét problem ute av verden.
Hensikten var ikke å latterliggjøre det engelske språket med språk-sjåvinisme. All faglitteratur om datamaskinarkitektur, om distribuerte operativsystemer, om parallell-programmering, om kompilatorer – er jo engelsk! Og jeg har utviklet flere kompilatorer med engelsk terminologi.
I virkeligheten har jeg latterliggjort meg selv ved å diskutere i norges største leksikon, med innlegg som ligner en blanding mellom schizofreni (meningsløse, ubegripelige ord og setninger) og en autist (som ikke klarer å formidle det jeg tenker og «ser» i min egen verden og mitt eget hode).
Det er helt riktig at reell modus i 80286 ble «erstattet» (slik jeg opprinnelig skrev), at standard modus i 80386 ble «erstattet», og at 386 beskyttet modus ble «erstattet» i AMD Opteron. Tusenkroners-spørsmålet blant lesere er: «Erstattet» med hva? Det eneste som mangler, er dramatisk bakgrunns-musikk før avsløringen. Svaret er: Taushet. Har noen et godt forslag på hvordan native mode sies på norsk?
Nå har jeg foreløbig kalt dette for prosessorens «hovedmodus» av mangel på et fornuftig norsk navn. --Ranværing 22. des 2008 kl. 01:35 (CET)
Jeg synes hovedmodus er et greit norsk ord. Skjønner ikke hvorfor du introduserte overskriften «Generering av adresser for instruksjoner», når alle adresser genereres på samme måte, bortsett fra at instruksjonsadresser alltid må gjennom IP-registeret. Ters 22. des 2008 kl. 09:35 (CET)
Fjernet overskriften «Generering av adresser for instruksjoner», selv om eksempelet viser bruken av IP-registeret og «adressering» kan bety så mangt. Adressering kan f.eks. henvise til ulike adresseringsmodi i reell modus.
8086 har (1) direkteoperand-adressering, (2) registeradressering, (3) direkte adressering, (4) indirekte registeradressering, (5) indirekte registeradressering med offset, (6) indirekte adressering med base- og indeksregister og (7) indirekte adressering med base + indeks + konstant.
Kanskje kunne det skrives noe mer om oppbyggingen av 8086 i artikkelen om 8086, og at jeg heller burde konsentrere meg mer om denne. En slik artikkel kunne godt skrives. Problemet er at oppbyggingen av 8086 også gjelder 8088, og (delvis) 80186 og 80188.
Når man beveger seg så langt ned i maskinvaren som denne artikkelen gjør, er det en uklar grense mellom en abstraksjon (reell modus) og dens implementasjon (8086).
Her er jeg fortsatt uenig med meg selv.
MOV AX, COUNT [BX] [DI] er et eksempel på bruken av en håret adressemodus i 8086. Offset er her DI + BX + COUNT, som skal brukes til å flytte data fra minnet til AX-registeret. Hvis DI = 0367H, BX = 7890H og COUNT = 0012H, blir offset lik 7C09H. 20 bit adressen blir dermed (16 x DS) + 7C09H. Hvis DS-registeret inneholder 3000H, blir den fysiske 20 bit adressen lik 37C09H.
For mange lesere blir dette «abrakadabra». Likevel er dette viktig. Det som skiller CISC-prosessorer fra RISC, er blant annet slike hårete adresseringsmodi. Jeg undres på om ikke jeg heller bør fokusere på det enkle, det aller enkleste, og forklare oppbyggingen av 8086 på en enkel måte i artikkelen om 8086. Og deretter etterhvert tilføye mer tekniske detaljer i underkapitler. --Ranværing 23. des 2008 kl. 02:20 (CET)