Motorola 6809

Motorola 6809 (" altmış sekiz-sıfır dokuz "), Motorola'nın bazı 16 bit özelliklerine sahip 8 bitlik bir mikroişlemcisidir . Terry Ritter ve Joel Boney tarafından tasarlandı ve 1978'de tanıtıldı. Hem selefi Motorola 6800 hem de ilgili MOS Technology 6502'ye göre büyük bir ilerleme, TRS-80 Renkli Bilgisayar ve Dragon 32/64 ev bilgisayarlarında, Vectrex oyun sisteminde ve Star Wars dahil 1980'lerin başındaki atari makinelerinde kullanım buldu. Savunmacı, Robotron: 2084, Joust ve Gyruss . Fairlight CMI dijital ses iş istasyonunun Seri II'si ve Konami'nin Time Pilot '84 arcade oyununun her biri çift 6809 işlemci kullanır.

Diğer 8 bit işlemcilerden farklı olarak 6809, tamamen konumdan bağımsız koda ve yeniden giriş koduna basit bir şekilde izin verir. İlklerden biriydi Donanım çarpma talimatına sahip mikroişlemciler ve tam 16-bit aritmetik ve hızlı bir kesme sistemi içerir.

6809, tek bir 16 bitlik yazmaç (D), iki 16 bitlik dizin yazmacı (X ve Y) ve iki 16 bit yığın işaretçisi olarak birleştirilebilen iki 8 bitlik akümülatör (A ve B) kullanır. İndeks ve yığın yazmaçları, gelişmiş adresleme modlarına izin verir. Program sayacı göreceli adresleme konumdan bağımsız koda izin verirken, bir kullanıcı yığını işaretçisi (U) evresel kodu kolaylaştırır.

6809, 6800 ile kaynak uyumludur, ancak 6800, 6809'ların 59'una 78 talimat verir. Bazı talimatlar, birleştiricinin eşdeğer işlemlere çevirdiği daha genel olanlarla değiştirildi ve hatta bazıları adresleme modlarıyla değiştirildi. Komut seti ve yazmaç tamamlayıcısı oldukça ortogonaldir ve 6809'un programlanmasını çağdaşlardan daha kolay hale getirir. 6800 gibi, 6809 da Halt ve Catch Fire (HCF) olarak adlandırılan belgelenmemiş bir adres veriyolu test talimatı içerir.

6809'un dahili tasarımı daha basit, mikro kodlanmamış CPU tasarımlarına benzer. Çoğu 8 bit mikroişlemci gibi, 6809 uygulaması da, komut kod çözme işleminin yanı sıra dizilimin bölümlerini uygulamak için merkezi bir PLA kullanan bir yazmaç aktarım seviyesi (RTL) makinesidir.

6809, mantık kapılarını kapatmak için iki fazlı bir saat kullanır. Bu iki fazlı saat döngüsü, bu işlemcilerde tam bir makine döngüsü olarak kullanılır. Basit talimatlar, bu türden iki veya üç döngüde yürütülebilir.

Bir karşılaştırma olarak, daha yüksek çözünürlüklü durum makinesi Zilog Z80, genellikle sınırlayıcı faktör olan aynı hızlı bellek yongaları ile 3–5 kat daha yüksek saat frekanslarına izin verir. Bunun nedeni, Z80'in iki tam (ancak kısa) saat döngüsünü saate kıyasla nispeten uzun bir bellek erişim periyodunda birleştirirken, daha asenkron olan 6809'un nispeten kısa bellek erişim sürelerine sahip olmasıdır. Sürüme ve hız derecesine bağlı olarak, tek bir saat döngüsünün yaklaşık% 40-60'ı tipik olarak 6800, 6502 veya 6809'da bellek erişimi için kullanılabilir.

6809, dahili iki fazlı bir saat üretecine sahipken (yalnızca harici bir kristale ihtiyaç duyar), 6809E'nin ise harici bir saat üretecine ihtiyacı vardır. 68A09 (E) ve 68B09 (E) gibi varyantlar vardır; dahili harf, işlemcinin nominal saat hızını gösterir.

