SBC6502 - 25 - Pretaktovanie SBC6502. Overclocking SBC6502. Clock= 2.4576MHz. Part1.

By Administrator at septembra 24, 2019 20:20
Filed Under: SBC6502

 

SBC6502 - zakrytované, horná doska pripravená na ďalší projekt.

Celkový rozmer dosky 100 x 160mm.

 

Ako som už pred časom spomínal stále som rozmýšľal skúsiť ísť na vyššiu hodnotu clocku, proste zvedavosť či mi to vôbec na vyššom takte pobeží. A beží ...

Je to síce len "mierne" pretaktovanie (stále v medziach zákona Foot in mouth), ale aj to sa ráta. Pôvodná hodnota bola na takte hodín =1MHz (alebo tesne pod touto hodnotou). Pri mojej prvotnej stavbe som použil x-talový oscilátor =1.8432MHz, čiže išiel som na hodnotu fakticky dvojnásobku originálu (OSI, KIM).

Hodne dlho mi trvalo než sa k overclockingu "rozhúpal", hlavne to bolo dané tým že vždy keď som si už k tomu chcel sadnúť tak sa vždy našlo niečo dôležitejšieho na robotu, teraz som sa už zaťal a uprednostnil to pred všetkým, inak by to asi už nikdy neprišlo na radu.

 

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

 

Riešenie?

 

Pretože som to chcel najprv vyskúšať tak som si urobil zapojenie na univerzálke, je to rýchle na testovanie a ak to funguje tak má zmysel robiť definitívu. V zapojení sú použité dva x-talové oscilátory - (obidva trvale bežia) jeden z nich dodáva pôvodných 1.8432MHz do obvodu 68B50 (tak ako doteraz, tým dostávam potrebnú prenosovú rýchlosť =115.200Bd), druhý oscilátor beží na 4.9152MHz. No, iný som nezohnal, kedysi boli dostupné aj oscilátory ktoré dávali priamo pre mňa potrebných 2.4576MHz, ale dnes skôr nájdete živú veľrybu na Sahare ..., preto som "zakotvil" na hodnote x-talu v oscilátore na spomínaných 4.9152MHz. Nedeste sa (zatiaľ idem iba na nízky overclocking), túto hodnotu najprv delím :2, teda hodiny ktoré idú do SBC6502 majú teraz hodnotu = 2.457MHz, zdvihol som takt o presne 614.400kHz, je to presne o 1/3 hodnoty hodín viac ako som mal v SBC6502 doteraz. Delička :2 sa dá realizovať rôzne, najčastejšie sa ňu používa 1/2 obvodu 74LS74. Mne šuplík zo zásobami čipov ako prvý vydal 74LS90 - teraz funguje zapojený iba ako delička 2. Poviete si - na to je ten čip škoda, ale ak budem skúšať použiť iné x-taly (bude tam časom aj oscilátor pre rozsah x-talov niekde v rozmedzí 2÷22 MHz), tak možnosť deliť :2, alebo :4, či :8 čo sa naozaj bude viac ako hodiť (74LS90 dovoľuje na vstupe max. clock =32MHz, dokonca mám otestované že tie čo mám doma "idú" aj na 42MHz). Dá sa použiť aj delička TESLA MH7490A ale potom rátajte s minimálne 3-násobne vyšším príkonom uvedeného čipu a horná hranica vstupného kmitočtu bude nižšia ako u typu LS. Na doske je ešte miesto pre čip 74LS04 (zatiaľ neosadené) pomocou ktorého bude urobený spomínaný tretí oscilátor. Nakoniec, je to experimentálna doska, práve pre možné (a možno aj potrebné) experimentovanie. Vlastné základné zapojenie je teraz zjednodušené (delička teraz napevno delí :10, pretože teraz mi stačí delenie :2, delenie :5 za tým už nevyužívam), prepojiť to inak nie je žiaden problém. Postavené je to celé na univerzálnej doštičke a ako pripojenie slúži pôvodný socket (pätička) kde bol predtým "usídlený" x-talový oscilátor 1.8432MHz, prívod pre hodiny k čipu 68B50 je teraz vyvedený na pin č.13 pôvodného 14 pinového socketu do ktorého je to celé nastoknuté. Tak isto som zvolil netradičné zapojenie - na univerzálke je časť súčiastok zo strany plošného spoja (čip 74LS90), ostatné je osadené zo strany opačnej. Tu sa mi to javilo ako dobré riešenie. 
Voľba rýchlosti vstupných hodín (clock) do procesoru sa robí pomocou jumperov, máme teda možnosť bežať na pôvodných 1.843MHz SBC6502, alebo prepnúť na novú vyššiu hodnotu 2.4576MHz (prepnutie clocku sa robí pri vypnutom napájaní).

 

Vlastné testovacie zapojenie dosky dvoch x-talových oscilátorov + delička :2

pre overclocking SBC6502.

 

Výsledok ?

 

Funguje to na jednotku, a pritom v zapojení mám teraz procesor 14806 od Atari, čo je vlastne procesor 6502C s pridanou funkciou HALT, ktorá sa v zapojení SBC6502 nevyužíva. Procesor v Atari (8bit) beží na 1.79MHz, tu v SBC6502 si teraz spokojne "vrní" na 2.457MHz.  A to značí že oproti atárku je teraz procesor pretaktovaný o viac ako 667kHz, čo je celkom dosť. Čo sa týka teploty tak nemám pocit že by bola vyššia ako pri takte hodín =1.8432MHz. Ak položíte prst na procesor tak cítite že je mierne teplý, rozhodne ale žiadne pálenie prstu nenastáva a nehrozí.

