SBC6502 - 28 - Pretaktovanie SBC6502. Overclocking SBC6502. Clock=5.00MHz ! Clock=6.00MHz ! Part4.

By Administrator at October 04, 2019 07:30
Filed Under: SBC6502

 

"10 dní ktoré otriasli svetom SBC6502."

 

Počas týchto posledných 10 dní som zažil viacero prekvapení - a to iba pozitívnych. Všetci čo sa venujú počítačom vedia že takto to býva málokedy a teda je to vec celkom výnimočná. Nepredpokladal som že SBC6502 bude ochotný pracovať na tak vysokých hodinových kmitočtoch. Už som sa o tom zmienil že moja konečná predstava overclockingu sa zastaví niekde na hodnote cca 2.4576MHz, nakoniec je to jasné aj z toho že som k oscilátoru ktorý generoval dvojnásobnú hodnotu priamo pridal deličku :2. (napísal som vtedy aby ste sa nedesili, že túto hodnotu nehodlám ládovať do procesoru ...) A? Teraz som sa dostal som na vyše dvojnásobok (2x 2.4576MHz)  a k tomu ešte o ďalších viac ako 1MHz navyše. Nedivte sa že som postupoval tzv. "salámovou" metódou, pretože každý nový hodinový kmitočet (takt) som musel v testoch overiť či všetko beží - proste aby som nevypustil nejakého "kanára". Teraz keď som si už istý tak môžem uverejniť aj dnešný článok kde popíšem posledné dve posledné dosiahnuté hodnoty overclockingu.

 

Zase som si dal pár dní pokoj,

 (doplnil som medzitým nové údaje do benchmarkových testov) a potom som zase skúsil ďalej zvýšiť takt hodín, kam som sa až dostal ?

Výsledok ?


 

Warpový pohon mojej SBC6502 neustále zrýchľuje - teraz už ide na:

 

****************************************

SBC6502 - CLOCK = 5.00MHz !!!


****************************************

 

Naozaj parádna dosiahnutá rýchlosť, pretaktovanie na túto hodnotu je naozaj vysoko nad rámec môjho očakávania. Jeden takt (perióda) hodín je teraz už iba =200ns ! (Akurát mi to pri práci zďaleka nevyvíja teplo tak ako na uvedenom obrázku, Smile naštastie ...) Ešte dorobím testy aby som ich mohol uverejniť nech sa ešte tento ďalej urýchlený "warpový trhač asfaltu" predvedie priamo v akcii. Čiže zase najprv uverejním doplnené benchmarkové testy a až potom tento článok. Rozhodujúce v tomto prípade bolo že pri hľadaní vhodných x-talov sa mi dostal do ruky priamo x-tal =5.00MHz, založil som ho do SBC6502, zapol - a nič. Aha, nefachčí to, no nič - už som v pretaktovaní asi príliš vysoko. Potom som sa lepšie pozrel - a bolo to jasné: manželka potrebovala niečo pripojiť do plne obsadenej predlžovačky - a vytiahla mi napájanie samotného SBC6502 ... Po rýchlom odhalení príčiny nefachčenia SBC6502 stačilo zdroj znova zapojiť a potom to už bežalo na prvú šupu. Priznám sa že ma to naozaj prekvapuje, toto že sa dá z SBC6502 postavenej na univerzálke vyžmýkať ? Dá ! - krucinál - veď to tuším chodí lepšie ako keby to bolo postavené na navrhnutom plošáku ! (Zdá sa že nejaké tie správne zásady stavby na univerzálke sa na mňa za tie roky predsa len nalepili a nezapadli prachom do zabudnutia, podarilo sa to pretaviť do praxe.)

 

Na vlastnom motherboarde SBC6502 som pre dosiahnutie zvýšeného taktu hodín nerobil pre popísané overclockingy žiadne úpravy - tie sú prevádzané vždy výhradne  iba na testovacej doske oscilátorov.

 

