Autor: Gregorio Kus (Grego_at_RMnet.IT)
Data: Tue 05 Nov 1996 - 00:15:53 MET
On Mon, 4 Nov 1996 15:24:46 +0100, Romuald Zylla, Lodz Tech.Univ.
Poland wrote:
>
>>Dlaczego w PeCetach jest ta idiotyczna CONVENTIONAL MEMORY?
>
>Poniewaz PeCety rozwijaly sie ewolucyjnie.
[...]
>Wybrali troche tanszy 8088 i musieli sie pogodzic z adresowaniem
>wlasciwym dla tego procesora. Poza tym 640000 KB RAM to bylo 10x wiecej
tak ale to nie wyjasnia magicznej liczby 640kB.
Mozna przeciez bylo juz wtedy (wlasnie dzieki rejestrom segmentowym)
zapewnic dynamiczne wypelnianie pamieci od gory: BIOS, ROMy urzadzen,
pamiec video itd, a ponizej caly RAM dostepny dla programow. Zamiast
tego (jak w maszynkach 8mio bitowych), poprzydzielano stale adresy
roznym rzeczom, powodujac powstanie dziury miedzy BIOSem a pamiecia
video, i rownoczesnie ograniczenie pamieci uzytkownika do obszaru
0:0-9FFF:F. Nie ma w tym specjalnie winy IBM'a (kupil to od M$,
bo sie nie dogadal co do ceny z Digital Research), ani moze nawet M$
bo tak to wygladalo w kupionym przez nich QDOSie. Nie ponosi za to
nawt winy ten facet ktory napisal QDOSa, bo on nigdy nie mial zamiaru
pisac prawdziwego systemu operacyjnego. Napisal sobie takie "cos"
"na brudno", co mu mialo umozliwic eksperymenty z 16to bitowa
architektura, i mialo zapewnic latwe przenoszenie programow
z 8mio bitowego CP/Ma. (do dzis w DOSie jest pelno sladow
wskazujacych na parentele z CP/M)
Faktem jest jednak, ze nawet gdyby zrobiono to dynamiczne
przydzielanie, to i tak samo zjawisko "pamieci konwencjonalnej"
musialoby wystapic. Wine za to ponosi nie kto inny tylko Intel.
Procesor 8086 (8088), a za nimi nastepne (kompatybilnosc w dol)
po resecie (lub power-on) skacze pod adres FFFF:0 (jesli dobrze
pmietam). Czyli adres BIOS'u z koniecznosci musi byc sztywny.
Mozna by bylo oczywiscie zrobic cos w rodzaju BOOT BIOS,
ktory tylko sprawdzalby ile jest RAM'u, a potem wystawial
wlasciwy BIOS na koniec, a sam sie wylaczal zostawiajac RAM
na swoim obszarze adresowym. To oczywiscie skomplikowaloby
nieco konstrukcje mother-board, ale nie za bardzo - rzeczy
tego typu spotkac mozna bylo w niemal kazdym 8mio-bitowcu
wlasnie ze wzgledu na ograniczony zakres adresowania.
Najlepiej by bylo gdyby Intele po starcie resetowaly sie od 0:0.
To jednak nie zgadzalo sie z koncepcja (sluszna z wielu powodow)
umieszczenia na poczatku pamieci wektorow przerwan. Nie byloby
problemem w architekturze z BOOT BIOSem, tyle ze w takiej
sytuacji kazde bez wyjatku uzycie procesora 8086 i pochodnych
musialoby zawierac te obwody zapewniajace przelaczanie RAM/ROM
- niepotrzebna komplikacja w przypadku prostych systemow
embedded.
Mozna by tak jeszcze dlugo i dlugo, ale cala rzecz jest w sumie
dosc prosta: jak napisal Romek - w tych czasach naprawde nikt nie
myslal ze ktos bedzie w mikrokomputerze potrzebowal 640kB RAM.
Jesli byli tacy, ktorzy mieli tak POTWORNE programy - to sluzyly
do tego celu PRAWDZIWE komputery.
Moze ludzie ktorzy programowali w assemblerze na architekturze
Motoroli powiedzieliby jak tam to jest rozwiazane. Ja w architekturze
motoroli programowalem tylko mikrokontrolery, a one maja w EPROMie
adres resetu i innych przerwan, czyli mozna sobie ustawic go
dowolnie.
>niz bylo ludziom potrezbne np w CP\M - czyli spory zapas.
>To bylo takze wiecej niz wtedy sie stosowalo w minikomputerach np. MERA400
>Prawde mowiac IBM zamierzal wyprodukowac i sprzedac najwyzej kilkaset
>tysiecy PeCetow i zwinac ten durny interes.
IBM nie liczyl na sprzedanie wiecej niz 10.000 sztuk w ciagu
pierwszych
5 lat (a potem sie zobaczy). Przy rozmiarach IBM (i jego klienteli)
nawet po owczesnych cenach PeCeta (>10k$) to byly smieszne pieniadze.
Dlatego tez IBM projekt elektroniki oddal w rece jakiegos chlopczyka
dopiero po studiach, a system operacyjny kupil od malenkiej firmy M$
produkujacej taki sobie interpreterek BASICa, zgadzajac sie na
pozostawienie im praw. W ten sposob stworzyl to monstrum (M$).
Niewiele dalby caly geniusz finansowy Billa gdyby IBM nie podpisala
z M$ najglupszego kontraktu w swojej historii. IBM nigdy rzecz jasna
nie podpisalby takiego czegos gdyby chodzilo o miliony. Z drugiej
strony moze to wlasnie geniusz Billa, ktory widzial dalej, ktory
wiedzial ze tu chodzi o miliony. W to ze chodzi o miliardy - chyba
nie wierzyl ani on sam.
Grego
-- /----------------------------------------------------------------- Gregorio Kus Grego_at_RMnet.it Grego_at_cyberspace.org ROMA, Italy http://www.RMnet.it/~grego Grego_at_FreeNet.hut.fi Anonymous Mail Service - http://free.rmnet.it/~grego/AnonMail.html
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 12:54:51 MET DST