Hlavní navigace

Legendární školní mikropočítač IQ-151

30. 3. 2010
Doba čtení: 14 minut

Sdílet

V dnešní části seriálu o architekturách počítačů si popíšeme další osmibitový mikropočítač, který byl navržený, vyráběný a používaný v ČSSR. Jedná se o legendární mikropočítač IQ-151, jenž se i přes mnohé technologické nedostatky hromadně dodával do mnohých škol i kroužků výpočetní techniky.

Obsah

1. IQ-150 – počítač špatný dokonce i pro socialistický trh

2. IQ-151 – napravení některých nedostatků IQ-150

3. Interní struktura počítače IQ-151

4. Záznam dat a programů na magnetofon

5. Paměťový subsystém počítače IQ-151

6. Zásuvné moduly dostupné pro mikropočítač IQ-151

7. Obsah následující části seriálu

8. Odkazy na Internetu

1. IQ-150 – počítač špatný dokonce i pro socialistický trh

řekli o IQ-151: „… jsem se dostal ke skvělému polyfunkčnímu počítači IQ-151. Tento stroj totiž nejen počítal, ale mohl též vařit vodu na kávu či čaj nebo mohl sloužit jako topné těleso …“

Historie československého osmibitového mikropočítače IQ-151 se začala psát v roce 1984. V tomto období byl na základě rozhodnutí vlády zahájen vývoj počítače vhodného pro výuku programování, který by bylo možné dodat a následně používat na všech stupních škol (zajímavé je, že v té době se výuka informatiky rovnala výuce nějakého programovacího jazyka, typicky Basicu; podobně omezený přístup k informatice ostatně na mnoha našich školách přetrvává, dnes se totiž výuka informatiky v mnohých školách rovná naučení klikání v několika málo aplikacích). Na základě prvotního návrhu „školního osmibiťáka“ se v roce 1985 v Závodech průmyslové automatizace v Novém Boru (ZPA Nový Bor) započalo s výrobou stroje nazvaného poněkud honosně IQ-150. Tento počítač byl, jak už bylo v našich zemích zvykem, založen na mikroprocesoru Tesla MHB 8080A a běžných podpůrných čipech řady Intel 8080 (8255A, 8259 atd.).

pc105_a

Obrázek 1: Osmibitový mikropočítač IQ-150 s připojeným televizorem a magnetofonem. Tento počítač byl vyráběn v modrém provedení, na rozdíl od svého následovníka IQ-151, který se honosil oranžovou barvou.

Počítač IQ-150 však vykazoval velkou řadu nedostatků, které bránily jeho úspěšnému nasazení do škol. Především se jednalo o špatný návrh paměťového systému, protože často docházelo ke kolizím pamětí při adresování, paměťové moduly původně dovážené ze SSSR kromě velkého zahřívání taktéž nedodržovaly přesné časování, které vyžadoval mikroprocesor MHB 8080A (ten naopak dodržoval standard firmy Intel) a navíc se napájecí zdroj počítače přehříval a kvůli jeho špatnému odstínění rušil činnost dalších modulů v počítači, například výstup video signálu na televizor či čtení a zápis dat i programů na magnetofon. Některé z těchto chyb byly tak závažné že byl mikropočítač IQ-150 po výrobě pouhých několika desítek kusů (některé zdroje hovoří o 50 vyrobených kusech, jiné až o stovce kusů, více to s velkou pravděpodobností nebylo) stažen z prodeje a inženýři ze ZPA Nový Bor se vrátili k rýsovacím prknům, aby návrh počítače změnili takovým způsobem, aby se jednalo o stroj skutečně použitelný v praxi. Současně se také mělo zlepšit jeho základní programové vybavení, tj. monitor.

pc105_a

