On 16 Feb 2003, at 1:03, wrote:
> >A hoskorban nem volt loader, ...
> >... eloszor betoltotte az ember magat az asszemblert lyukszalagrol,
> >az beolvasta masik lyukszalagrol a leforditando program szoveget,
> Hat akkor az assembler egyben loader is volt...
Egyaltalan nem. A "loader", vagy ahogy akkoriban hivtuk, a "bootstrap
loader" egy programot toltott be, mig az asszembler egy szoveget,
amit aztan leforditott futtathato programma.
> De tenyleg? Vajon miert farasztjak a szgepet rutinfeladattal?
Azert, mert ugy olcsobb mondjuk a floppy, ha semmi nincs benne. :)
> - Hogyan alkotunk kepet? Kulon memoriaterulet jelenti a
> monitortartalmat es ezt a memoriat irogatjuk, ebben rajzolgatunk?
> Hogy lesz abbol kep? Mi olvassa ki sorosan, hogy kikuldje
> a monitornak?
Akkor ne ugorjunk ekkorat, kezdjuk a hoskorral. Akkoriban nem voltak
monitorok, hanem volt a konzolirogep. Ez egy villanyirogep volt, amit
felszereltek egy egyszeru elektronikusan szerkentyuvel. Ha leutottel
egy billentyut, akkor egyreszt kiirta a betut, masreszt egy egyszeru
soros vagy parhuzamos porton keresztul odaadta a kodot a
szamitogepnek is. Ha meg a szamitogep kuldott egy kodot neki, akkor
az annak megfelelo kalapaccsal utott egyet.
Aztan baromi draga penzen megcsinaltak ennek a monitoros valtozatat,
ami kivulrol (a szamitogep felol nezve) ugyanolyannak latszott, mint
egy regi konzol, csak eppen sokkal intelligensebb volt, pl. be
lehetett irni egy teljes sor szoveget, visszamenni mondjuk 3 betuvel,
kijavitani az elirast, stb, mielott elkuldted volna az egesz sort a
szamitogepnek. Maga az elkuldes, vagyis az IO maradt ugyanolyan
egyszeru soros vagy parhuzamos porton keresztulmeno adatforgalom.
Aztan ezek a konzolok elkezdtek egyre okosabbak lenni, pl. volt
vektorgrafikas konzol is, ami tudott vonalakat is rajzolni, es pl.
magukat a betuket is vonalakbol irta ki, nem pedig kis pottyokbol
ragasztgatta ossze :) Persze az IO felulet maradt tovabbra is
ugyanaz, csak nem minden adat volt betukod, volt benne jo sok
vezerlokod, pl. egyenes rajzolasara. Ez persze a kulonlegesseg volt,
sokkal gyakoribbak voltak az alfanumerikus konzolok, amik szinten
okosodtak, pl. volt olyan vezerlokod, amivel a kurzort oda lehetett
vinni a kepernyo valamely reszere, mezoket definialni, hogy ide a
user csak szamot irhat be, stb.
Mindeddig maga a szamitogep nem foglalkozott semmit se a
kepalkotassal, azt a konzol hardvere, vagy a kesobbiekben az abban
levo mikroprocesszor vegezte. Aztan a tomegcikk PC-khez ez tul draga
dolog lett volna, es hat vegulis a fo CPU is meg tud csinalni
mindent, ugyhogy onnantol kezdve kezdtek kihalni a specializalt
konzolok, es jottek be a monitorvezerlo aramkorok illetve kesobb
kartyak. Eleinte ezek szoveges kepet csinaltak, mert az volt a szokas
(az igeny), meg hat a memoria... Grafikus kep csinalasahoz sokkal
egyszerubb HW kellett volna, de ahhoz memoriabol is tobb kell, es
azert kezdetben memoriabol igencsak keves volt (pl. Sinclair ZX 80 a
maga 4k ROM, es 1k RAM-javal, amiben maga a kep is benne volt!!! Maga
a csoda!!!)
Azert kesobb kezdett memoria lenni (amikor maga Bill Gates is
megmondta, hogy 640k mindenkinek eleg kell legyen :), kialakult egy
koztes megoldas, ahol azert nem mindent a CPU csinalt, mint a
Sinclair-ben, de nem is kulon konzol volt a maga bonyolult hw-jevel
meg processzoraval, hanem egy koltsegtakarekos kompromisszum lett.
Itt tipikusan a gepben volt egy olyan memoriadarab (kepernyomemoria),
amit a CPU is tudott irni, meg egy egyszeru HW is olvasni, ami a
sorban kiolvasott betukodok alapjan kitalalta, hogy mikor kell
fekete, mikor pedig feher (vagy mas szinu) pixel-videojelet
csinalnia, amibol aztan a kep lett. Pl. ha minden betut 8x8-as
matrixu keppel rajzolt ki, akkor az elso betukodot kiolvasta, abbol
kigeneralt 8 darab egymas utani pixelt, es vette a kovetkezo
betukodot, stb., majd a videosor vegen megint vette ugyanazt az elso
betukodot, abbol a masodik videosor 8 pixeljet, stb.
> Egyaltlan, mi az a az ISA busz, azontul, hogy nagy es fekete?
Nem nagy, es nem is fekete :)
> A CPU adat es cimvezetekeinek egyuttese lenne?? Ketlem.
Eredetileg az volt, kis kiegeszitessel. Rajta volt az orajel, 20+4
bit cimvezetek, 8+8 bit adatvezetek, 6+5 megszakitas kero vonal, 3+4
DMA kero vonal, jopar vezerlojel (MEM R/W, IO R/W, stb.). (x+y azt
jelenti, hogy az eredeti 8 bites ISA-n volt x vonal, a 16 bites
hozzaadott meg y-t.) Aztan ahogy a processzor sebessege nott (>8
illetve >12 MHz), mar nem lehetett direktben a CPU vezetekeit
ratenni, mert az IO eszkozok nem birtak azt a sebesseget, akkor
bejott egy kulon aramkor, ami manapsag a South Bridge nevezetu chip-
ben van, ami osszekoti az ISA-t a CPU-val (kb.).
István
|