Co je uvnitř HP-41
Kalkulačka HP-41C byla tvořena jednak vlastním procesorem, dále třemi obvody ROM,
pěti paměťovými obvody (Data Storage), hybridním integrovaným obvodem pro řízení displeje
a integrovaným obvodem pro napájení. Pouze obvod pro napájení byl v bipolární technologii,
všechny ostatní integrované obvody byly v technologie CMOS. To umožňovalo, aby kalkulačka měla tzv. "
Continuous Memory", kdy si pamatovala data a programy i po vypnutí napájení.
Klávesnice měla 39 kláves a výstup byl na 12-znakový alfanumerický LCD displej. Vedle toho měla kalkulačka 4 porty vstup/výstup, do kterých se zasouvaly další ROMky nebo interface na HP-IL smyčku, ke které bylo možno připojit periferní zařízení (tiskárnu, tablet, měřící přístroje a podobně).
Kalkulačka pracovala s 56-bitovými informacemi, přičemž data byly v BCD formátu a instrukce a adresy byly kódované binárně. Synchronizace systému obvodů byla vztažena k signálu F2 od CPU, který byl dán (zjednodušeně řečeno) právě dobou přenosu 56 bitů.
Vlastní CPU v kalkulačce měl 8 sekcí:
- časový generátor se základním oscilátorem 1440 kHz z kterého se odvozovaly synchronizační signály F1 (343 kHz) a F2 (378 kHz).
- procesor instrukcí měl 16-bitový programový čítač, který ukazoval na momentální adresu instrukce.
- adresové registry, registr stavů a flag registr. Adresové registry byly celkem čtyři, každý 16-bitů. Používaly se pro návratové adresy při odskocích větvení programu. Registr stavů byl 14-bitový. Flag registr byl 8-bitový, pro 8 flagů, kde všechny měly stejnou úroveň.
- datové registy. Celkem bylo šest datových registrů, z nichž pět bylo 56 bitů dlouhých a poslední byl 8-bitový. Tři registry byly pracovní, označované A,B a C a sloužily pro aritmetické operace.
Reistr C měl výstup na datovou sběrnici a používal se pro přesun dat do pamětí. Další dva z šesti registrů, označované M a N se používaly pro dočasné ukládání dat.
Poslední registr označovaný písmenem G, byl douhý 8 bitů a sloužil pro ukládání části z obsahu registru C.
- aritmetický procesor pracoval s registry A, B a C a umožňoval sériové sčítání a odečítání 56 bitů binárních a BCD dat.
- obvod pro podmínkové testy se používal pro testování stavu 1-bitových flagů, včetně 14 vstupních flagů (označovaných FI0 až FI13) na vstupních I/O portech.
Dále testoval signál stavu baterie z obvodu napájení, statusové bity, a flagy z CPU.
- obvod pro kontrolu napájení řídil režim napájení, který byl určen obvodem pro řízení displeje, když kalkulačka nebyla aktivní. Obvod testoval úroveň napájení a povolil nebo zablokoval činnost integrovaných obvodů kalkulačky.
- obvod pro připojení klávesnice připojoval klávesnici přes 5 sloupců(KC0 - KC4) a 8 řádků (KR0 - KR7) tlačítek. Když byla kalkulačka v režimu RUN, obvod scanoval sloupce a dával informaci o stavech řádků. Když bylo tlačítko stisknuto, objevila se log. 0, která nastavila KEY flag v CPU. Stisk kláves byl ignorován 40 ms po stisku a 5 ms po uvolnění tlačítka. Tím se zabránilo efektu
"key bounce", tedy násobnému stisku tlačítka.
Každý ze třech ROM obsahoval 4096 instrukcí dlouhých 10 bitů, které používal CPU pro vlastní operace. Většina operací vyžadovala instrukce z více než jednoho ROMu, avšak vždy byl současně zpřístupněn pouze jeden ROM.
Paměťových obvodů bylo celkem pět, každý s organizací 16x56 bitů. Přístupný byl v daném okamžiku vždy jen jeden z paměťových obvodů. Obvod D/S0 se používal pro ukládání dat z registrů X, Y, Z. T, LAST X a ALPHA. Zbylé čtyři paměťové obvody byly přístupné uživateli pro ukládání dat a programů.
Displej kalkulačky měl 12 míst LCD. Každý znak byl tvořen 14 segmenty , 3 destinými čárkami a podtrhovátkem.
Napájení kalkulačky bylo ze čtyř 1.5 Volt baterií velikosti N (tedy relativně malých). Obvod napájení zajišťoval ochranu proti přepólování a ochranu proti dalším zdrojům napětí (z adaptéru). Vyrovnávací kondenzátor zajišťoval napájení po dobu výměny baterií.
Interface (tey porty), vstupy a výstupy byly přes 4 zásuvky. Každý port měl přístup na 12 signálů sběrnice, včetně 3 napájecích signálů. Porty jsou dobře popsané, takže postupem doby vzniklo nespočet různých dodatečných ROMů a adaptérů a to nejen u HP, ale také u mnoha dalších firem a amatérů. Jedním z podstatných adaptérů vzniklých u HP bylo sériové 1-drátové rozhraní HP-IL, které umožnilo připojení řady periferií v uzavřené smyčce.
Obrázek, převzatý z dokumentace HP ukazuje blokové schéma HP-41C:
Příloha:
Poznámka: blokové schema HP-41C
block diagram.jpg [ 174.36 KiB | Zobrazeno 36705 krát ]