Čo sa dá z SBC6502 vyžmýkať je fakt udivujúce ... a teraz už aj verím tomu že aj na univerzálke viem spraviť hodne rýchlu mašinku. 4MHz verzia procesoru - R65C02P4 na takte 5.00MHz beží ako víno - je to stále bez znateľného ohrevu, teplota súčiastok (ostatných čipov) je v norme, mierne vlažný je iba čip 8255A, teda rozumej že oteplenie sa dá zaregistrovať priložením prstu na jeho povrch, rozhodne nie je nejako teplý.

 

Najprv zapojenie dvojitého oscilátoru ktorý má dve dostupné rýchlosti:



Keďže som to už popísal tak nemám k tomu čo dodať - už len asi nejaké počty. Poďme teda počítať - oproti základnej hodnote =0.9216MHz je zrýchlenie na 5.00MHz5.43x vyššie. Ak počítame za základ 1.00MHz tak je zrýchlenie 5-násobné.

 

A nasledoval najrýchlejší pokus ...

 

 

****************************************

SBC6502 - CLOCK = 6.00MHz !!!


****************************************

Warpový pohon práve zrýchlil na svoju konečnú hodnotu.


Dobrá stavba SBC6502 bola potvrdená dnes založením ďalšieho x-talu =6.00 MHz - nabehlo to a funguje tiež ! Zrýchlenie oproti oproti základnej hodnote =0.9216MHz je zrýchlenie na 6.00MHz už 6.51x vyššie. Ak počítame za základ 1.00MHz tak je zrýchlenie "iba" 6-násobné.

*******************************

 

Keby som bol vedel že sa to bude takto ukážkovo správať tak som si to overclocknul už dávno, neviem, neviem, teraz to už nie je "trhač asfaltu" ale priamo neskutočný "trhač betónu" ... perióda jednoho taktu hodín procesoru je teraz = 166ns ! Vyššie už neskúsim ísť pretože by som narazil na strop rýchlosti prístupu mojej EPROM (150ns). Procesor je spokojný, nehreje, čip 8255A je tak isto len mierne vlažný /teplotne žiaden rozdiel oproti 5.00MHz/, takže pohoda, nateraz je to finíto, definitíva.

(Ešte že som bol predvídavý, Laughing - teda aspoň v niečom, myslím tým možnosť zmien taktu x-talov na testovacej oscilátorovej doske.)


Hodnota x-talu pre takt hodín procesoru neurčuje vlastnú prenosovú rýchlosť komunikácie, preto presná hodnota x-talu pre procesor nie je až tak smerodatná, len určuje konečnú rýchlosť SBC6502. A ak by niekedy bolo treba - tak tam ešte mám voľnú 1/2 čipu 74LS04 a teda viem tam zabudovať ďalší oscilátor - ale potom by to už bola naozaj strojovňa.


 

Poznámka:

Schéma zapojenia je rovnaké, jediná zmena je výmena x-talu za typ 6.00MHz.

 

Tu len doplním poznámku:

Ak odpory 1k2 v zapojení zameníme za odpory s nižšou hodnotou v rade (1k alebo 820Ω), tak oscilátor bude ochotne kmitať aj na vyšších MHz (s príslušným x-talom) - otestované s hodnotou odporu = 1k (samozrejme na inom zariadení ktoré s vyššími MHz dokáže pracovať). Väzobná kapacita M1 potom pre uvedené konkrétne zapojenie tak isto bola zmenšená na hodnotu 10k, pozor nemýliť si to s filtračnou kapacitou M1 na pine 14 čipu 74LS04 - tá zostáva nezmenená ! Pri nižšej hodnote odporu oscilátor ochotnejšie kmitá na ešte vyšších frekvenciách (dá sa ísť až na hodnotu 470Ω - ale tu je to zbytočné).

(Ak sa namiesto odporov 1k2 dajú odpory 2k2 - tak zapojenie oscilátoru ochotne kmitá niekde do hodnoty x-talu 12MHz a menej - čo tu tak isto bez najmenších problémov pre SBC6502 vyhovuje.)

 

Teraz SBC6502 musím prehnať nanovo benchmarkovými testami a doplniť údaje do tabuliek.


Kľúčové súčiastky SBC6502 pre dosiahnutie takto vysokého

pretaktovania:

 