6809 tasarımının önemli bir yönü, konumdan bağımsız izin veren bir koddur . Tasarım ekibi, gelecekteki sistem entegratörlerinin ortak görevleri yerine getirmek için ROM'larda kullanıma hazır koda bakacağına inanıyordu. Küsüratlı sayı aritmetiği, grafik ilkelleri, Lempel-Ziv sıkıştırması ve benzerleri gibi yaygın rutin kitaplıkları lisanslanabilir, özel kodla birlikte birleştirilebilir ve ROM'a yazılabilir. daha büyük bir örnek kılavuzu programlama Motorola 6809 bulunan, assist09, bir sözde tam bir listesini içeren monitör, minyatür işletim sistemi ROM yakılmak üzere tasarlanmıştır.

Bu tür bir "seç ve yerleştir" programlama ortamında, kodun ROM'da nereye gideceğini tahmin etmenin bir yolu yoktu. Bellekteki diğer konumlara atıfta bulunan herhangi bir talimatın, düzendeki bu değişiklikleri yansıtması için normalde değiştirilmesi gerekir. Buna karşılık 6809, kodun herhangi bir değişiklik yapmadan hafızanın herhangi bir yerine yerleştirilmesine izin verir. 6809 tasarımı ayrıca, aralarında koordinasyon kaygısı olmadan aynı anda çeşitli farklı programlardan çağrılabilen veya kendini yinelemeli olarak arayabilen evresel kodu desteklemeye odaklandı.

Önceden hazırlanmış ROM modülleri pazarı hiçbir zaman gerçekleşmedi: Motorola'nın piyasaya sürdüğü tek örnek MC6839 küsüratlı sayı destekli ROM'du. Bir bütün olarak endüstri, bugün hala kullanılan çözüm olan otomatik yeniden konumlandırıcı bağlayıcılar ve yükleyiciler kullanarak farklı kaynaklardan kod modüllerini entegre etme sorununu çözdü. Ancak, tasarım ekibinin verdiği kararlar OS-9 ve UniFlex gibi çok kullanıcılı, çok görevli işletim sistemlerini etkinleştirdi .

Motorola 6809 orijinal olarak 1 MHz, 1.5 MHz (68A09) ve 2 MHz (68B09) hız değerleri vardı. Daha hızlı sürümler daha sonra Hitachi tarafından üretildi. İyileştirilecek çok az şeyle 6809, Motorola'nın 8 bit işlemcilerinin evriminin sonunu işaret ediyor; Motorola, gelecekteki 8 bitlik ürünlerin 68000'in 8 bitlik veri yolu versiyonunu (68008 ) temel almasını amaçladı. Biraz değiştirilmiş bir komut setine sahip bir mikro denetleyici versiyonu olan 6811, 21. yüzyılın ikinci on yılı gibi geç bir tarihte durduruldu.

Hitachi 6309, blok hareketi, ek çarpma talimatları ve bölme dahil olmak üzere ekstra yazmaçlar ve ek talimatlar içeren 6809'un geliştirilmiş bir sürümüdür.

