http://www.root.cz/clanky/jak-se-zrodil-proc... ...
Dovoluji si tvrdit, že registry na 6502 nebyly nijak omezené. Akumulátor byl sice jeden, ale počet 8 bitových indexregistrů (X, Y) byl, myslím, stejný. Pro nepřímé adresování (pro nepřímé indexované v kombinaci s X a Y) se používala celá stránka 0 - tedy 128 "šestnáctibitových" vektorů. Přístup na tuto stránku potřeboval ve srovnání s "běžnou pamětí" poloviční čas. Důvodem, proč bylo zvoleno toto řešení nemuselo být určení procesoru, ale klesající cena pamětí, takže se registry mohly přesunout do ní.
Index registry měli oba procesory dva. Ale Z80 měl navíc 8 registrů (navíc snad zdvojených) pro obecné použití a pokud se nepletu uměl je adresovat přímo instrukcí.6502/6510 to doháněli rychlou prací v první stránce paměti a rychlými instrukcemi s indexovanou adresou.Doufám že jsem se nedopustil nepřesností, pracoval (hrál si) jsem na 6510 ale už je to nějaký ten pátek.Nevím jak 6502, ale u 6510 bylo možné používat sdružené instrukce (v jedné instrukci 2-3 operace). Ty byli označované jako nepodporované (či dokonce zakázané) a předpokládám že vznikli jako vedlejší produkt při minimalizaci logiky. Tyto instrukce nebyli v kompletní sadě (ve smyslu nemuseli jste k dané instrukci najít komplementární jako třeba k instrukci INCrement je DECrement) ale pokud jste je znali tak mohli některé úlohy o chlup urychlit.
Ano. Nedokumentované instrukce vznikly jako vedlejší efekt snahy o minimalizaci CPU. Hezké vysvětlení třeba zde: http://www.pagetable.com/... je tam i vysvětleno, proč některé nedokumentované instrukce zasekly CPU. Zakázané se jim říkalo asi protože se neměly používat, protože další verze CPU (třeba 65c02, 65ce02, 65c816, ...) je neimplementovaly, tudíž program, kterej tyhle instrukce používal na dalších generacích CPU neběžel.
V roce 1970 se ale General Electric rozhodl ukončit své počítačové aktivity : to bylo moudré, počtače stejně neměly budoucnost. Tři mainframy pokryjí celosvětovu potřebu. Ušetřili spoustu peněz.
Pan Tronner, Vy ste jediny dovod, pre ktory sa na zive.cz opatovne vraciam. Za Vasu pracu som Vam vdacny a dakujem.
Názor byl 1× upraven, naposled 30. 7. 2016 14:08
Naprostý souhlas! Světlá výjimka na tomhle bulváru ...
Díky moc za takové články. Protože podle jiných médií a podle masírky Applu by to snad začalo vypadat, že osobní počítače vymyslel a vytvořil ten psychopat Steve Jobs, který neměl o technice ani páru.
Dovoluji si nesouhlasit, že Steve Jobs neměl o technice ani páru. Dokázal zorganizovat výrobu Apple I u sebe v garáži a měl talent na shánění levných součástek, což u člověka který nemá o technice ani páru moc dobře nejde.
Pavle děkuji za další článek. Přiznávám, že to byl můj první, který jsem četl jako čerstvý. Tvoje články jsem objevil někdy v únoru, úplnou náhodou když jsem hledal něco o Atari nebo o 6502. Myslím, že jsem je už přečetl všechny a zbývá „jen“ knížka. Na osmibitové počítače a mikroprocesory nedám dopustit. Můj první počítač bylo v roce 1987 Atari 800XE (jestli si dobře pamatuji, stálo 7500 Kčs i s magnetofonem XC-12, koupeno bylo při náhodné akci v Praze v prodejně Diamant na Václavském náměstí). V jednom článku popisuješ, jak jsi vyráběl konektor na Joystick – vyráběl jsem ho skoro stejně. Na střední škole jsme měli hlavně i8080 (IQ-151,PMD, TEMS, PMI, SAPI) na ČVUT to už byly hlavně i8086 a diplomku jsem dělal s i8051. Dne učím na střední škole Mikroprocesorovou techniku a snažím se vychovat nějakého budoucího Wozninaka, Pedleho, Minera či Kišše. Pro cvičení momentálně používám ATmega32. Když jsem se před pár roky začal seznamoval s jádrem AVR, moje první reakce byla, že autoři si vzali to dobré, co bylo na Motorole 68xx (či MOS6502) a Intelu (8080, 8051) a spojili to dohromady. Snažím se taky bojovat proti předsudkům vůči programování v assembleru. Často slyším, že je to něco „fuj“, co se už nepoužívá a podobně. Databázové aplikace či webové stránky se v tom psát moc nedají. Ale software pro mikrořadiče, ovladače hardware, kritické části jádra operačního systému, tam myslím že má pořád své místo....
jj, někdy v r. 93 jsme dostali za úkol "nakreslit" fraktál. V C to trvalo několik minut, než se CGA grafika vykreslila (šlo hlavně o výpočty). Stačilo jen tu výpočetní část přepsat do assembleru, a hle, vše bylo vykresleno během vteřiny! Profesorce matematiky a studentům tehdy spadla čelist. Později jsem v assembleru pro MC68000 naprogramoval vlastní bezztrátovou kompresi zvukových stop, to zas bylo efektní v tom, že to bylo o nějakých pár desítek procent účinnější, než tehdejší ZIP/RAR a pod.Škoda, že se dnes tyhle detaily moc neřeší, stačí přitom jen pár drobností a hned je SW třeba o 2 řády rychlejší...
Malá technická oprava:6502 nenahrával instrukce z žádný fronty. Měl instrukční registr a zatímco v něm mohla bejt už další instrukce, tak ta předchozí se mohla dokončovat. Ale to samý umělo už i i8080 nebo Z80. Říkalo se tomu fetch-execute overlap. Důvod proč 6502 měla vše v míň cyklech byl jinej. Prostě byla navržená tak, aby se např. z paměti četlo během jednoho cyklu. Aby se ukazatel instrukcí inkrementoval během jednohu cyklu. Aby se přeno mezi dvěma registrama stihnul během jednoho cyklu.Naproti tomu třeba u Z80 to bylo tak, že se na paměť standardně čekalo zhruba 2 a půl cyklu. Na incrementaci ukazatele instrukcí se čekalo dva cykly. Měla tolik registrů, že nešel jednoduše implementovat přesun během jednoho cyklu, takže tam probíhalo něco jako reg_s => reg_tmp a v dalším cyklu reg_tmp => reg_d (zjednodušeně).Nevýhodou toho bylo, že vše trvalo víc cyklů, výhodou bylo, že zatímco na začátku se 6502 v max frekvencích pohybovala někde kolem 1,5 MHz, Z80 byla na 4 MHz. Když se 6502 došplhala na 2 MHz, Z80 byla k dispozici na 6 MHz.
Dobře "chlapec" udělal, já ho používám s chutí dodnes.🙂
My víme 😐
Potvrďte prosím přezdívku, kterou jsme náhodně vygenerovali, nebo si zvolte jinou. Zajistí, že váš profil bude unikátní.
Tato přezdívka je už obsazená, zvolte prosím jinou.