Kezdőoldal » Számítástechnika » Programozás » Minden programozási nyelvben...

Minden programozási nyelvben átadódnak a globális változók a függvényeknek?

Figyelt kérdés
Ezt egy javascript tananyagban olvastam, hogy több memóriát fogyaszt egy globális változó, mivel át kell adni minden fvnek. Én azt hittem, hogy átadás nélkül látják őket a fvnyek.

2021. aug. 24. 10:53
1 2 3 4
 31/32 anonim ***** válasza:
8%

"É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."

2021. aug. 25. 17:26
Hasznos számodra ez a válasz?
 32/32 anonim ***** válasza:
8%

"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.

2021. aug. 25. 17:44
Hasznos számodra ez a válasz?
1 2 3 4

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!