Motorola 6809

Motorola 6809E taktowana zegarem 1 MHz

Motorola 6809 to 8-bitowy mikroprocesor firmy Motorola wprowadzony na rynek w 1979. 6809 był technologicznie znaczniej bardziej zaawansowany niż jego poprzednik Motorola 6800.

6809 jest uważany za jeden z najlepszych 8-bitowych procesorów, które były kiedykolwiek produkowane.

Opis

Rejestry procesora Motorola 6809

Do najistotniejszych usprawnień zapoczątkowanych w 6809 zaliczyć należy wykorzystywanie dwóch 8-bitowych akumulatorów (A i B, które są łączone w jeden 16-bitowy rejestr D), dwa 16-bitowe rejestry indeksowe (X, Y) oraz dwa 16-bitowe wskaźniki stosu (U, S). Rejestry stosu i indeksowe umożliwiały zaawansowane tryby adresowania.

Procesor 6809 był kompatybilny z 6800 na poziomie kodu źródłowego, jednak ten ostatni miał 78 pozycyjną listę rozkazów procesora, natomiast 6809 miał 59 instrukcji. Niektóre instrukcje zostały zastąpione przez bardziej ogólne, natomiast asembler zamieniał je na odpowiedniki tych operacji. Inne instrukcje zostały zastąpione trybami adresowania. Zestaw instrukcji oraz rejestrów był wysoce ortogonalny, co sprawiało, że 6809 był łatwiejszy w programowaniu od pozostałych podobnych mikroprocesorów w tamtym czasie.

Innymi rozwiązaniami były: jedna z pierwszych sprzętowych implementacji instrukcji mnożenia w MPU, pełna arytmetyka 16-bitowa oraz zwłaszcza szybki system przerwań. Procesor 6809 był także niezwykle wydajny, ponad pięć razy szybszy od serii procesorów 6800, włączając w to nieudokumentowaną instrukcję testującą szynę adresową określaną jako HCF (Halt and Catch Fire).

Procesor 6809 wykazywał szczególną optymalizację wykonywania instrukcji porównywaną do architektury RISC. Potrzebował znacznie mniej cykli zegarowych do przetworzenia kolejnych instrukcji. Dla przykładu operacja "ADDA 63" potrzebuje trzech cykli zegarowych – dwóch na pobranie (ang. fetch) instrukcji oraz jednego do wykonania operacji; Procesor Zilog Z80, jeden z głównych konkurentów 6809, rozkaz "ADD A,63" wykonywał w siedem cykli zegarowych. Dlatego Z80 potrzebował przynajmniej dwukrotnie większej częstotliwości zegara taktującego, jeśli chciał się równać z wydajnością 6809. Oprócz tego, podobnie jak ich krewniacy (np. MOS Technology 6502), 8-bitowe procesory Motoroli potrzebowały jeden cykl zegarowy na dostęp do pamięci, w przeciwieństwie do wewnętrznego cyklu, tak jak to miało miejsce w pozostałych mikrokomputerach w tamtym czasie. Pojedyncza operacja odczytu z pamięci na Z80 dla przykładu wymagała minimum trzech cykli zegarowych.


Zastosowanie

Media użyte na tej stronie

6809registers.png
Motorola 6809 - internal registers
MC6809EP.jpg
Photograph of a 1MHz Motorola 6809E (External Clock) microprocessor. The date code indicates it was manufactured in the 28th week of 1983. From the collection of the contributor, most likely pulled from a TRS-80 Color Computer. The package is a standard plastic (P suffix) 40 pin dual-inline.