Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Dlaczego 1Mhz w C-64 ?  (Przeczytany 644 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline cacodemon

  • Level 5
  • *****
  • Wiadomości: 510
Dlaczego 1Mhz w C-64 ?
« dnia: 27 Lipca 2015, 23:13 »
No właśnie dlaczego tylko 1Mhz (nawet niecały) zastosowano w C-64 ? Koszty produkcji ? Nie sądzę, masa komputerów opartych o MOS6502 i pokrewne posiadało zegar wyższy. Nawet procesor w  Atari 2600 taktowany był wyższym zegarem 1,19Mhz. W ogóle rodzinka komputerów Commodore 8bit jakoś tak słabo taktowana.



Offline hobocti77x

  • Level 5
  • *****
  • Wiadomości: 731
Re: Dlaczego 1Mhz w C-64 ?
« Odpowiedź #1 dnia: 30 Lipca 2015, 22:51 »
Oj  to chyba ja ci muszę odpowiedzieć.
Według moich ustaleń ma to związek z:
1. Przyjętym sposobem dostępu do RAM dla VIC i 6510
2. Oszczędnościami.
To że w jednym systemie zegar jest szybszy wcale nie oznacza że system jest wydajniejszy.
Generalnie spotkałem się z 4 sposobami współpracy układu video i CPU w systemach komputerowych:
W c64 zastosowano dostęp w przeciwnej fazie. Cykl procesora 6502 (czy jego wersji 6510 w c64) dzieli się na dwa  okresy. W jednym do pamięci ma dostęp VIC ,a w drugim 6510. Wada jest taka że w jednym cyklu przy 1 MHz to 1 us pamięć musi być zdolna do 2 odczytów (albo 1 odczytu i 1 zapisu) to daje czas dostępu na poziomie ok. 400ns i  zmusza do zastosowania szybszych pamięci lub niższej częstotliwości taktowania niż w sposobie 2 (zastosowanym np. w Atari) gdzie co prawda zegar jest szybszy ale w czasie dostępu do pamięci ANTIC-a procesor musi zostać zatrzymany, za to gdyby zastosowano zegar 1 MHz czas dostępu mógłby być ok. 680 ns.
A zaleta w systemie c64 ( podobnie było w apple II) że CPU prawie wcale nie musi być zatrzymywany i może cały czas wykonywać program.
A co do tych oszczędności to przetrwał chyba tylko jeden znany prototyp c64 z przed produkcji, co ciekawe ma on VIC6566 co sugeruje że początkowo to on miał być w nim zastosowany, ale widocznie postanowiono lepiej dostosować go do pamięci dynamicznej która już jest w tym prototypie i opracowano nowszą wersję która weszła do produkcji. Jako 6567.
Wyprodukowane układy 6566 postanowiono wypchać z okrojoną wersją komputera pod nazwą MAX Machine.
A jak przyjrzeć się schematowi MAX Machine który powstawał razem z c64 i jest niejako bliźniaczy to istniały dwie wersje z jednym (zegar systemu powstawał z podziału częstotliwości koloru) i dwoma kwarcami jeden dla systemu i drugi dla koloru (zegar jest niezależny od koloru bo i po co) to wiadomo że Commodore mogło dać szybszy zegar a nawet zastosować taki sam w wersji PAL i NTSC.
No ale widocznie woleli zamiast 2 kwarców wstawić 1 i zaoszczędzić parę centów na komputerze. Dla systemu NTSC gdzie zegar jest nawet ponad 1 MHz jest to do przyjęcia, ale dla PAL to wyszło jak wyszło.

Offline cacodemon

  • Level 5
  • *****
  • Wiadomości: 510
Re: Dlaczego 1Mhz w C-64 ?
« Odpowiedź #2 dnia: 31 Lipca 2015, 08:08 »
Zaskakująco wyczerpująca odpowiedź ! Nawet się takiej nie spodziewałem.   Wielkie dzięki !