Obrázek 2: Zajímavé je porovnání technologií používaných v roce 1984 na Západě (a to jak v Evropě, tak i v USA) a v zemích RVHP. Zatímco se u nás v tomto roce navrhoval počítač IQ-150 vybavený 32 kB RAM a mikroprocesorem řady 8080, jehož základním programovým vybavením byl poměrně primitivní monitor, v USA byla ve stejném roce zahájena sériová výroba slavných osobních mikropočítačů Apple Macintosh s o dvě generace novějším mikroprocesorem řady Motorola 68000, vybavených 128 až 512 kB RAM a plnohodnotným grafickým uživatelským rozhraním. I přes značné technologické rozdíly mezi těmito počítači byla jejich cena (přepočtená na kupní sílu obyvatelstva) zhruba srovnatelná.

2. IQ-151 – napravení některých nedostatků IQ-150

řekli o IQ-151: „IQ-151 byl jediný počítač o kterém jsem věděl naprosto všechno, počínaje hardwarem (blikající obrazovka = je mu teplo = rozmontovat a zastrkat vylezlé šváby zpátky), přes software až po jeho neutuchající schopnost v zimních nocích vytopit svým teplem půlku kabinetu.“

Po necelém roce začal podnik ZPA Nový Bor vyrábět zmodernizovanou variantu počítače IQ-150 nazvanou IQ-151. Některé konstrukční nedostatky předchozího typu počítače byly opraveny, takže již například nedocházelo k tak častým chybám při práci s operační pamětí. Ovšem problémy s napájecím zdrojem, který byl zabudován přímo do skříně počítače, což se ukázalo jako velmi problematické řešení, přetrvávaly. Tyto nedostatky se projevovaly například tak, že se po zapojení většího množství zásuvných modulů (viz další kapitoly) počítač stal buď nestabilním nebo dokonce došlo k přetížení zdroje a následnému proražení diod, které stabilizovaly napětí +5V (proudový odběr u dalších napětí dodávaných zdrojem, tj. -5V a +12V nebyl tak velký). Kvůli tomuto nedostatku napájecího zdroje bylo možné do počítače v jeden okamžik nainstalovat pouze dva zásuvné moduly namísto konstrukčně možných modulů pěti – většinou se jednalo o moduly Video 32 (bez nějž nefungovalo zobrazení na televizoru) a Basic 6.

pc105_a

Obrázek 3: První verze školního počítače IQ-151. Povšimněte si kulatých tlačítek, které jsou pro tento počítač typické a taktéž klávesy RESET. Ta nebyla od ostatních kláves nijak oddělena, pravděpodobně proto, aby se studenti naučili dávat si pozor, kterou klávesu mačkají :-) (už se asi nikdy nedozvíme, kolik programů bylo „díky“ vhodně umístěné klávese RESET ztraceno). Skříň počítače byla vyrobena z oranžově nalakovaného plechu, jehož milou vlastností byl přenos tepla z chladiče umístěného v zadní části počítače (žebra chladiče jsou částečně vidět i na této fotografii) na celou jeho plochu, což mj. znamenalo, že se televizor nemohl stavět přímo na počítač, ale musely se používat různé dřevěné špalíky a podobné hi-tech řešení.

Problémy s napájením byly částečně vyřešeny až ve druhé verzi počítače IQ-151 z roku 1987, kterou bylo možné rozeznat už na první pohled podle toho, že se na klávesnici objevilo (po pravé straně) natištěné písmeno G. Ke zdroji byly připojeny další chladiče a současně v něm byly použity i diody dovolující větší průtoky proudu a tím pádem i větší příkon, který mohl počítač i zapojené moduly využít. Kromě zdroje došlo taktéž k úpravám monitoru a navíc bylo možné v této verzi použít novou verzi Basicu, která se přejmenovala z BASIC 6 na BASIC G. Písmeno G v názvu Basicu značí, že tento interpret obsahoval i několik grafických příkazů, podobně jako stejně pojmenovaný Basic u počítačů PMD-85. Výroba počítačů IQ-151 i zásuvných modulů byla ukončena v průběhu roku 1990, protože tyto počítače nebyly schopny konkurovat ani ostatním osmibitovým domácím počítačům ani (což je pochopitelné) v té době již poměrně rozšířeným Atari ST, Amigám a nakonec i PCčkům.

pc105_a

Obrázek 4: Interní napájecí zdroj mikropočítače IQ-151, který ztrpčoval život mnohým jeho uživatelům a taktéž byl příčinou většiny poruch tohoto počítače, které byly poměrně časté.

3. Interní struktura počítače IQ-151

řekli o IQ-151: „… když jsem se poprvé setkal v jisté instituci s velice bojovným názvem po nějakém revolucionáři s českou parodií na počítač, s IQ 151 a později i se slovenskou parodií na počítač, s PMD 85…“

Základem počítače IQ-151 byl mikroprocesor MHB 8080A taktovaný na 2 MHz (přesněji 2048 kHz, stejně jako PMD-85), který byl doplněný o klasickou dvojici podpůrných čipů, tj. obvodu 8224 (generování dvoufázových hodin) a 8228 (tento čip mj. generoval negované řídicí signály IOR, IOW, MEMR a MEMW vyvedené na řídicí sběrnici). Hodinový signál posílaný na vstup mikroprocesoru byl získán děličem devíti z oscilátoru s kmitočtem 18432 kHz. Mikroprocesor byl na adresovou sběrnici připojen přes posilovací obvod 3212. Počítač IQ-151 obsahoval i podporu pro několik typů přerušení, což nebylo u mnoha dalších počítačů vyráběných v ČSSR typické (spíše jsme se mohli setkat s jedním či dvěma zdroji přerušení). O zpracování přerušení se staral obvod 8259, který dokázal rozeznat osm žádostí o přerušení s různou prioritou (mimochodem: vylepšená varianta tohoto obvodu byla použita i v IBM PC a později i PC XT).

pc105_a

Obrázek 5: Další pohled na počítač IQ-151. Povšimněte si, že barvy některých kláves jsou oproti počítači zobrazeném na snímku číslo 3 odlišné.

Prvních pět přerušení mohlo generovat jakékoli připojené periferní zařízení pomocí signálů INT0INT4, šesté přerušení bylo generováno tlačítkem BREAK a poslední dvojice přerušení byla generována signály SS (synchronizace snímků) a SR (synchronizace řádků) – povšimněte si, že některé signály jsou označovány anglickými zkratkami (INT, IOR, IOW, MEMR či MEMW), zatímco další pro změnu zkratkami českými (SS, SR). Dalším důležitým čipem použitým v tomto počítači byl obvod 8255A, na jehož brány byla připojena klávesnice, zvukový výstup i rozhraní pro komunikaci s magnetofonem. Klávesy na klávesnici byly uspořádány v matici 8×8 kláves, přičemž sloupcové vodiče byly připojeny k bráně B a řádkové vodiče k bráně A.

pc105_a

Obrázek 6: Pohled na zadní část skříně počítače IQ-151, na níž můžeme po pravé straně vidět chladič zdroje a po straně levé „vanu“ určenou pro připojení až pěti zásuvných modulů. Zde jsou již připojeny tři moduly – BASIC G, VIDEO 32 či VIDEO 64 a GRAFIK.

Klávesy se speciálním významem, tj. přeřaďovače SHIFT, CONTROL, FA a FB, byly přes přepínač zapojeny na vstupy 4 až 7 brány C (tato osmibitová brána byla rozdělena na dvě čtveřice bitů, z nichž každá mohla být nakonfigurována buď pro režim čtení nebo naopak zápisu). Ostatní piny brány C byly využity pro akustický výstup a taktéž řízení magnetofonu. Při zmínce o klávesnici nesmíme zapomenout na její fyzickou podobu, která byla velmi kuriózní. Sami konstruktéři tohoto počítače tvrdili, že z cenových a výrobních důvodů byla zvolena membránová klávesnice s kulatými tlačítky, která se mj. používala například i v některých telefonních přístrojích a ústřednách. Výsledkem byla naprosto nevhodná konstrukce klávesnice, což by možná nevadilo u počítače určeného pro použití v průmyslu, ale u počítače dodávaného do škol, kde na něm pracovali i mladší žáci se slabšími prsty a zápěstím, se jednalo o – z dnešního pohledu – skoro trestuhodný počin.

