PMI-80

z Wikipédie, slobodnej encyklopédie
Skočit na navigaci Skočit na vyhledávání
PMI-80
PMI-80
Typ8-bitový školský jednodoskový mikropočítač
ProcesorMHB8080A @ 1,111 MHz
Pamäť1 KiB SRAM
1 KiB PROM / EPROM
Displejintegrovaný 9-miestny 7-segmentový LED displej
Klávesnicaintegrovaná kalkulačková, 25 kláves
Rozhraniavstup/výstup pre magnetofón
paralelné GPIO rozhranie
systémová zbernica
Dátové nosičeaudiokazeta
Operačný systémmonitor strojového kódu
Napájanieexterný zdroj
+5 V / 0,7 A
+12 V / 0,3 A
−5 V / 0,1 A
Rozmery240 × 145 mm
Hmotnosť300 g
VývojárRoman Kišš
VýrobcaTesla Piešťany, ČSSR
Premiéra1981
Výrobaod 1982
Vyrobených kusovpribližne 5 000 [1]
Cena4 770 Kčs [2]
NástupcaPMD 85

PMI-80 bol jednoduchý 8-bitový jednodoskový výukový mikropočítač, vyrábaný v ČSSR v podniku Tesla Piešťany od roku 1982. Vybavený bol 9-miestnym sedemsegmentovým kalkulačkovým LED displejom a modifikovanou kalkulačkovou klávesnicou s 25 klávesami. Využíval procesor Tesla MHB8080A, česko-slovenský klon rozšíreného mikroprocesoru Intel 8080 z roku 1974, taktovaný na frekvencii 1,111 MHz a disponoval 1 KiB pamäte RAM a rovnakým množstvom pamäte ROM.[3][4]

Počítač bol primárne určený na výuku programovania na stredných elektrotechnických školách a technických univerzitách. Okrem výuky bol využiteľný aj na jednoduchšiu priemyselnú a experimentálnu automatizáciu a pre nedostupnosť iných alternatív bol v 80. rokoch 20. storočia v Česko-Slovensku obľúbený aj medzi počítačovými nadšencami.[5][6]

Vznik[upraviť | upraviť zdroj]

Prototyp počítača vyvinul na prelome rokov 1980 – 1981 Ing. Roman Kišš, v tom čase 32-ročný testovací technik integrovaných obvodov v národnom podniku Tesla Piešťany. Inšpiráciou mu bol článok v nemeckom odbornom časopise a práci na prototype sa venoval mimo svojej oficiálnej pracovnej náplne, pričom materiál na stavbu získal využitím nevyhovujúcich súčiastok z výroby a výmenou s kolegami (napr. nepotrebná kalkulačka, ktorá poslúžila ako jednoduché vstupno-výstupné zariadenie).[7][1]

Neskôr v priebehu roku 1981 založil v Tesle Piešťany školiace stredisko, prvé svojho druhu vo vtedajšom Česko-Slovensku, kde si účastníci týždenného školenia mohli postaviť vlastný exemplár PMI-80 z pripravených súčiastok a naučiť sa základy jeho programovania v strojovom kóde. Svoje znalosti mohli absolventi následne odovzdať ďalej v mieste svojho pôsobenia, takže školenia svojou mierou prispeli k naštartovaniu vlny záujmu o mikropočítačovú techniku v 80. rokoch v ČSSR.[1]

Po odovzdaní PMI-80 do výroby pracoval Roman Kišš aj na vývoji počítačov PMD 85, Didaktik Alfa a PC 88, ktoré už mali charakter štandardných osobných počítačov s plnohodnotnými alfanumerickými klávesnicami a grafickým výstupom na televízor alebo obrazovkový monitor.[1]

Hardvér[upraviť | upraviť zdroj]

Po hardvérovej stránke predstavoval počítač minimálny funkčný 8080 systém, obsahujúci len nevyhnutné podporné obvody. Operačná pamäť bola použitá statická, nevyžadujúca obvody, zabezpečujúce periodickú obnovu (refresh). Zobrazovanie na displeji a skenovanie klávesnice bolo softvérovo multiplexované, pričom pre obnovu displeja a prípadné nasnímanie kódu stlačenej klávesy bolo potrebné volať príslušné systémové rutiny z monitoru (počítač neobsahoval časovač). Bez ich pravidelného volania z používateľského programu bolo možné na displeji ponechať staticky zobrazený len jeden znak.

