C64Power Forum
Ogólne => Forum Ogólnodyskusyjne => Wątek zaczęty przez: 11111olo w 20 Lutego 2011, 19:22
-
Załóżmy że procesor 6502 taktowany zegarem 1MHz wykonał by po kolei 500 000 rozkazów NOP. Rozkaz zajmuje 2 takty.
Ile to będzie trwało czasu?
-
matematyki nie miałeś w podstawówce ?
Czy masz na myśli jak to bedzie w c64?
-
No musiałbyś zapisać to w pętli, bo 500 000 NOPów Ci się po prostu nie zmieści ;) a to pochłonie kolejny \'cenny\' czas na wykonanie tego \'cennego\' programu.
-
olo próbuje zajarzyć pracę na zakładkę... cisza bo się skupia:P
-
Nie opisał środowiska dla tego 6502, bo jeśli to ma być c64 to zależy... czy z włączonym jeszcze ekranem czy nie :) czy to ma być pal czy ntsc, oczywiście dochodzi problem ograniczonej pamięci.
-
Ale jesteście dziwni. Zakładam czysto teoretycznie że procesor 6502 nie blokowany żadnymi \'dodatkami\' wykonuje 500000 rozkazów NOP. Ile to zajmie czasu w ms?
-
Olo jak na razie to wszyscy są strasznie cierpliwi.
Typowe pytanie PKP, jak szybko dojadę tym pociągiem?
PS. Olo jak chcesz to skontaktuje Ciebie z koderem który zrobi Ci soft do wypalania fleshy. Do tego czasu nie sprzedaż ani jednego karta.
-
@Olo
Nie ma większej satysfakcji, niż dochodzenie do rozwiązań samemu. To ja mogę zadać Ci pytanie, no właśnie, ile czasu to zajmie?
-
Jakby miał czas na myślenie to by nie zadawał pytań. Przy jego handelku nie ma takiej możliwości. kOlo chce mieć gotowy produkt, już i teraz, najlepiej taki gotowy do sprzedaży. Dziwne jest to, że kOlo traktuje wszystkich jak potencjalnych klientów, a nie chce sam płacić za wiedzę jaką posiadają inni. Typowa pijawka. Nie którzy ludzie brzydzą się pijawkami a inni używają ich bo są pożyteczne ;)
No pain no gain.
-
No faktycznie straszna ze mnie pijawka. Odpowiedz na zadane pytanie przyniesie mi milionowe zyski kosztem Was oczywiście.
-
Wiedziałem że osoby uważające się za HARDWARE GURU nawet tego nie wiedzą...
-
nie, wszyscy czekamy az w koncu obliczysz ze jest to 1 sekunda (dla postawionych przez ciebie idealnych warunkow... gdyz wiadomo ze w praktyce nie bedzie to mozliwe ;) )
-
Raf nie masz racji zapominasz o pracy na zakładkę ;)
-
ale:
\'Jeden cykl maszynowy wykonywany jest w czasie jednego lub kilku (w zależności od procesora i rodzaju cyklu) taktów zegara\'
a z tego co pamietam ... cykl maszynowy 6502 to 2 takty zegarowe... gdzie popelniam blad? ;)
-
w n-1.
@olo to, że zrobisz prawidłowe opóźnienie nie oznacza że zaprogramujesz flasha.
-
Kisiel ale Ty jesteś fajny! Myślisz że używam komodiusza do programowania epromów?
Może słyszałeś o takim wynalazku jak WILLEM?
A wracając do procesora. Skoro sam \'nieopóźniony\' procesor potrzebuje 2 takty zegara na 1 cykl to ile czasu \'zjada\' VIC? Wiadomo że program wykonuje się szybciej po wykonaniu POKE 53265,11.
-
średniowiecze flasha programować w programatorze :) Po chu.. komuś kart w którym nie może wymienić softu na swój i do tego drogi jak kart ollllooo? Takie karty chodzą na alledrogo po parę złotych.
-
A wracając do procesora. Skoro sam ``nieopóźniony`` procesor potrzebuje 2 takty zegara na 1 cykl to ile czasu ``zjada`` VIC? Wiadomo że program wykonuje się szybciej po wykonaniu POKE 53265,11.
6502 w ogole nie bedzie dzialal poprawnie z vic-iem,chocby dlatego ze nie ma obslugi tristate`u,przy pierwszym DMA program ci sie wysypie bo cpu zamiast zatrzymac sie pobierze $ff lub to co tam przez szyne akurat przechodzi.
-
raczę się nie zgodzić z kolegą, sygnał RDY go zatrzyma (BA low). 6502 w C64 raczej nie będzie działał z powodu AEC, no i braku portu. Dlaczego? Bo wystawia jakieś 100ns sygnał r/w po zboczu fi2 down... więc totalnie śmieci po pamięci. Kiedyś jak znajdę czas to rozrysuje te moje badania nad sharpem vicami i prockami.
PS. zanim uzyskałem stabilne podkręcenie procka na 2Mhz musiałem wyżreć całą tą gównianą radosną twórczość konstruktorów z MOS i CSG.
-
Dobra
6502 nie jest w komciu a raczej 6510 i później 8500. Są one zgodne z 6502 i dodatkowo rozbudowane po port do sterowania pamięcią czy magnetofonem.
Pomijając to jak dużo czasu \'marnuje\' procesor na VICa?
-
po przetaktowaniu proca do 2Mhz nie zajmuje nic. 6502 jest zgodne z 6510 jak jarek z lechem.
Aha i jeszcze jedno, da się zrobić tak aby procek wykonywał nawet miliardy nop\'ów bez przerwy :) alepoco
-
Kisiel jak byś się raz wysilił i rzeczowo opisał sprawę... był by to dobry początek.
Co do zgodności - mniejsza z tym.
W c64 pracuje 6510 (8500). Ile czasu zżera mu VIC?
-
temat wątku jest o 6502!!!! Olo robisz oftop`a
-
na codebase64 jest:
http://codebase64.org/doku.php?id=base:6510_instruction_timing
czyli 6510 jest tak skonstruowany, że w każdej operacji zawsze musi wykonać przynajmniej dwa odczyty (czyta zawsze jeszcze następny bajt) - w ogólnym rozrachunku to nawet zwiększa wydajność - ale przy niektórych instrukcjach - wychodzi strata - drugi bajt jest czytany i zwyczajnie \'odrzucany\'. Stąd te min. 2 cykle
-
Dlatego najtańszym sposobem na robienie \'niewidzialnego\' dma jest znalezienie które cykle proca są bezproduktywne i wstawianie tam odczytu dma. Np przy samych nop`ach tay itp wychodzi 0,5MB/s.. no i wtedy widać dlaczego jarek do lecha nie pasuje ;)