Sériový prenos - čip 68B50, vedľa procesor 65C02P4. Jedná sa o dosku

z 10 čipmi - SBC6502 Erika0,teraz je čipov 11 - pribudol čip 74LS04 (oscilátor).

 

SRAM 32kB 100ns, EPROM 150ns 27C256. Od začiatku používam túto Eprom,

pri takte 6MHz je už aj táto EPROM svojou prístupovou dobou "na hrane".


5MHz verzia čipu 8255A (Mitsubishi).

Chodí naprosto bezproblémovo.

 

******************************************************

 

Bude dobré si pripomenúť jednu vec, ktorá sa týka procesorov rady 65C02 - na rozdiel od procesorov 6502 a 6502C má už v sebe zabudované mechanizmy, ktoré umožňujú vybudovať oscilátor priamo s procesorom. Výbornú ukážku ako na to nájdete samozrejme v datasheete, ale názorný obrázok je občas ešte zrozumiteľnejší:

obrázok prevzatý z: http://wilsonminesco.com/


U mňa som to nedával z jedného dôvodu - už na začiatku som tam mal procesor 6502C. Tak isto treba mať na základnej doske v tej časti voľné miesto (ak tam dáte 65C02).  Podmienkou správnej funkcie je použitie čo najkratších prívodov. Odpor a kondenzátory sa vojdú priamo pod pätičku procesoru a vonku "na stojáka" by bol už iba x-tal.
Osobne to nemám odskúšané až do akých frekvencií je ochotný kmitať takto vytvorený oscilátor, cesta experimentovania je tu teda otvorená.


******************************************************


Po dnešku som si povedal - overclockingu dám pokoj - keďže ma to doteraz tak nádherne poslúchalo nebudem už hada ďalej dráždiť bosou nohou, aj tak teraz nemám doma rýchlejšiu EPROM. Skúsil som prepojiť na výstup aj priamo výstup z oscilátoru 4.9152MHz (chcel som mať k dispozícii 4 hodnoty clocku), zapojenie na testovacej doske mi to ale odmietlo, nedalo mi to a už to takisto behá (pozn. - chyba bola v zapojení na doske) a tak experimentálnu dosku verzie 2 pre 4 rôzne výstupy hodín pre procesor predsa len uverejňujem. Na mieste pre x-tal 4.00MHz je osadená pätička, takže tu je možné nasadiť rozličné hodnoty pre x-tal a tak skúšať rozličné hodnoty, poprípade na tejto doštičke je možné ísť aj cestou overclockingu.

 

Tu je príjemné že najvyššia rýchlosť je len necelých 85kHz pod 5.00MHz, rozsah poskytovaných štyroch rýchlostí je naozaj slušný. Na mieste pre x-tal 4.00MHz je použitá pätička a tak je tu možné použiť (a skúšať) x-taly s rozličnými hodnotami, samozrejme akceptovateľnými pre použitý procesor. Delička 74LS90 tu v tomto zapojení delí vlastne iba :2 a tak je potom k dispozícii /ak treba/ aj takt 2.4576MHz. Túto deličku je možné v zapojení nahradiť 1/2 čipu 74LS74 alebo jedným obvodom 74LS72 s príslušnou úpravou zapojenia pre tieto čipy. Výhodou použitia čipu 74LS90 je to, že je možné v zapojení využiť delenie nielen :2, ale aj :4 a :8, t.j. môžu byť použité hodne netradičné hodnoty x-talov - teda ak sa použijú príslušné výstupy tejto deličky. Inak povedané - máme naozaj slušnú variabilitu nastavenia príslušného clocku. Ak to nie je zrejmé na prvý pohľad - použite datasheet spomenutej deličky.


Takto vyzerá reálne skúšobná doska pre 4x clock (All In One) zo spodnej strany. Rozmiestnenie jumperov na tejto doske je riešené mierne odlišné od pôvodnej schémy /popísané na ďalšom obrázku/ - ostatné veci na doske sú nezmenené. Dôvod zmeny zapojenia prepínača - nemal som vtedy doma k dsipozícii dvojradové o 90° zahnuté konektory ... na doske je momentálne v pozícii vymeniteľného x-talu osadený konkrétny x-tal = 4.500MHz.