6809, Commodore'un çift CPU'lu SuperPET bilgisayarında ve 68A09 enkarnasyonunda, yerleşik ekrana sahip vektör grafik tabanlı Vectrex ev video oyun konsolunda ve Milton Bradley Expansion (MBX) sisteminde (bir arcade Texas Instruments TI-99 / 4A ev bilgisayarı ile kullanım için konsol). 6809E, TRS-80 Renkli Bilgisayarda, Acorn System 2, 3 ve 4 bilgisayarlarda (standart 6502'ye isteğe bağlı bir alternatif olarak), Fujitsu FM-7, Canon CX-1, Galler yapımı Dragon'daki CPU'dur. 32/64 ev bilgisayarı ve SWTPC, Gimix, Smoke Signal Broadcasting vb. Motorola'nın kendi EXORmacs ve EXORset geliştirme sistemlerine ek olarak SS-50 veri yolu sistemleri. Fransa'da Thomson micro-informatique, 6809E'ye (TO7, TO7 / 70, TO8, TO8D, TO9, TO9Plus, MO5, MO6, MO5E ve MO5NR) dayalı bir dizi mikro bilgisayar üretti.

Ev bilgisayarlarına ve oyun konsollarına ek olarak, 6809, 1980'lerin başından ortalarına kadar piyasaya sürülen bir dizi atari oyununda da bulunur. Williams Electronics, Defender, Stargate, Joust, Robotron: 2084, Sinistar ve diğer oyunlarda kullanılan işlemcinin bir kullanıcısıydı. 6809 CPU, başarılı Williams Pinball Controller'ın çekirdeğini oluşturur. KONAMI-1, Konami tarafından Roc'n Rope, Gyruss ve The Simpsons oyunlarında kullanılan işlemci modifiye edilmiş bir 6809'dur .

Yazılım geliştirme şirketi Microware, 6809 için orijinal OS-9 işletim sistemini geliştirdi (daha yeni Mac OS 9 ile karıştırılmamalıdır) ve daha sonra onu 68000 ve i386 serisi mikroişlemcilere taşıdı. Birkaç yıl sonra, meraklılar orijinal Microware OS9'u temel alan NitrOS9 işletim sistemini geliştirdiler.

Fairlight CMI'nin Seri II'si (bilgisayar müzik aleti) çift 6809 CPU ve OS9 kullandı ve ayrıca ses kartı başına bir 6809 CPU kullandı. 6809 genellikle Oberheim (Xpander, Matrix 6/12/1000), PPG (Wave 2 / 2.2 / 2.3, Waveterm A) ve Ensoniq (Mirage sampler, SDP-1, ESQ1 gibi diğer üreticilerin müzik sentezleyicilerinde kullanılmıştır. SQ80). İkincisi, 6809E'yi ana CPU olarak kullandı. Bu makinelerdeki mikroişlemcinin saatini ses yongasına (Ensoniq 5503 DOC) senkronize etmek için (E) versiyonu kullanıldı.

Hitachi kendi 6809 tabanlı makinelerini, MB6890'ı ve daha sonra S1'i üretti. Bunlar öncelikle Japon pazarı içindi, ancak bazıları Avustralya'ya da gönderildi ve orada satıldı. Orada MB6890, muhtemelen Apple II'nin popülaritesine ironik bir atıfta bulunarak "Şeftali" olarak adlandırıldı. S1, 6809'un yerel 64 kilobaytlık (64 × 2 10 bayt ) adresleme aralığını 4 KB sayfalarda tam 1 mebibayta (1 × 2 20 bayt) genişleten disk belleği donanımı içermesi bakımından dikkate değerdi. Bu, SWTPC, Gimix ve diğer bazı tedarikçiler tarafından üretilen makinelere benziyordu. TSC, yalnızca bu tür makinelerde çalışan Unix benzeri bir işletim sistemi uniFlex üretti. OS-9 Seviye II, bu tür bellek yönetimi olanaklarından da yararlandı.

6809, 1980'lerin ortalarından 2000'lerin başlarına kadar Motorola SMARTNET ve SMARTZONE Trunked Merkezi Kontrol Cihazlarında ("6809 Denetleyici" olarak anılır) kullanıldı. Bu denetleyiciler, Motorola'nın ana hatlı iki yönlü telsiz iletişim sistemlerinin çoğunda merkezi işlemciler olarak kullanıldı.

Ne Motorola ne de Hitachi artık 6809 işlemci veya türevleri üretiyor. 6809 çekirdek VHDL olarak mevcuttur ve bir FPGA olarak programlanabilir ve 40 MHz'a kadar hız oranlarına sahip gömülü bir işlemci olarak kullanılabilir. Bazı 6809 işlem kodları da Freescale gömülü işlemcilerde koşmaya devam ediyor. Freescale, 2015 yılında Rochester Electronics'e, orijinal NMOS cihazının bir kopyası ve yedek yerine MC6809'u üretmeye başlama yetkisi verdi. Freescale, Rochester'e orijinal GDSII fiziksel tasarım veritabanını sağladı. 2016'nın sonunda, Rochester'ın MC6809'u (MC68A09 ve MC68B09 dahil) tamamen niteliklidir ve üretimde mevcuttur.

Avustralyalı geliştirici John Kent, Motorola 6809 CPU'yu donanım tanımlama dilinde (HDL) sentezledi. Bu, 6809 çekirdeğinin orijinal 6809'da bulunandan çok daha yüksek saat hızlarında kullanılmasını mümkün kıldı. Gary Becker's, Kent 6809 çekirdeğini 25 yaşında çalıştırıyor MHz. Roger Taylor'ın Matchbox CoCo'su 7.16'da çalışıyor MHz. Dave Philipsen 25 yaşında MHz.