Tube (BBC Micro) - Tube (BBC Micro)
Ve výpočetní technice Trubka bylo rozšiřujícím rozhraním a architekturou Mikropočítačový systém BBC který umožnil BBC Micro komunikovat s druhý procesor nebo koprocesor.
Pod architekturou Tube by koprocesor spouštěl aplikační software pro uživatele, zatímco Micro (fungoval jako hostitel) za předpokladu, že vše I / O funkce, jako je displej, klávesnice a správa paměťových zařízení. Koprocesorová jednotka může být za studena do jakéhokoli BBC Micro s diskovým rozhraním (jehož ROM obsahovalo potřebný hostitelský software) a okamžitě použito.
Implementace
40kolíkový konektor IDC „Tube“ byl jednoduchým podřízeným připojením k hlavní sběrnici hostitelského procesoru s 8 datovými linkami, 7 adresními linkami a přerušovacím vstupem. Protokoly Tube byly implementovány hardwarem v připojeném zařízení.

Uvnitř koprocesorové jednotky je proprietární čip ( Trubka ULA, původně vyráběný společností Ferranti ) propojil a logicky izoloval hostitele a koprocesor autobusy. To umožnilo Tube pracovat s úplně jinou architekturou sběrnice v koprocesorové jednotce. Jediné potřebné další aktivní komponenty byly a mikroprocesor, někteří RAM, malý ROM obsahující kód klienta specifický pro procesor, logiku lepidla, jako je dekodér adres a a zdroj napájení.
Oba procesory komunikovaly prostřednictvím čtyř párů FIFO vyrovnávací paměti v Tube ULA. Řídicí panel vstup výstup, chybové zprávy, datové přenosy a systémová volání každý měl svůj vlastní pár nárazníků, jeden pro každý směr. Kapacita fronty se pohybovala mezi 1 a 24 bajty, v závislosti na vyhrazené funkci vyrovnávací paměti. Každá vyrovnávací paměť měla kontrolní registr a stavový registr pro monitorování svého stavu a konfiguraci zvyšování přerušení.
Protokol pro použití těchto vyrovnávacích pamětí byl přísně specifikován Počítače žaludů[1] a činí meziprocesová komunikace podle předávání zpráv. Většina interakce byla asynchronní ale rychlé blokové přenosy byly synchronní a sestávaly z toho, že hostitel slepě provozoval jednoduchou smyčku fetch-store, která definovala rychlost přenosu. Koprocesor byl synchronizován předáním fiktivního bytu a poté regulován příslušným semaforem vyrovnávací paměti.
Obecná povaha konektoru Tube v zásadě umožňovala jeho použití pro jakýkoli typ vysokorychlostního periferního zařízení, ačkoli Acorn jej používal pouze pro koprocesory Tube. Rozsah BBC Micro / Master poskytoval 5 adresních řádků pro rozsah adres & 60– & 7F, ale protokol Tube používal pouze nejnižší 3 bity. Pouze tyto 3 adresní řádky jsou připojeny k interním zásuvkám Tube, jak je uvedeno v BBC Master nebo Universal Second Processor Unit.
Aplikace
Pro Tube byla vyvinuta řada koprocesorů. Nejčastěji viděný byl a Technologie MOS 6502 procesor, který umožňoval nemodifikovaným programům BBC Micro běžet rychleji as větší pamětí, pokud používaly API pro všechny I / O.[1][2] Tam byl také Zilog Z80 procesor ke spuštění CP / M a a National Semiconductor 32016 běžící procesor Panos (a neoficiálně varianta UNIX).[Citace je zapotřebí ]
Tyto koprocesory tvořily základ Žalud obchodní počítač série, stroje vyšší třídy jsou přebalovány BBC Micros s koprocesorem připojeným přes Tube. Řada Master podporovala dvě připojení trubice, což umožňovalo koprocesor namontovaný uvnitř pouzdra a další připojené externě, ale v jakékoli aktivní relaci bylo možné použít pouze jedno. Mohl by být vybaven interním procesorem 6502 nebo Intel 80186 založený systém pro DOS kompatibilita (i když v praxi to bylo omezené).[3]
Trubka byla také použita během počátečního vývoje PAŽE procesor. Byla vyvinuta hodnotící deska, která znovu používala BBC Micro jako hostitelský systém pro I / O operace.
Žalud důrazně odrazoval programátory BBC Micro od přímého přístupu k systémové paměti a hardwaru a upřednostňoval oficiální volání API.[4] Bylo to zdánlivě zajistit, aby aplikace mohly být bez problémů přesunuty do koprocesoru Tube 6502, protože přímý přístup odtud nebyl možný. Když program volal jeden z MOS vstupní body, náhradní podprogram v ROM koprocesoru předal odpovídající zprávu hostiteli, který operaci provedl, a předal výsledek zpět. Tímto způsobem může aplikace běžet stejně na hostiteli nebo koprocesoru. Jiné modely CPU používaly vlastní API, což byl obvykle ortogonální překlad API 6502 do nativního formátu.
Reference
- ^ A b Acorn Application Note 004, "Tube Application Note"
- ^ Ačkoli nejčastěji uváděným důvodem pro rychlejší běh softwaru na druhém procesoru bylo to, že může odlehčit I / O úlohy, jako jsou výpočty grafického kreslení, do hostitelského procesoru, mnohem důležitější úvahou byla rychlost hodin: hostitelský procesor byl omezen na 2MHz aby měl VDU-refresh čas na přístup do RAM, zatímco koprocesor mohl běžet na 3MHz, s mnohem jednodušší obnovou DRAM, která jej zastavila na 68kHz, viz strany 7 a 19 servisní příručky druhého procesoru 6502 archivované na http://chrisacorns.computinghistory.org.uk/docs/Acorn/Manuals/Acorn_65022ndprocSM.pdf
- ^ Watford Electronics, „Advanced Reference Manual for the BBC Master Series“, 1988
- ^ Coll, John (1982) [1982]. Allen, David (vyd.). Uživatelská příručka mikropočítače BBC (zazipovaný RTF). London: British Broadcasting Corporation. 443, 450, 473. ISBN 0-563-16558-8. Citováno 25. ledna 2010.