65C816

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 09:30, 11 lut 2006
KMK (Dyskusja | wkład)
(Architektura)
← Previous diff
Wersja z dnia 02:53, 13 lut 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 ==

Wersja z dnia 02:53, 13 lut 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

Grafika:65c816.gif

  • ośmiobitowa szyna danych
  • 24-bitowa szyna adresowa
  • 92 rozkazy
  • 22 tryby adresowania
  • 16-bitowe ALU
  • jeden 16-bitowy rejestr ogólnego przeznaczenia (akumulator A/B, czyli C)
  • 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 C, X i Y: są one 16-bitowe, ale żeby skorzystać z ich pełnego rozmiaru, trzeba oddzielnym rozkazem dokonać przełączenia dodatkowych bitów rejestru statusu. Jeden z nich, zwany M, wybiera rozmiar akumulatora oraz operacji na pamięci (1 - ośmiobitowe, 0 - szesnastobitowe), 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 C, X, Y są dostępne tylko w trybie natywnym 65C816, natomiast w trybie emulacji 6502 istnieje dostęp do akumulatora B - obydwie połówki rejestru C można zamienić miejscami.

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 działa rozszerzenie Sweet16.

Grafika:Si-65816.png

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 (nazwa kodowa - Projekt F7), 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.

Obok screenshot z SysInfo pokazujący parametry prototypowej instalacji:

Zobacz też

Personal tools