Osadenie mikropočítača tvorilo desať integrovaných obvodov:[5]

  • 1× MHB8080A (mikroprocesor, česko-slovenský ekvivalent Intel 8080)
  • 1× MH8224 (generátor taktu a signálu RESET)
  • 1× MH8228 (riadiaci obvod a budič zbernice)
  • 1× MH3205 (dekodér z 3-bitového kódu na 1 z 8, ekvivalent 74LS138, slúžiaci ako adresový dekodér)
  • 2× MHB2114 (pamäť SRAM 1024×4b)
  • 1× MHB8608 (pamäť PROM 1024×8b) alebo MHB8708 (EPROM 1024×8b)
  • 1× MHB8255A (programovateľné paralelné rozhranie, 3×8 vstupno-výstupných liniek)
  • 1× MH1082 (dekodér a budič 7-segmentového LED displeja)
  • 1× MH7400 (4× hradlo NAND)

Okrem toho počítač z aktívnych súčiastok obsahoval už len 7 tranzistorov PNP (budenie segmentov displeja), 3 tranzistory NPN (tvarovač magnetofónového vstupu, invertor) a 6 kremíkových diód. Klávesnica 5×5, červený sedemsegmentový displej VQD30 a dekodér/budič MH1082 boli prevzaté z vreckovej kalkulačky Tesla OKU 205.

Časovanie[upraviť | upraviť zdroj]

Počítač bol osadený 10 MHz kryštálom, pričom takt pre samotný procesor je interne v obvode MH8224 delený deviatimi, tzn. výsledný takt CPU bol 10 / 9 ≈ 1,111 MHz. Doba vykonávania jednej inštrukcie bola pri 8080 4 – 11 taktov, tzn. výpočtový výkon PMI-80 bol približne v rádoch stoviek tisíc inštrukcií za sekundu (0,1 – 0,28 MIPS).

Pre porovnanie, súčasný (2014) jednodoskový počítač Raspberry Pi 2 so štvorjadrovým 32-bitovým procesorom s jadrom ARM Cortex-A7, dosahuje výkon približne 1 000 MIPS na jedno jadro, je teda približne 20 000-násobne výkonnejší, už pokiaľ ide čisto o počet inštrukcií, vykonateľných za jednotku času (a teda odhliadnuc od ďalších benefitov, súvisiacich so 4-násobnou šírkou slova, integrovanou hw. násobičkou/deličkou priamo v ALU, integrovaným numerickým a grafickým koprocesorom a pod.).

Vstupno-výstupné rozhrania a rozšíriteľnosť[upraviť | upraviť zdroj]

Dve z troch 8-bitových brán obvodu MHB8255A boli využité interne pre multiplexované budenie displeja, klávesnice a vstup/výstup na magnetofón. Zvyšná brána bola vyvedená na FRB konektor (K2) a využiteľná používateľsky ako 8 paralelných vstupno-výstupných liniek s TTL úrovňami. Na doske je ďalej pripravené miesto pre osadenie druhého obvodu MHB8255A so všetkými troma bránami vyvedenými na konektor.[3][5]

Voľné miesto bolo tiež ponechané pre prípadnú druhú používateľskú pamäť EPROM 8708 a na konektore systémovej zbernice (K1) bolo vyvedených 5 z 8 vybavovacích signálov z adresového dekodéru MH3205, ktoré sa dali využiť na jednoduché externé rozšírenia RAM alebo ROM o jednu až päť 1 KiB stránok bez potreby ďalších adresových dekodérov.

V spodnej časti dosky bolo k dispozícii pole 31×8 predvŕtaných kontaktných plôšok (padov) v rastri 2,54 mm, ktoré bolo použiteľné ako univerzálna DPS pre realizáciu prípadných vlastných obvodov, prepojených s počítačom.

Softvér[upraviť | upraviť zdroj]

Počítač bol z výroby osádzaný 1 KiB pamäťou PROM resp. EPROM, obsahujúcou základný obslužný program – monitor strojového kódu (ďalej len „monitor“) s nasledovnými funkciami:[6]

  • inicializácia systému (klávesa RE; reset zachováva obsah pamäte)
  • inšpekcia a zmena hodnôt registrov (klávesa R)
  • inšpekcia a zmena obsahu pamäte (klávesa M)
  • štart používateľského programu od zadanej adresy (klávesa EX)
  • trasovanie programu (breakpoint; klávesa BR)
  • spracovanie vonkajšieho prerušenia (klávesa I)
  • čítanie a zápis údajov na pripojený magnetofón (klávesy L, S)

Programovanie[upraviť | upraviť zdroj]

Bloková schéma počítača a prehľad inštrukčného súboru 8080 na vnútornej strane veka kufríka.

Programovanie počítača bolo, najmä z dnešného pohľadu, pomerne namáhavé. Program si bolo treba najprv premyslieť a manuálne zapísať v jazyku symbolických inštrukcií (JSI) procesoru 8080. Pri školskom využití v 80. rokoch sa koncept programu v JSI pripravoval spravidla na papieri, v pracovnom zošite. Počítače s obrazovkovým výstupom a textovým editorom, prípadne asemblerom pre automatizovaný preklad programu z JSI do strojového kódu 8080, ktoré by túto prácu dokázali výrazne uľahčiť, ešte neboli bežne dostupné, okrem toho PMI-80 bol cielený primárne práve na výuku nízkoúrovňového programovania.