pc105_a

Obrázek 7: Počítač IQ-151 s připojeným televizorem. V praxi bylo nutné mezi počítač a televizor vkládat různé podložky (například třícentimetrová prkénka), aby se zajistilo dobré odvětrávání. Přehřátí počítače vedlo k jeho nestabilitě či úplnému vypnutí.

4. Záznam dat a programů na magnetofon

řekli o IQ-151: „… IQ 151, 151 byl index trpělivosti operátora …“

Při práci s magnetofonem byl využíván již zmíněný signál SR, který primárně sloužil k řádkové synchronizaci obrazu. Signál SR byl přiváděn na kmitočtový dělič, na jehož výstupu se objevoval vzorkovací signál o kmitočtu 1 kHz, který byl použit při zápisu i čtení dat na magnetofonovou pásku (rychlostí 1000 Bd) nebo kompaktní kazetu, v závislosti na tom, jaký typ magnetofonu se k počítači připojil. Většinu činností při čtení i zápisu dat prováděl přímo mikroprocesor – jednalo se například o převod dat do sériového tvaru, výpočet zabezpečovacího kódu, detekci nosného signálu atd. Zatímco programy ve strojovém kódu byly ukládány binárně v jediném datovém bloku, programy v Basicu se na kazetu ukládaly ve zdrojovém tvaru (tj. nikoli jako sekvence tokenů), což bylo v porovnání s ostatními osmibitovými počítači poměrně netypické (jednou z výjimek je Atari BASIC nabízející příkazy LIST „C:“ a ENTER kromě běžnějších CSAVE a CLOAD).

pc105_a

Obrázek 8: Pohled na pětici patic určených pro zapojení modulů do počítače IQ-151.

To, že se aplikace naprogramované v BASICu ukládaly na kazetu přímo ve své zdrojové podobě, s sebou přinášelo několik komplikací, které vycházely z faktu, že v operační paměti se BASICový program vždy reprezentoval ve formě takzvaných tokenů (zjednodušeně řečeno každé funkci či příkazu odpovídal jeden token, což byla u většiny Basiců jednobajtová konstanta). Počítač tedy musel zdrojový kód programu načítat z kazety a postupně ho tokenizovat a následně zařadit (podle čísla řádků) do správné oblasti operační paměti. Tokenizace a zařazení tokenů do paměti však nějaký čas trvala, což znamená, že mikroprocesor nemohl data tvořící program současně načítat z magnetofonu a současně zpracovávat (tokenizovat). Z tohoto důvodu se při zápisu programu na magnetofon mezi jednotlivé řádky vkládaly mezery o délce 0,5 sekundy, aby při zpětném načítání stihl mikroprocesor provést veškeré nutné činnosti. Ovšem u delších programů mezera 0,5 sekundy nebyla dostatečná, takže se mohlo stát, že s velkou námahou napsaný delší program už nešel po uložení na magnetofon načíst zpět do paměti (pokud uživatel neměl trénink v zastavování magnetofonu vždy v mezerách mezi jednotlivými řádky).

pc105_a

Obrázek 9: Hra spuštěná v emulátoru počítače IQ-151.

5. Paměťový subsystém počítače IQ-151

Paměťový subsystém počítače IQ-151 byl poměrně jednoduchý, jedinou zajímavostí byl způsob maskování části paměti RAM v případě, že se v počítači nacházel zásuvný modul s pamětí EPROM, jejíž paměťový rozsah s RAM kolidoval (což bylo v případě instalace 64 kB RAM vlastně kdykoli). Počítač již v základním vybavení obsahoval paměť ROM s monitorem (základním ovládacím programem), která měla kapacitu 6 kB. Mimo paměti ROM obsahoval IQ-151 v prvních verzích 32 kB operační paměti rozšiřitelné na 64 kB, později se dodávaly i kusy s nainstalovanými 64 kB. Původně se používaly, jak jsme si již řekli v předchozích kapitolách, paměti dovážené ze SSSR s organizací 16k×1 bit, které však trpěly mnoha neduhy, především přehříváním a taktéž tím, že vyžadovaly hned tři napájecí napětí – +5V pro rozhraní TTL, +12V na samotný záznam bitů a –5V pro odčerpávání rozptýleného náboje ze substrátu. Později byly sovětské paměti nahrazeny moduly MHB4116 (používanými i v mnoha dalších zařízeních), jichž se v počítači mohlo nacházet až 32. Na základní desce se taktéž nacházely konektory pro připojení pamětí EPROM typu 2708, 2716 nebo 2732.

pc105_a

Obrázek 10: Svojí modulární stavbou se počítač IQ-151 vzdáleně podobal osmibitovému počítači Apple II, který se shodou okolností taktéž používal ve školství, tentokrát však v USA. Po technologické stránce však nemohl IQ-151 se svým protějškem navrženým samotným Stevem „Wozem“ Wozniakem soutěžit.

6. Zásuvné moduly dostupné pro mikropočítač IQ-151

řekli o IQ-151: „We had this monster in school too. It had different graphics and text pages, so until you dont reset graphics, it was over the text you typed. Bad, bad computer. It produced A LOT of heat, when it was rainy day and some people came to school in wet clothes, put them on the back of this metal monster to dry it.“

V předchozích kapitolách jsme se několikrát zmínili o jakýchsi tajemných „zásuvných modulech“. Jednalo se o jednu z nejlepších vlastností architektury počítačů IQ-151, protože se pomocí zásuvných modulů daly tyto počítače rozšiřovat o další funkcionalitu, v mnoha ohledech podobně jako na Západě počítače Apple II. Počítač IQ-151 obsahoval pět pozic, do kterých bylo možné moduly zasouvat, ovšem v jeho prvních verzích se kvůli již zmíněným problémům s napájením mohlo použít pouze menší množství modulů současně. Většina modulů sice obsahovala pouze paměťové čipy EPROM, ovšem některé moduly na sobě měly i další obvody, takže například umožňovaly připojení různých periferních zařízení – plotteru, tiskárny, disketové jednotky nebo dokonce dálnopisu. Téměř povinný byl modul VIDEO 32 či VIDEO 64, který zajišťoval zobrazení textů na obrazovce, se samotným počítačem byl navíc dodáván i modul BASIC 6 a později BASIC G. Pravděpodobně nejzajímavější byl modul nazvaný GRAFIK, který počítač IQ-151 rozšiřoval o možnosti zobrazení monochromatické grafiky v rozlišení 512×256 bodů, pozdější verze též podporovaly barevnou grafiku.

pc10511

Obrázek 11: Některé často používané zásuvné moduly – VIDEO 32 pro zobrazení textu a podporu generování obrazu, GRAFIK pro podporu grafického režimu a BASIC G obsahující mj. i příkazy pro tvorbu grafiky.

V následující tabulce jsou vypsány nejznámější moduly, které byly pro počítače IQ-151 dostupné:

Název modulu Popis modulu
VIDEO 32 modul pro zobrazení textu s 32 sloupci a 32 řádky. Každý znak měl rozlišení 6×8 bodů
VIDEO 64 modul pro zobrazení textu s 64 sloupci a 32 řádky se stejným rozlišením řádků, jako u předchozího mo­dulu
BASIC 6 základní verze BASICu
BASIC G verze BASICu rozšířená o grafické příkazy
GRAFIK podpora pro monochromatickou grafiku v rastru 512×256 bodů
Amos/Pascal (16/32kB) tento modul si popíšeme příště
Amos/Assembler taktéž tento modul bude popsán v další části
Floppy pro připojení jednotky PFD 251
Disc2 8" floppy
Staper různé standardní periferie (čtečka/děrovačka pásky + tiskárna)
Sestyk/Sestyk9 sériový port
SERI „síťová karta“ pro zapojení do sítě FelNet
KZD pro připojení jednotky KZD 1
DLPS pro připojení dálnopisu
Universal umožňující zhotovení interface dle potřeby, jehož součástí je i nástavec na opravy
Robot pro připojení stavebnice z mechaniky
Milivoltmetr modul pro přenos výsledků elektrických měření do počítače
MS151,MS151A modul pro plotter XY4130
Minigraf modul pro plotter Minigraf 0507
GamaCentrum modul pro tiskárnu Gamacentrum 01/02
pc10512

Obrázek 12: Ještě jeden pohled na zadní část skříně počítače IQ-151 s trojicí nainstalovaných zásuvných modulů.

CS24_early

7. Obsah následující části seriálu

V následující části seriálu o architekturách počítačů dokončíme popis československého osmibitového mikropočítače IQ-151. Budeme se zabývat především operačními systémy AMOS a MIKROS, které z tohoto po mnoha stránkách špatně navrženého počítače vytvořily systém skutečně použitelný ve školství pro výuku programování. Především operační systém AMOS byl poměrně jedinečný i při porovnání s osmibitovými počítači vyráběnými v USA či západní Evropě. Taktéž si řekneme, jakým způsobem se na počítači IQ-151 generoval obraz v modulech VIDEO 32, VIDEO 64 a GRAFIK.

8. Odkazy na Internetu

  1. IQ 151
    http://osmi.tar­bik.com/cssr/iq­151.html
  2. „Domácí počítače“ nedávné minulosti
    http://www.fi­.muni.cz/usr/jku­cera/pv109/xkr­ejcir.htm
  3. ZPA: IQ-151
    http://www.ho­mecomputer.de/pa­ges/easteurope_cz­.html#iq151
  4. Zrození IQ-151
    http://www.iq151­.net/index.htm
  5. Wikipedia EN: IQ 151
    http://en.wiki­pedia.org/wiki/IQ151
  6. Wikipedia CZ: IQ 151
    http://cs.wiki­pedia.org/wiki/IQ151
  7. Old Computers – IQ 151
    http://www.old-computers.com/MU­SEUM/computer­.asp?st=1&c=1045
  8. Muzeum československých mikropočítačů
    http://cs-pocitace.ic.cz/
  9. Počítače PMD 85
    http://balek.v­.sweb.cz/cs%20po­citace/8bity/pmd85­.htm
  10. Muzeum starého hardwaru a počítačů
    http://hardwa­re.najd.cz/nej­.php
  11. Archive.Free8bit­.net (archivy her a dalších aplikací)
    http://archive­.free8bit.net/in­dex.php?ACTION=1004
  12. Emulation.Fre­e8bit.net (emulátory osmibitů)
    http://emulati­on.free8bit.net/
  13. Stručná historie počítače IQ150/IQ151
    http://www.iq151­.net/history.htm
  14. Didaktik Alfa 1
    http://osmi.tar­bik.com/cssr/di­daktik_alfa.html
  15. Didaktik
    http://en.wiki­pedia.org/wiki/Di­daktik
  16. Alfy mali vo výbave i sovietske televízory „Junost“
    http://bombara­.blog.sme.sk/c/205503­/Alfy-mali-vo-vybave-i-sovietske-televizory-Junost.html
  17. Hlípa
    http://pmd85.djb-studios.com/wi­ki/Hlípa
  18. Video s řešením hry Hlípa
    http://pmd85.djb-studios.com/w/me­dia/hlipa-riesenie.avi
  19. Urob si sám PMD-85
    http://pmd85.to­pindex.sk/
  20. Stránky Martina „Schotka“ o PMD 85, jeho klonech i emulátorech
    http://www.scho­tek.cz/pmd/in­dex.htm

Byl pro vás článek přínosný?

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.