Atbilde 1:

Tas nozīmē, ka 8086. gadā programmās izmantotās adreses (loģiskā vai virtuālā adrese, kā jūs to saucat) ir 16 bitu, bet faktiskā adrese, kuru 8086 nosūta RAM, ir 20 biti.

Kāpēc? Jo 16 biti = 64 KB adreses vietas, kur kā 20 bitu adrese = 1 MB atmiņas. Tādējādi jūs varat adresēt vairāk atmiņas, nekā tas ir iespējams, izmantojot vienkāršu 16 bitu adresēšanu (šajā gadījumā 16 reizes vairāk atmiņas).

Kā? Atgādiniet reālā režīma segmentētu adresēšanas shēmu. 8086. gadā adrese nosūtīta RAM = segmentu reģistrs * 16 + nobīde (segmentu reģistru un nobīdi aizstāt ar cs: ip, ds: si, es: di utt.)

Tādējādi, kaut arī segmentu reģistri un nobīdes ir 16 bitu, mums varētu būt fiziska adrese, kas ir 20 bitu gara.

(Ja pamanāt, reizināšana ar 16 ir tāda pati kā nobīde pa kreisi ar 4. 16 bitu adrese, kas palikta par 4, kļūst par 20 bitu adresi (nobīde vēl nav pievienota))


Atbilde 2:

Viens no vissvarīgākajiem mērķiem, kas elektrotehniķiem ir jāpievērš uzmanība, kad viņiem tiek uzdots kaut ko projektēt, ir tas, cik maksās lieta, kad tā tiks projektēta, būvēta un pārdota. Dažreiz tas nozīmē, ka datu un adrešu kopijas datorā tiek multipleksētas, lai ietaupītu naudu. Parasti mēs domājam, ka 20 bitu adreses kopai ir 20 atsevišķi vadi, kas katrs satur 1 bitu datu adreses autobusā. Ir iespējams, ka 16 vadi sarunājas ar adreses kopni, kad augstas kārtas 4 bitus kontrolē segmentu reģistrs. Tā rezultātā ir 1 megabaitu atmiņas arhitektūra, kas adresēta kā 16 bankas ar 64 kilobitiem. 16 bitu adreses kopne atlasīs adreses no 0 līdz 64 k, un jums ir jāmaina bankas izvēles reģistra saturs, lai sarunātos ar liekām 64 k atmiņas grupām līdz robežai 1 megga. CPU, kuriem ir mazāk adrešu rindu nekā atbalstītajam atmiņas lielumam, parasti ir segmentu reģistri, lai kodola vai operētājsistēmas kods varētu sekot līdzi un pēc nepieciešamības pārslēgt bankas atlasīto reģistru.

Tas galu galā rada situāciju, kad doto fiziskās atmiņas adresi atrod 4 bitu segmenta reģistrs + 16 bitu adreses kopne = 20 bitu fiziskā adrese, lai sarunātos ar 1 megabaitu atmiņu. Par laimi, mēs jau sen esam pagājuši pagājušā gadsimta 70. gadu laikos, kad mikroshēmu dizaineri vilcinājās ievietot CPU paketēs ar vairāk nekā 40 tapām, tāpēc adrešu kopņu multipleksēšana nav nepieciešama tik bieži.