Zapojenie prepínania na tejto konkrétnej doske. Ako vidieť vždy je aktívne zapojený iba jeden jumper, vždy spája iba príslušnú dvojicu pinov. Ešte k tej spomínanej chybe - mal som na doštičke prehodené medzi sebou vývody 4 a 5. Potom po prepojení 5 a 6 medzi sebou to nemalo šancu dávať na vstup do procesoru clock 4.9152MHz. Síce štandartne ak robím na univerzálke prepojenia tak ich kontrolujem ihneď pri zapájaní multimetrom (prepískam urobený nový prepoj), ale zjavne som musel niekam počas zapájania odbehnúť a - chybička se vloudila ... takže merať, merať a merať. Prkotina, ale stalo sa (nemalo by sa ...).  (Ak by som robil prepojenie podľa základnej schémy a nepoužil odlišné zapojenie jumperov tak by k tomuto problému vôbec neprišlo a to ani pri prehodení vodičov medzi sebou, akurát by nešli frekvencie pekne za sebou.) Nakoniec som predsa len /síce neskôr, ale predsa len/ na doske oscilátorov chybu našiel a opravil.


Všetky dostupné výstupné frekvencie na doske oscilátorov majú pomer striedy presne 1:1.


Jumper v polohe 1-2 pre clock procesoru =1.8432MHz

 

Jumper v polohe 2-3 pre clock procesoru =2.4576MHz

 

Jumper v polohe 4-5 pre ext.clock procesoru = 4.00MHz

/x-tal je v pätičke/

 

Jumper v polohe 5-6 pre clock procesoru =4.9152MHz

Sorry za kvalitu foto, fotené večer  pri umelom osvetlení.

 

Pomocou krátkeho programu som otestoval ako rýchlo sa "plní" premenná A:

Vlastný programček:

10 A=0
20 A=A+1:GOTO 20

 

Meraných je 60 sekúnd behu programu:

Premenná A nadobudne hodnotu=  33890 - platí pre x-tal 1.8432MHz

Premenná A nadobudne hodnotu=  45200 - platí pre x-tal 2.4576MHz

Premenná A nadobudne hodnotu=  73218 - platí pre x-tal 4.0000MHz

Premenná A nadobudne hodnotu=  83320 - platí pre x-tal 4.5000MHz

Premenná A nadobudne hodnotu=  91230 - platí pre x-tal 4.9152MHz

 

A ešte ako dlho trvá slučka FOR - NEXT:

programček:

10 FOR A=0 TO 100000:NEXT

 

Meraná je doba behu programu:

čas: 55.45 sec. - platí pre x-tal 1.8432MHz

čas: 41.80 sec. - platí pre x-tal 2.4576MHz

čas: 25.90 sec. - platí pre x-tal 4.0000MHz

čas: 23.10 sec. - platí pre x-tal 4.5000MHz

čas: 21.00 sec. - platí pre x-tal 4.9152MHz

 

Myslím si že som popísal rozličné možnosti prepínania taktu hodín pre SBC6502 a ak si to postavíte máte si následne z čoho vyberať.

 

Toto postupné, nazvem to "salámové" pretaktovávanie SBC6502 smerom nahor bolo pekným a príjemným zážitkom - aj napriek tomu že mi naozaj hodne dlho trvalo než som to zrealizoval. Niektoré pritom logické postupné hodnoty x-talov som vynechal - pretože potom by som to testoval ešte mesiac a tabuľky testov by boli už hoooodne dlhé. Teraz som si tých posledných 10 dní naozaj užil, musel som mimo iného urobiť nové, doplnkové benchmarkové testy - chcel som porovnať rýchlosť vykonania testov. Výsledky testov sú rozhodne hodne zaujímavé  !

__________________________________________________________

Návrat do všetkých pokračovaní o SBC6502:

http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx

____________________________________________________________

Vaše hodnotenie, Rate post:

Comments

10/4/2019 7:38:10 AM #

trackback

Directory SBC6502

Directory SBC6502

Igi blog |

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: