Minden programozási nyelvben átadódnak a globális változók a függvényeknek?
"És itt van a probléma, mert 16 bites műveleket tud elvégezni, így a PC is csak 16 bites tud lenni, és máris bukott a 20bites címtartomány kicímzése."
Nem értem mi a bajod.
Már miért bukott volna és micsoda? A 20 bites cím két alkotóelemből áll. A szegmensből és az addressből. E kettő képezi a fizikai címet.
Van near, far és huge jump, ugye.
A near lehet egy byte-on belül (8 bit), a far lehet egy szegmensen belül (16 bit) és a huge lehet szegmens:address formában.
"A 70-es évek végén a mini számítógépek a 16 bites 64KB címkorlát, mivel a memória olcsóbb lett. Néhány miniszámítógépnek tetszik PDP-11 komplex bankváltási sémákat használt, vagy a Digital esetében VAX, sokkal drágább processzorokat terveztek át, amelyek közvetlenül kezelni tudják a 32 bites címzést és az adatokat. Az eredeti, az egyszerűből kifejlesztett 8086 8080 mikroprocesszor, és elsősorban nagyon kicsi és olcsó számítógépekre és egyéb speciális eszközökre irányul, ehelyett egyszerű szegmens regisztereket fogadott el, amelyek csak 4 bittel növelték a memória cím szélességét. Ha egy 64-KB-os címet megszorozunk 16-tal, akkor a 20-bites cím összesen egyet tud címezni megabájt (1 048 576 bájt), ami akkoriban elég nagy összeg volt egy kis számítógép számára."
"a fő probléma az volt, hogy belül voltak 16 bites regiszterei, és az ALU is csak 16 bitesen tudott számolni, és nem lehetett sehogyan sem 16 bitesnél nagyobb mennyiséget leírni..."
Dehogy. Ezt csak te találtad ki.
Az egész x86 szervezése eleve a szegmentációra alapoz. Az x86 nem egy új tervezés volt, hanem a korábbiak folytatása, azok kibővítése.
Akkoriban az volt a szokás a 64k-s korlát áthágására, hogy bankos volt a memória kialakítása és bankot váltottak. Az intel meg ezt az utat választotta, a szegmentálást. Ezért is van a processzorban olyan regiszter mint CS, DS, SS és ES. Ezek mind szegmens-regiszterek.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!