Program, vopred pripravený v JSI sa potom na PMI-80 zapisoval do pamäte formou zadávania inštrukčných kódov na klávesnici v šestnástkovej sústave. Ako pomôcka slúžil okrem príručky aj papierový „ťahák“ s blokovou schémou počítača a prehľadom inštrukčného súboru 8080 v štruktúrovanej podobe s názvami inštrukcií a ich hexadecimálnymi kódmi, umiestnený na vnútornej strane transportného kufríka počítača.

Zmeny v už zapísanom programe boli možné znova len prepisom inštrukčných kódov na zadaných adresách v pamäti. Prípadné nadbytočné inštrukcie bolo možné prepísať kódom „prázdnej“ inštrukcie NOP (z angl. no operation), avšak vsúvanie nových inštrukcií medzi existujúce nebolo možné – zostávalo jedine zapísať ich na iné voľné miesto v pamäti ako podprogram a na pôvodné miesto vložiť jeho volanie (pokiaľ sa zmestilo), alebo celý program prípadne jeho časť prepísať nanovo, vrátane prepočítania adries všetkých volaných návestí a podprogramov.

Príklad programu[upraviť | upraviť zdroj]

Príklad jednoduchého programu, realizujúceho 8-bitové počítadlo stlačení klávesy s priebežným zobrazovaním počtu (0 až 28−1 = 255, tzn. 00 až FF v šestnástkovej sústave) na displeji. Program využíva ako podprogramy zdokumentované rutiny monitoru PMI-80 pre vymazanie displeja, zobrazenie číselnej hodnoty a vstup z klávesnice.[4] Do pamäte PMI-80 sa program zadá zapísaním postupnosti inštrukčných kódov zo stredného stĺpca a spustí skokom na adresu 1C00. Zaberá 21 bajtov, tzn. približne 2 % z 1 KiB operačnej pamäte PMI-80.

;adresa  ;inštrukčné kódy  ;komentovaný zápis v JSI
1C00     3E 0C             MVI  A, 0Ch   ; vlož kód znaku 'C' do akumulátora
1C02     CD AB 00          CALL CLEAR    ; vymaž displej a vľavo zobraz znak z akumulátora
1C05     1E 00             MVI  E, 0     ; inicializuj register E na 0
1C07     7B             L: MOV  A, E     ; presuň obsah E do akumulátora
1C08     32 FA 1F          STA  IN_DATA  ; ulož obsah akumulátora do pamäte na adresu bufferu
1C0B     CD F2 00          CALL OUTDA    ; zobraz 8b hodnotu z bufferu na displeji
1C0E     CD 16 01          CALL OUTKE    ; obnovuj displej a čakaj na stlačenie klávesy
1C11     1C                INR  E        ; zvýš hodnotu v E o jedna
1C12     C3 07 1C          JMP  L        ; skoč na adresu návestia L (opakovanie v slučke)

Galéria[upraviť | upraviť zdroj]

Referencie[upraviť | upraviť zdroj]

  1. a b c d Prednáška Romana Kišša: Ako vznikli počítače PMI 80, PMD 85, Didaktik Alfa [online]. ui42.sk, [cit. 2018-02-25]. Dostupné online.
  2. Výrobný štítok s maloobchodnou cenou na obale [online]. Tesla Piešťany, 1984, [cit. 2018-02-11]. Dostupné online.
  3. a b Školský mikropočítač PMI 80 : Užívateľská príručka : Časť I: Technický popis. Piešťany : Tesla Piešťany, 1982. 27 s. Dostupné online.
  4. a b Školský mikropočítač PMI 80 : Užívateľská príručka : Časť II: Popis základného monitora. Piešťany : Tesla Piešťany, 1982. 22 s. Dostupné online.
  5. a b c TÓTH, Štefan. Školský mikropočítač PMI-80. Amatérské radio (Praha: Naše vojsko), 1984, roč. XXXIII, čís. 7, 8, s. 257, 258, 297 – 301. Dostupné online.
  6. a b KIŠŠ, Roman. Monitor PMI-80. Amatérské radio (Praha: Naše vojsko), 1984, roč. XXXIII, čís. 11, s. 417 – 422. Dostupné online.
  7. MADE IN Slovakia. Quark : Magazín o vede a technike (Bratislava: CVTI SR), 2017-10-23. Dostupné online [cit. 2018-02-25].

Iné projekty[upraviť | upraviť zdroj]

Externé odkazy[upraviť | upraviť zdroj]