Čo ma teší  - je to už celkom slušné pretaktovanie, hlavne ak zvážim že to mám celé postavené iba na univerzálke (komplet SBC a aj overclocking) a teda o dokonalom ťahaní ciest sa mi môže len zdať. Napriek tomu som asi celkom slušne dodržal isté zákonitosti pri stavbe SBC6502 a teda v konečnom dôsledku sa mi to nevymstilo - ale naopak výsledok potešil.

Tu už len skonštatujem že týmto asi nekončím, pretože mám v šuplíku procesory 65C02 ktoré idú na 4MHz ... snáď sa k tomu niekedy dostanem aby som skúsil ísť ešte na vyššie hodnoty overclockingu, čipy 68B50 frekvenciu 4MHz na zbernici bez problémov zvládajú (takt hodín pre sériovú komunikáciu je pritom stále 1.8432MHz). Procesor od Atari ale na vyššom takte nebudem pokúšať, mám ho ako rezervu a nerád by som ho upiekol ...

 

A  zase trošku matematiky ako to môže vyzerať:


Pri oscilátore 1.0000MHz trvá jedna perióda hodín = 1000ns

Pri oscilátore 1.8432MHz trvá jedna perióda hodín =   543ns
Pri oscilátore 2.0000MHz trvá jedna perióda hodín =   500ns

Pri oscilátore 2.4576MHz trvá jedna perióda hodín =   407ns

Pri oscilátore 3.0000MHz trvá jedna perióda hodín =   333ns

Pri oscilátore 4.0000MHz trvá jedna perióda hodín =   250ns
Pri oscilátore 5.0000MHz trvá jedna perióda hodín =   200ns
Pri oscilátore 6.0000MHz trvá jedna perióda hodín =   166ns

 

Čiže pekne vidieť ako narastajú nároky na rýchlosť použitých súčiastok v zapojení, spomínam to hlavne v súvislosti s použitým typom Eprom (vyhovuje 27256 s dobou prístupu 150ns), t.j. aby stíhala, procesor určite na takt 4MHz, teda ak sa podarí zohnať zodpovedajúco rýchly procesor.

Samozrejme že mi to nedalo a tak som do článkov o benchmarkoch v sekcii SBC6502 doplnil a dopísal nové merania - aby ste mohli porovnať nárast výkonu s pôvodným riešením a aj porovnať s inými počítačmi.

___________________________________________________________

Jedna ukážka koľko trvá vykonanie programu (pred a po):


10 ? CHR$(12):W=1024:Q=1
11 ? "       TINY test RAM 1-32kB"
12 ? "           (c)Igi 2017"
13 ? "       ver.SBC6502-32kB RAM": ?
20 ? "     RAM range:";:? Q;:?"-";:? Q+0.25;:?"kB"
25 FOR F=W TO W+255
30 POKE F,0:IF PEEK(F)<>0 THEN 50
31 POKE F,255:IF PEEK(F)<>255 THEN 50
32 POKE F,85:IF PEEK(F)<>85 THEN 50
33 POKE F,170:IF PEEK(F)<>170 THEN 50
39 NEXT F:Q=Q+0.25:W=W+256:IF W>32767 THEN 55
45 GOTO 20
50 ? "  Problem at adress - data":? F,PEEK(F):END
55 ? "  O.K. - complete !"

 

Taktovanie SBC6502 - 1.8432MHz - doba trvania testu 9min22sec.

Taktovanie SBC6502 - 2.4576MHz - doba trvania testu 7min02sec.

Taktovanie SBC6502 - 4.0000MHz - doba trvania testu 4min20sec.
Taktovanie SBC6502 - 6.0000MHz - doba trvania testu 2min53sec.

 

Takže vidieť že overclocking má výsledky, vidieť ako sa program zrýchlil. Dosť dávno som písal že skúsim urobiť na SBC6502 overclocking, tak teraz som tento svoj dlh mierne splatil. Keď sa to tak vezme - oproti 1MHz je to už 2.5 násobné zrýchlenie (zaokrúhlene, tých necelých 43kHz čo chýba do 2.5MHz som zanedbal) celkom slušné, no nie ?

___________________________________________________________

Nasleduje obrazová galéria:


SBC6502 - testovacia doštička pre oveclocking na svojom mieste.

 

SBC6502 - pre správnu výšku je do pôvodnej precíznej pätičky vložená ešte

jedna, ktorá to celé zdvihla na potrebnú hodnotu.


SBC6502 - pohľad zo strany na umiestnenie pomocnej doštičky.

 

SBC6502 - dtto - ale je to pohľad z druhej strany.

 

Vľavo oscilátor 1.8432MHz, vpravo oscilátor 4.9152MHz. Na spodku obrázku umiestnený jumper umožňuje prepínanie medzi nimi. Napravo dole je ešte miesto na osadenie v článku spomínaného čipu 74LS04 v zapojení ako ďalší oscilátor zo samostatnými výmennými x-talmi. (Teda  -  je možné skúsiť  smerom nahor ďalšie pretaktovanie - ak to teda ešte pôjde ...)

 

SBC6502 - pohľad zo zadnej strany, jumper je dobre prístupný

(aj keď je na vrchu položená ďalšia doska).

__________________________________________________________

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

24. 9. 2019 20:24:00 #

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: