65C816
From Atariki
Wersja z dnia 22:08, 2 sty 2006 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 07:35, 6 sty 2006 KMK (Dyskusja | wkład) Next diff → |
||
Linia 1: | Linia 1: | ||
[[65C816]] to 16-bitowy następca układu MOS 6502, można nim zastąpić zastosowany w Atari procesor [[6502C]]. [[65C816]] zaprojektowany został przez [http://en.wikipedia.org/wiki/Bill_Mensch Williama D. Menscha] jako wersja rozwojowa i następca procesora [[65C02]]. Produkowany jest przez [http://wdesignc.com Western Design Center]. | [[65C816]] to 16-bitowy następca układu MOS 6502, można nim zastąpić zastosowany w Atari procesor [[6502C]]. [[65C816]] zaprojektowany został przez [http://en.wikipedia.org/wiki/Bill_Mensch Williama D. Menscha] jako wersja rozwojowa i następca procesora [[65C02]]. Produkowany jest przez [http://wdesignc.com Western Design Center]. | ||
- | Architektura: | + | == Architektura == |
- | + | ||
* ośmiobitowa szyna danych | * ośmiobitowa szyna danych | ||
* 24-bitowa szyna adresowa | * 24-bitowa szyna adresowa | ||
* 92 rozkazy | * 92 rozkazy | ||
* 22 tryby adresowania | * 22 tryby adresowania | ||
+ | * 16-bitowe ALU | ||
* jeden 16-bitowy rejestr ogólnego przeznaczenia (akumulator) | * jeden 16-bitowy rejestr ogólnego przeznaczenia (akumulator) | ||
* dwa szesnastobitowe rejestry indeksowe (X i Y) | * dwa szesnastobitowe rejestry indeksowe (X i Y) | ||
Linia 14: | Linia 14: | ||
* dwa ośmiobitowe rejestry adresowe banku programu i danych | * dwa ośmiobitowe rejestry adresowe banku programu i danych | ||
* szesnastobitowy licznik programu (razem z rejestrem banku programu stanowi 24-bitowy adres) | * szesnastobitowy licznik programu (razem z rejestrem banku programu stanowi 24-bitowy adres) | ||
+ | * wsparcie dla zewnętrznego MMU | ||
+ | * rozkazy przesłań blokowych | ||
+ | * dwa tryby pracy: natywny oraz tryb emulacji [[6502]] | ||
+ | |||
+ | Osobliwością procesora jest działanie rejestrów A, X i Y: są one 16-bitowe, ale żeby skorzystać z ich pełnego rozmiaru, trzeba dokonać przełączenia za pomocą dodatkowych bitów rejestru statusu. Jeden z nich, zwany M, wybiera rozmiar akumulatora oraz operacji na pamięci (1 - ośmiobitowe, 0 - szestastobitowe), drugi zwany X ma analogiczne znaczenie dla obydwu rejestrów indeksowych. | ||
+ | |||
+ | Dodatkowo rejestry indeksowe i akumulator zachowują się nieco odmiennie przy manipulacji bitami M i X. Mianowicie przełączenie rejestrów X i Y z szesnastu na osiem bitów zeruje ich starsze bajty, natomiast przełączenie akumulatora na osiem bitów powoduje, że "rozpada się" on na dwie połówki, ale zawartość starszej jest w dalszym ciągu dostępna jako "akumulator B". | ||
+ | |||
+ | Szesnastobitowe rejestry A, X, Y są dostępne tylko w trybie natywnym 65C816. | ||
+ | == Rozszerzenia oparte na 65C816 == | ||
Jeśli jesteś szczęśliwym posiadaczem procesora 65C816, możesz go w prosty sposób podłączyć do naszej ukochanej Atarki zastępując procek 6502C. Jest to jednak najprostsze rozwiązanie umożliwiające tylko korzystanie z większej liczby rozkazów. Rozwiązanie to nie pozwala na dołączenie większej ilości pamięci liniowej (jak wiadomo 65C816 może zaadresować do 16MB pamięci). Szczegóły montażu w stołówce [http://hardware.atari8.info/65816.php Simple 65C816 Processor Adapter]. Na takiej samej zasadzie dzialało rozszerzenie [[Sweet16]]. | Jeśli jesteś szczęśliwym posiadaczem procesora 65C816, możesz go w prosty sposób podłączyć do naszej ukochanej Atarki zastępując procek 6502C. Jest to jednak najprostsze rozwiązanie umożliwiające tylko korzystanie z większej liczby rozkazów. Rozwiązanie to nie pozwala na dołączenie większej ilości pamięci liniowej (jak wiadomo 65C816 może zaadresować do 16MB pamięci). Szczegóły montażu w stołówce [http://hardware.atari8.info/65816.php Simple 65C816 Processor Adapter]. Na takiej samej zasadzie dzialało rozszerzenie [[Sweet16]]. | ||
Bardziej zaawansowane rozszerzenie to [[Warp4]], autorstwa [[Pasiu|Pasia]]/SSG - schematy i opis montażu już w stołówce. | Bardziej zaawansowane rozszerzenie to [[Warp4]], autorstwa [[Pasiu|Pasia]]/SSG - schematy i opis montażu już w stołówce. | ||
- | Pasiu pracuje również nad kolejnym typem rozszerzenia, 65C816 pracujący razem z 6502c. Rozszerzenie zainspirowane projektem [[Hyperspeed XL-XE|Hyperspeed XL/XE]], z danych ujawnionych do tej pory wynika iż będzie ono zapewniało 64K taktowanej 14MHz pamięci cache umożliwiającej szybki odczyt także obszaru poniżej 0x010000. | + | Pasiu pracuje również nad kolejnym typem rozszerzenia, 65C816 pracujący razem z [[6502C]]. Rozszerzenie zainspirowane projektem [[Hyperspeed XL-XE|Hyperspeed XL/XE]], z danych ujawnionych do tej pory wynika iż będzie ono zapewniało 64K taktowanej 14MHz pamięci cache umożliwiającej szybki odczyt także obszaru poniżej 0x010000. |
Poniżej screenshot z [[SysInfo]] pokazujący parametry prototypowej instalacji: | Poniżej screenshot z [[SysInfo]] pokazujący parametry prototypowej instalacji: |
Wersja z dnia 07:35, 6 sty 2006
65C816 to 16-bitowy następca układu MOS 6502, można nim zastąpić zastosowany w Atari procesor 6502C. 65C816 zaprojektowany został przez Williama D. Menscha jako wersja rozwojowa i następca procesora 65C02. Produkowany jest przez Western Design Center.
Architektura
- ośmiobitowa szyna danych
- 24-bitowa szyna adresowa
- 92 rozkazy
- 22 tryby adresowania
- 16-bitowe ALU
- jeden 16-bitowy rejestr ogólnego przeznaczenia (akumulator)
- dwa szesnastobitowe rejestry indeksowe (X i Y)
- szesnastobitowy wskaźnik strony zerowej
- szesnastobitowy wskaźnik stosu
- dziewięć bitów statusu
- dwa ośmiobitowe rejestry adresowe banku programu i danych
- szesnastobitowy licznik programu (razem z rejestrem banku programu stanowi 24-bitowy adres)
- wsparcie dla zewnętrznego MMU
- rozkazy przesłań blokowych
- dwa tryby pracy: natywny oraz tryb emulacji 6502
Osobliwością procesora jest działanie rejestrów A, X i Y: są one 16-bitowe, ale żeby skorzystać z ich pełnego rozmiaru, trzeba dokonać przełączenia za pomocą dodatkowych bitów rejestru statusu. Jeden z nich, zwany M, wybiera rozmiar akumulatora oraz operacji na pamięci (1 - ośmiobitowe, 0 - szestastobitowe), drugi zwany X ma analogiczne znaczenie dla obydwu rejestrów indeksowych.
Dodatkowo rejestry indeksowe i akumulator zachowują się nieco odmiennie przy manipulacji bitami M i X. Mianowicie przełączenie rejestrów X i Y z szesnastu na osiem bitów zeruje ich starsze bajty, natomiast przełączenie akumulatora na osiem bitów powoduje, że "rozpada się" on na dwie połówki, ale zawartość starszej jest w dalszym ciągu dostępna jako "akumulator B".
Szesnastobitowe rejestry A, X, Y są dostępne tylko w trybie natywnym 65C816.
Rozszerzenia oparte na 65C816
Jeśli jesteś szczęśliwym posiadaczem procesora 65C816, możesz go w prosty sposób podłączyć do naszej ukochanej Atarki zastępując procek 6502C. Jest to jednak najprostsze rozwiązanie umożliwiające tylko korzystanie z większej liczby rozkazów. Rozwiązanie to nie pozwala na dołączenie większej ilości pamięci liniowej (jak wiadomo 65C816 może zaadresować do 16MB pamięci). Szczegóły montażu w stołówce Simple 65C816 Processor Adapter. Na takiej samej zasadzie dzialało rozszerzenie Sweet16.
Bardziej zaawansowane rozszerzenie to Warp4, autorstwa Pasia/SSG - schematy i opis montażu już w stołówce.
Pasiu pracuje również nad kolejnym typem rozszerzenia, 65C816 pracujący razem z 6502C. Rozszerzenie zainspirowane projektem Hyperspeed XL/XE, z danych ujawnionych do tej pory wynika iż będzie ono zapewniało 64K taktowanej 14MHz pamięci cache umożliwiającej szybki odczyt także obszaru poniżej 0x010000.
Poniżej screenshot z SysInfo pokazujący parametry prototypowej instalacji: