Re: x86, generacje procesorów

Autor: Krzysztof Pawleta (pawletak_at_priv5.onet.pl)
Data: Wed 20 Dec 2000 - 20:35:09 MET


MiW wrote:
>
> > Szyna adresowa od 8086/8088 była co najmniej 20 bitowa (jak na 16b
> > zaadresować 1MB, chyba że masz słowo danych 128bit :), 286 miało szynę
> > adresową 24 bity (adresowanie 16MB).
>
> Bzdura.
> Po jaka cholere tworzyc 20-bit szyny adresowej, a nie 24 ? 1 bajt
> przypominam to 8 bitow, a x86 nie ma mozliwosci bezposrednich operacji na
> pojedynczych bitach (tylko mul 2, div 2 shr shl itp).

Szkoda mi takich ludzi, którzy niby to znają assembler ("mul 2, div 2 shr
shl"), a podstaw programowania 8086 nie znają...
Pomogę: aby otrzymać adres komórki pamięci w 8086 (oraz w "Real Mode"
starszych) trzeba wziąść rejestr segmentowy (16-bit) przesunąć o 4 w lewo
(czyli pomnożyć przez 10h) oraz dodać rejestr offsetowy - czyli mamy
adresowanie maksymalnie 16+4=20 bitowe (jednak jest tu pewien haczyk:
FFFFh*4+FFFFh=10FFEFh - czyli 21 bitów...
I to jest wykożystywane w prockach >=80186 to uzyskania tzw wysokiej pamięci
(w prockach 8086 adres był po prostu "zawijany")
To tak kwoli wyjaśnienia z okazji Świąt ;-)

-- 
_________________________________________________
|		 'Krzys' Pawleta		|
|	  mailto:pawletak_at_priv5.onet.pl 	|
|_______ICQ# 1582962___________GG: 259602_______|


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 21:04:06 MET DST