The Micro UK101 - SBC COMPUKIT UK101 - overclocking 4MHz. Part-2.

By Administrator at marca 15, 2021 09:35
Filed Under: SBC8085-NCB85

"Dummy" U8 chip už na svojom mieste, vďaka nemu je MICRO UK 101

pretaktovaný na 4MHz clock. Na obrázku je vidieť procesor 65C02.

 

Ako to už býva - ak sa podarí rozbehať SBC tak po čase príde chuť ho skúsiť pretaktovať na vyššiu hodnotu. Micro UK101 štandartne beží na kmitočte x-talu =1MHz alebo sa dá prepnúť aj na 2MHz, je to zabezpečené priamo na základnej doske, takto to funguje bez najmenších problémov. Nedalo mi a rozmýšľal som ako ho skúsiť pretaktovať na 4MHz a to čo najjednoduchšie a dokonca tak, aby sa na základnej doske nemusela robiť vôbec žiadna prerábka a nemusel sa naťahovať na doske ani jeden jediný pomocný drátik. Procesor 65C02 čo mám osadený v doske je priamo určený na takt 4MHz čiže tu problém s výslednou rýchlosťou celého Micro UK101 určite nebude. A podarilo sa, rýchlejší beh programov je naozaj citeľný a proti pôvodnému taktu UK101 =1MHz taktu neporovnateľný (teda dá sa to vyjadriť exaktne - je to presne 4x rýchlejšie, to už výsledný efekt skutočne vyzerá ohromne). Akurát som tu s realizáciou uvedeného overclockingu nečakal tak dlho ako pri SBC6502 ...Laughing

 

Upozornenie:

Zásahy do zariadenia sú na vlastné riziko majiteľa zariadenia. Autor týchto stránok nenesie žiadnu

zodpovednosť za škody spôsobené používaním zariadení postavených podľa tu uverejnených

schém alebo zobrazených úprav.


Zapojenie na vlastné pretaktovanie Micro UK101 (akurát musíme mať k dispozícii na osadenie do základnej dosky dostatočne rýchly procesor) je naozaj triviálne, jedinou základnou podmienkou je to že vlastné čipy na doštičke musia byť osadené v pätičkách. Vyberie sa potom zo svojej pätičky čip 74LS74 (U8) a následne tam vložíme na jeho miesto moju novú "dummy" U8 chip doštičku. Tá je skutočne extrémne jednoduchá a má na sebe aplikovanú iba jednu jedinú prepojku, ostatné piny na nej zostávajú nezapojené (nc). Pri tomto pretaktovaní sme nakoniec vo výsledku ešte ušetrili na doske Micro UK101 jeden aktívny čip (74LS74) a dostávame sa na hodnotu nasadených 10 čipov na celej doske pri zvýšenom takte na 4MHz, to sa dá, nie ?

 

Zapojenie pre overclocking na hodnotu =4MHz:

(má 14 pinov - tak ako pôvodný čip 74LS74)

"Dummy" U8 chip, prepojka spája piny 2 a 3.

 

Schéma zapojenia vývodov na doštičke. Náklady na prerábku sú v podstate minimálne. Výhodou je tiež to, že na tomto "dummy čipe" sa vlastne nemá čo pokaziť, pretože je totálne pasívny. Foot in mouth  (I keď medzi nami - nájdu sa "experti" čo by pohnojili aj toto ...)

 

"Dummy" U8 chip na svojom mieste, prepojka na doske je zapojená na takt 2MHz.

 Pozor, pri použití - "dummy" U8 chipu v Micro UK101 musí byť

jumper J4 zapojený v polohe 2-3 !

(Nachádza sa hneď napravo vedľa "dummy" čipu /čierny jumper/.)

  

Poznámka:

Tento overclocking na hodnotu =4MHz nemení vlastnú sériovú komunikačnú prenosovú rýchlosť, tá stále zostáva na pôvodnej hodnote =19.200Bd - je to daň za jednoduchosť riešenia pretaktovania, teraz je vďaka tomu už Micro UK101 na ozajstných "steroidoch". (Procesor v Micro UK101 momentálne teraz beží rovnakou rýchlosťou ako na doske môjho ďalšieho počítača - SBC6502.) Štandartný procesor NMOS 6502, 6502C môže bežať na 1MHz alebo 2MHz, pretaktovanie smerom nahor nad túto hranicu mu už ale príliš nesvedčí a je málo pravdepodobné že by procesor bežal na 4MHz, nakoniec tieto procesory majú aj omnoho väčší odber ako typ 65C02 (použitá technológia CMOS). Ale ako som už napísal CMOS verzia 65C02 s označením P4 s pretaktovaním problém nemá, procesor beží rýchlosťou na ktorú je jeho verzia P4 (4MHz) určená.

 

Pretaktovaný Micro UK101 na 4MHz.

 

Trošku som sa pohral zo vzhľadom "dummy" doštičky, nech vložená do základnej dosky aj trošku vyzerá a nech to trošku aj "splynie s okolím". Urobil som na "dummy" doštičke zárez tak ako je na čipoch rady 74LSxx, aby bola jasná orientácia doštičky pri jej založení na miesto pôvodného čipu 74LS74 (U8) a neprišlo k založeniu nežiadúcou stranou.


Na fotografii je vidieť tenký drátik ktorý prepája

piny č.2 a č.3 na tejto "dummy" doštičke.


Hotová  "dummy" U8 chip doštička pripravená na nasadenie,

označenie naznačuje prevádzkovú rýchlosť procesoru.

 

Čo si budeme hovoriť, práca s takouto jednotkou ktorý beží na takte =4MHz je rozhodne príjemná a je aj o poznanie svižnejšia ako na nižších hodnotách rýchlosti procesoru. Znovu pripomeniem - táto úprava na pretaktovanie nevyžaduje žiaden priamy zásah do základnej dosky - to je príjemné a ak trváme na pôvodnej rýchlosti stačí  túto "dummy" doštičku vybrať a vložiť naspäť pôvodný čip 74LS74 a máme zase dosku v pôvodnom stave. Takáto prerábka do pôvodného stavu trvá iba niekoľko sekúnd (akurát musíme vedieť kde sme si medzitým pôvodný čip 74LS74 odložili, pretože na prerábku do pôvodného stavu je to vec potom naozaj zásadná Tongue out). Samozrejme to isté platí aj opačným smerom, teda ak chceme pretaktovať Micro UK101. Je to jednoduché, netreba žiadnu prerábku priamo na doske, je to pohodlné na pretaktovanie - s výsledkom som spokojný.

 

Je ešte potrebné nastaviť parametre prenosu v Hypertermináli, hlavne nastaviť oneskorenie Line delay - treba skúšať hodnoty okolo 100msec. a vyššie (oneskorenie 1 znaku nastaviť na 1ms), "hráme" sa tu z hodnotami tak dlho až sa nám nakoniec Micro UK101 odmení perfektnou stabilitou prenosu dát. K tomuto sa vrátim ešte podrobnejšie v ďalšej časti, nemáme tu žiadne hardvérové riadenie toku dát a tak teda musíme Micro UK101 dať čas na spracovanie dát z jedného riadku (je to dané aj rýchlosťou procesoru v PC, takže tu sa laborovaniu nevyhnete).

___________________________________________________________


Záverom tu predkladám ďalší Basic-ový program, je určený pre dlhý (a plný) test RAM:

(testuje sa každá pamäťová bunka (rozsah adries =1280÷32767) na hodnotu 0÷255 (dec))

 

10 ? CHR$(12):? "Micro UK101 "
11 ? "1.25-32kB RAM MEMORY TEST 1"
16 ? "         Igi(c)2021"
20 ? " Address:"
30 FOR F=1280 TO 32767:? F
40 FOR X=0 TO 255:POKE F,X:IF PEEK(F)<>X THEN 100
50 NEXT X:NEXT F:GOTO 150
100 ? "Problem at address - data":? F, PEEK(F):END
150 ? "Complete !"

 

 

 
Nevýhodou tohoto testu je to že sa hneď po zápise okamžite testuje a porovnáva obsah bunky, čiže test nemusí objaviť problém s udržaním správneho obsahu v RAM na dlhšiu dobu. Test trvá skoro 4 hodiny /takt =4MHz/, presne sú to 3h 31min.


Dodatok:

Ak program zásadne skrátime, dokážeme testovať poriadne zväčšený rozsah RAM - a to rozsah  958d ÷ 32767d, t.j. do testu pribudne ďalších 322 byte:

 

1 ? CHR$(12)"Micro UK101,1-32kB,MEMTEST 1,Igi(c)2021"
2? " Address:":FOR F=958 TO 32767:? F:FOR X=0 TO 255:POKE F,X
3 IF PEEK(F)<>X THEN ?"Problem at add.-data":? F, PEEK(F):END
4 NEXT:NEXT:? "Complete !"

 

Po absolútnom "oholení" programu od všetkého je rozsah testovanžch adries ešte väčší:


2 ?"Address:":FOR F=895 TO 32767:? F:FOR X=0 TO 255:POKE F,X
3 IF PEEK(F)<>X THEN ?"Problem:":? F, PEEK(F):END
4 NEXT:NEXT:? "Complete !"

_________________________________________________

 
Túto nevýhodu odstraňuje druhý test, kde sa najprv zapíše 0 do všetkých testovaných RAM adries a až potom sa testuje a porovnáva na tento obsah. Následne sa zapíše 1 a znovu sa testuje. Zapíše sa 2 atď. až nakoniec 255. Tento test  je pomalší ako predchádzajúci test (viac ako 4h5m - zase hodnota platí pre takt =4MHz). Rozsah testovaných buniek RAM je 1280d-32767d.


10 PRINT CHR$(12): PRINT " Micro UK101"
11 PRINT "1.25-32kB RAM MEMORY TEST 2"
16 PRINT "         Igi(c)2021":PRINT "Test"
20 PRINT "data:    (W)rite (R)ead  result:"
25 FOR F=0 TO 255:IF F<10 THEN PRINT " ";
26 IF F<100 THEN PRINT " ";
30 PRINT F;:PRINT TAB(10)"W";:FOR G=1280 TO 32767
40 POKE G,F:NEXT G:PRINT TAB (18)"R";
50 FOR G=1280 TO 32767:IF PEEK (G)<>F THEN 77
55 NEXT G:PRINT TAB(26)"O.K.":NEXT F:PRINT "Good !":GOTO 90
77 PRINT "Problem at adress - data":PRINT G,F,PEEK(G)
90 END

 

Použitá prenosová rýchlosť je v oboch prípadoch už vyššia =38.400Bd - ako sa k nej dopracovať je už

obsahom nasledujúceho článku.


Kurzor v programe vždy sleduje práve tú funkciu ktorá sa vykonáva, t.j. či sa práve zapisujú alebo čítajú data do všetkých testovaných buniek RAM počítača Micro UK101.

 

Dodatok:

Každý zápis sa dá skrátiť, takže potom uvedený program môže vyzerať aj takto:

10 PRINT CHR$(12)"MICRO UK101,1.25-32kB RAM MEMTEST 2,Igi(c)2021"
12 PRINT "data:    (W)rite (R)ead  result:"
25 FOR F=0 TO 255:IF F<10 THEN PRINT " ";
26 IF F<100 THEN PRINT " ";
30 PRINT F;:PRINT TAB(10)"W";:FOR G=1280 TO 32767
40 POKE G,F:NEXT :PRINT TAB (18)"R";
50 FOR G=1280 TO 32767:IF PEEK (G)<>F THEN 77
55 NEXT:PRINT TAB(26)"O.K.":NEXT:PRINT "Good !":END
77 PRINT "Problem at adress - data":PRINT G,F,PEEK(G)

(test trvá 3h54m)

 

Po vyhodení všetkých zbytočností je aj tu rozsah adries už 1024d-32767d:

1 PRINT "data:    (W)rite (R)ead  test:"
2 FOR F=0 TO 255:IF F<10 THEN PRINT " ";
3 IF F<100 THEN PRINT " ";
4 PRINT F;:PRINT TAB(10)"W";
5 FOR G=1024 TO 32767:POKE G,F:NEXT :PRINT TAB (18)"R";
6 FOR G=1024 TO 32767:IF PEEK (G)<>F THEN PRINT "!"G,F,PEEK(G):END
7 NEXT:PRINT TAB(27)"OK":NEXT:PRINT "OK"

_________________________________________________


Zhodnotím to z hľadiska rýchlosti spracovania:


Pri 1MHz takte hodín trvá test cca 16 hodín.

Pri 2MHz takte hodín trvá test cca  8 hodín.

Pri 4MHz takte hodín trvá test cca  4 hodiny.

 

Analogicky sa zrýchlia akékoľvek programy, nemáte pocit že zvyšovanie rýchlosti, teda overclocking sa oplatí ?

A aby som nezabudol -  procesor 65C02 na 4MHz - doska má celkový odber nádherných 93.5mA zo zdroja 5V, z toho samotná LED si berie z tejto hodnoty "svojich" 8mA.

_____________________________________

Najrýchlejší a naozaj základný test RAM:

 

10 PRINT CHR$(12):W=1280:Q=1.25
11 PRINT " Micro UK101, TINY speedy test"
12 PRINT "RAM range: 1.25-32kB(c)Igi 2021":PRINT
20 PRINT Q;:PRINT"-";:PRINT Q+0.25;:PRINT"kB - OK"
25 FOR F=W TO W+255:POKE F,85:IF PEEK(F)<>85 THEN 50
33 POKE F,170:IF PEEK(F)<>170 THEN 50
39 NEXT:Q=Q+0.25:W=W+256:IF W>32767 THEN 55
45 GOTO 20
50 PRINT "  Problem at adress - data":PRINT F,PEEK(F):END
55 PRINT "  O.K. - complete !"

Celý tento test zbehne za 2min a 18sec. (4MHz clock), testujú sa bitovo 0 a 1 posunuté voči sebe, v každom prípade ak je RAM v poriadku tak by mal zbiehať bez najmenších problémov.


Tiež sa ešte dá predchádzajúci program zmenšiť, rozsah testovaných adries sa zvýši na 1024d-32767d:

10 W=1024:Q=1
20 PRINT Q;:PRINT"-";:PRINT Q+0.25;:PRINT"kB-OK"
25 FOR F=W TO W+255:POKE F,85:IF PEEK(F)<>85 THEN 50
33 POKE F,170:IF PEEK(F)<>170 THEN 50
39 NEXT:Q=Q+0.25:W=W+256:IF W>32767 THEN 55
45 GOTO 20
50 PRINT "Problem:":PRINT F,PEEK(F):END
55 PRINT "O.K."

___________________________________________________________

Vaše hodnotenie, Rate post:

Comments

15. 3. 2021 9:36:58 #

trackback

Directory SBC.

Directory SBC.

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: