PDP-11 a SMEP: Systém Malých Elektronických Počítačů

Pavel Tišnovský 27. 10. 2009

Počítače PDP-11 firmy Digital nebyly populární pouze v USA, ale i v mnoha dalších zemích, včetně států RVHP. Právě v zemích sdružených v RVHP vznikla celá řada počítačů patřících do produktové řady SMEP neboli Systému malých elektronických počítačů, které byly kompatibilní s vybranými modely PDP-11.

Obsah

1. PDP-11 a SMEP (Systém malých elektronických počítačů)

2. Základní technické parametry počítačů SMEP

3. Model SM 3/20

4. Model SM 4/20

5. Model SM 52/11

6. Model SM 52/12

7. Sběrnice Unibus

8. Literatura

9. Odkazy na Internetu

1. PDP-11 a SMEP (Systém malých elektronických počítačů)

V předchozí části článku o historii mikropočítačů navrhovaných a vyráběných firmou Digital Equipment Corporation (DEC) jsme si mj. popsali základní parametry počítače PDP-11, na němž byl Kenem Thompsonem a Dennisem Ritchiem vyvinut programovací jazyk C, včetně základních knihoven, jejichž API je mnohdy využíváno i v moderním ANSI/ISO C. Právě v programovacím jazyce C byla posléze napsána nová verze jádra operačního systému Unix (původní Unixové jádro bylo totiž naprogramováno s využitím makroassembleru minipočítače PDP-7, nikoli vyššího programovacího jazyka). Počítač PDP-11 však nebyl populární pouze v USA, ale i v mnoha dalších zemích. Jeho architekturou a instrukční sadou se dokonce inspirovali i ve státech RVHP (do níž mj. patřily země střední a východní Evropy a Sovětský svaz), kde posloužil jako základ pro návrh minipočítačů řady SMEP, neboli Systému malých elektronických počítačů.

2. Základní technické parametry počítačů SMEP

V zemích RVHP existovalo poměrně velké množství výrobců těchto minipočítačů i výrobců periferních zařízení, které se k těmto počítačům dala připojit přes universální sběrnici nazvanou příznačně Unibus. Mezi výrobci figurovaly i podniky z ČSSR, NDR, Bulharska, Maďarska a samozřejmě i SSSR. V následujících kapitolách si popíšeme některé modely počítačové řady SMEP 1 a SMEP 2 vyráběné v ČSSR. Do řady SMEP 1 jsou zařazeny minipočítače SM 3/20 a SM 4/20, v modelové řadě SMEP 2 pak minipočítače SM 52/11 a SM 52/12 (inspirovaný VAXem) i mikropočítače SM 50/40 a SM 50/50 (tyto mikropočítače jsou založeny na osmibitovém resp. šestnác­tibitovém procesoru a v mnoha ohledech se odlišují od zbylých systémů). Základní technické parametry vybraných minipočítačů z obou zmíněných řad jsou vypsány v následující tabulce (kapacitou operační paměti je myšlen maximální objem operační paměti, protože některé počítače mohly mít z cenových důvodů pouze poloviční či dokonce jen čtvrtinovou kapacitu paměťových bloků):

Model SM 3/20 SM 4/20 SM 52/11 SM 52/12
Odvozeno od PDP 11/10 PDP 11/40 PDP 11/50 VAX 11/780
Bitová šířka 16 16 16 32
Operační paměť (max.kapacita) 64 256 256 4096
Vyrovnávací paměť – cache (kB) 0 0 2 4/8
Cyklus operační paměti (ns) 500 850/1000 850 800
Cyklus vyrovnávací paměti (ns) 80 ?
Výpočetní rychlost (MIPS) 0,3 0,42 2,8 1,0
Počet instrukcí 76 84 132 248
FP instrukce ne ano ano ano

3. Model SM 3/20

Základní model minipočítačů řady SMEP 1 je představován typem SM 3/20 odvozeným od původního stroje PDP 11/10. Jednalo se o počítač vybavený procesorem, jehož aritmeticko-logická jednotka zpracovávala operandy o šířce šestnácti bitů, což je stejná šířka, jakou disponovala ALU v počítači PDP-11. Počítač SM 3/20 byl sestaven z několika modulů připojených na společnou sběrnici: procesoru, operační paměti, řídicí jednotky vnějších pamětí a adaptorů pro vstupní a výstupní jednotky. Procesor obsahoval osm registrů, přičemž šest těchto registrů bylo univerzálních (sloužily buď pro přímé uložení hodnot operandů, adres operandů popř. indexů), sedmý registr sloužil pro uložení ukazatele vrcholu zásobníku (SP – stack pointer) a poslední registr byl využit jako čítač instrukcí (PC – program counter). Instrukční sada procesoru počítače SM 3/20 bude ve svých základních rysech popsána v navazujících kapitolách.

Operační paměť mohla být sestavena buď z polovodičových paměťových modulů nebo se mohlo jednat o feritovou paměť (cyklus operační paměti, a tím i doba čtení a zápisu dat se však v tomto případě téměř zdvojnásobila). Jednalo se o minipočítač, ke kterému se, na rozdíl od dalších modelů, běžně nedodával specializovaný procesor pro provádění operací s pohyblivou řádovou čárkou (FPU – floating point unit, obdoba matematických koprocesorů), takže se tyto operace musely řešit pomocí podprogramů, což je samozřejmě mnohem pomalejší než využití specializovaných obvodů. Mezi zařízení, které bylo možné k SM 3/20 i k dalším modelům připojit, patřily například modemy, tiskárny, dálnopisy, displeje, snímače a děrovače děrné pásky i děrných štítků. Vnější paměti byly představovány magnetickými pásky a popř. diskovými paměťmi, jejichž kapacita dosahovala řádově jednotek megabajtů (typicky 5 MB).

4. Model SM 4/20

Na výše popsaný model SM 3/20 navazoval výkonnější typ počítače – SM 4/20 – který byl odvozen od modelu PDP 11/40 firmy Digital. Tento minipočítač má čtyřikrát větší kapacitu operační paměti než jeho předchůdce (v případě použití feritových pamětí pouze dvojnásobnou kapacitu), zvýšenou rychlost procesoru o cca 50% a v neposlední řadě také rozšířený repertoár strojových instrukcí. Pro provádění různých vědeckotechnických výpočtů bylo důležité, že původní aritmeticko-logická jednotka byla doplněna matematickým procesorem umožňujícím provádět výpočty s numerickými hodnotami uloženými v systému pohyblivé řádové čárky. Matematický procesor dokázal zpracovávat slova o šířce 32 nebo 64 bitů, tj. hodnoty uložené v jednoduché i dvojité přesnosti (v céčku by tyto hodnoty měly typy float a double). Aritmetické operace byly prováděny s šesti univerzálními registry, z nichž každý měl šířku 64 bitů. Zajímavé je, že operační paměť byla vybavena obvody pro detekci dvojnásobné chyby (inverzi dvou bitů) a korekci jednoduché chyby (inverze jednoho bitu) při čtení dat.

Podobně jako u dalších počítačů řady SMEP 1 a SMEP 2, byly i v tomto stroji všechny moduly navrženy tak, aby byly kompatibilní s původním minipočítačem PDP-11 firmy Digital. Testy kompatibility se prováděly jednoduše – modul se připojil k PDP-11 a právě na tomto „etalonu“ se funkčnost modulu odzkoušela. Díky tomu byla umožněna kooperace mezi různými výrobci modulů a současně se zaručila i dostatečná kvalita modulů.

Většina strojových instrukcí zpracovávaných procesorovou jednotkou počítačů SMEP má šířku 16 bitů. Instrukce lze podle jejich formátu rozdělit do pouhých čtyřech skupin, což mj. ukazuje na velkou ortogonalitu instrukční sady (viz též předchozí část tohoto článku). Kód instrukce může mít délku 4 bity, 7 bitů, 8 bitů či 10 bitů s formáty:

  • 10 bitů pro kód instrukce + 6 bitů pro první (jediný) operand
  • 4 bity pro kód instrukce + 6 bitů pro první operand + 6 bitů pro druhý operand
  • 7 bitů pro kód instrukce + 3 bity pro číslo registru + 6 bitů pro adresu paměti
  • 8 bitů pro kód instrukce + osmibitová hodnota posunu u skokové instrukce

5. Model SM 52/11

Počítač SM 52/11 je zástupcem výkonnější řady minipočítačů označovaných zkratkou SMEP 2. U tohoto počítače sice byla zachována zpětná programová kompatibilita s výše popsanými minipočítači řady SMEP 1, ovšem došlo k poměrně významným změnám celé architektury, což se příznivě projevilo na vyšší výpočetní rychlosti a taktéž zvýšené spolehlivosti. První poměrně významnou změnou bylo přidání vyrovnávací paměti s kapacitou dvou kilobajtů mezi operační paměť a aritmeticko-logickou jednotku (ALU). Vzhledem k tomu, že doba přístupu k této vyrovnávací paměti byla cca desetkrát kratší než doba přístupu k paměti operační, bylo možné urychlit výpočty prováděné v ALU nezávisle na tom, že technologie operačních pamětí zůstala obdobná jako u výše zmíněného počítače SM 4/20. Operační paměť byla opět vybavena obvody pro detekci dvojité chyby a korekci chyby jednoduché, navíc byl přítomen obvod, který rozšiřoval adresový rozsah z šestnácti bitů na bitů osmnáct a umožnil tak přímou adresaci celých 256 kB operační paměti.

Celý minipočítač SM 52/11 byl umístěn v poměrně kompaktní skříni o rozměrech cca 97×150×32 cm (šířka×výška×hlou­bka), v níž byly standardně nainstalovány dvě diskové paměti, každá s kapacitou 5 MB, dvě disketové mechaniky, pásková paměť, procesorová jednotka, operační paměť, zdroje a samozřejmě nezbytná ventilace. Terminál, tj. displej s klávesnicí, byl umístěn na samostatném stolku, stejně jako jehličková tiskárna.

6. Model SM 52/12

Dalším minipočítačem patřícím do produktové řady SMEP 2 je počítač nesoucí označení SM 52/12 navržený ve VUVT Žilina (dnes Slovensko) a vyráběný v ZVT Banská Bystrica (opět Slovensko). Jedná se o počítač s procesorovou jednotkou zpracovávající slova o šířce 32 bitů. Architektura tohoto počítače je odvozena od systému VAX 11/780 firmy Digital, což znamená, že je v několika ohledech odlišná od předchozích modelů. Kromě větší bitové šířky zpracovávaných údajů umožňuje procesorová jednotka současné provádění až čtyř operací. Vzhledem k tomu, že adresy jsou reprezentovány slovem o šířce 32 bitů, lze operační paměť (přesněji řečeno paměť virtuální, neboť se jednalo o jeden z prvních systémů s hardwarovou podporou virtuální paměti) rozšířit až na kapacitu 4 GB. Pro urychlení přístupu k často používaným datům se do systému mohla nainstalovat i rychlá vyrovnávací paměť o kapacitě 4 kB nebo 8 kB.

Řadič procesoru byl mikroprogramo­vatelný, což umožnilo, aby instrukční sada byla poměrně rozsáhlá komplikovaná (ve své podstatě se jedná o klasický CISC procesor) a současně byla zachována relativně malá složitost řadiče. Šířka jedné mikroinstrukce je rovna 96 bitům a organizace řídicí paměti je 8192 × 96 bitů. Zajímavé je, že už na tomto systému byly podporovány čtyři privilegované režimy podobné těm implementovaným i na architektuře i386 (ne všechny operační systémy však využívají všechny čtyři režimy). Nejvyšší úroveň privilegií mělo jádro operačního systému, druhou úroveň ovladače souborových systémů, třetí úroveň (druhou nejnižší) procesy spouštěné superuživatelem a konečně nejnižší úroveň procesy spouštěné běžnými uživateli. Spolu s podporou virtuální paměti tak VAX a tím pádem i minipočítač SM 52/12 představoval předchůdce moderního osobního počítače či serveru.

7. Sběrnice Unibus

Prakticky všechny moduly minipočítačů řady SMEP byly navzájem propojeny univerzální společnou sběrnicí nazvanou Unibus, jenž byla opět navržena firmou Digital. Tato sběrnice umožňovala přesuny dat organizovaných do šestnáctibitových slov s adresováním osmnáctibitovou adresou. Přesuny dat mohl provádět jak samotný procesor, tak i některý z modulů, který o přenos dat zažádal – jednalo se například o přenos dat mezi vnější a operační pamětí pomocí přímého přístupu do paměti (Direct Memory Access – DMA), do kterého procesor nemusel zasahovat. Celkový počet modulů, který mohl být na jeden segment sběrnice připojen, byl roven dvaceti, přičemž délka vodičů představujících sběrnici musela být rovna maximálně třinácti metrům. Pokud bylo zapotřebí připojit další moduly (externí paměti, měřicí přístroje atd.), musel se připojit další segment sběrnice oddělený zesilovači, které současně pracovaly i jako tvarovače signálů, protože zajišťovaly i obnovení zkosení hran binárních signálů atd.

Sběrnice Unibus byla tvořena 56 signálovými vodiči rozdělenými do několika skupin:

  • 16 datových vodičů umožňujících obousměrný přenos šestnáctibito­vých slov
  • 18 adresových vodičů, celkem bylo možné na každém zařízení adresovat až 256 kB
  • 2 vodiče sloužící pro oznámení poruchy, například při výpadku napájení (AC low, DC low)
  • 4 vodiče určené pro řízení přenosu dat
  • 2 vodiče pro obousměrný přenos paritního bitu (detekce jednoduché chyby) a řízení parity
  • 14 vodičů určených pro výběr zařízení a přenos přerušovacích signálů

Zařízení připojovaná na sběrnici Unibus byla vybavena dvojicí konektorů s 36 piny, což dohromady dává 72 pinů. V předchozím odstavci jsme si řekli, že je použito 56 signálových vodičů, protože zbylé vodiče (16) jsou použity pro rozvod napájecího napětí.

8. Literatura

  1. Krištoufek Karel: Kurs číslicových počítačů a mikropočítačů
  2. Blatný J. a kol.: Číslicové počítače
  3. Krištoufek Karel a kol.: Výpočetní a řídicí technika
  4. Marko Š., Štěpánek M.: Operačné systémy minipočítačov SMEP

9. Odkazy na Internetu

  1. Výpočtové stredisko SAV: Systém malých elektronických počítačov
     http://www.vs.sav.sk/?…
  2. Výpočtové stredisko SAV: Jednotný systém elektronických počítačov
     http://www.vs.sav.sk/?…
  3. Unibus
    http://en.wikipedia.org/wiki/Unibus
  4. VAX
    http://en.wikipedia.org/wiki/VAX
  5. The Development of the C Language
    http://cm.bell-labs.com/…r/chist.html
  6. B (programming language)
    http://en.wikipedia.org/wiki/B_(programming_lan­guage)
  7. Users' Reference to Bo
    http://cm.bell-labs.com/…r/kbman.html
  8. THE PROGRAMMING LANGUAGE B
    http://cm.bell-labs.com/…/bintro.html
  9. BCPL
    http://en.wikipedia.org/wiki/BCPL
  10. Ken Thompson
    http://en.wikipedia.org/…en_Thompson_(computer_pro­grammer)
  11. Dennis Ritchie
    http://en.wikipedia.org/…nnis_Ritchie
  12. Brian Kernighan
    http://en.wikipedia.org/…an_Kernighan
  13. Douglas McIlroy
    http://en.wikipedia.org/…glas_McIlroy
  14. M. Douglas McIlroy, Adjunct Professor
    http://www.cs.dartmouth.edu/~doug/
  15. PDP-7
    http://en.wikipedia.org/wiki/PDP-7
  16. PDP-10
    http://en.wikipedia.org/wiki/PDP-10
  17. PDP-11
    http://en.wikipedia.org/wiki/PDP-11
  18. Road to Mac OS X Leopard Server: Collaborative Info Sharing Services
     http://www.appleinsider.com/…ervices.html
  19. PDP-1 Web Pages
    http://www.pdp-1.org/
  20. PDP-1 Restoration Process
    http://pdp-1.computerhistory.org/pdp-1/
  21. Programmed Data Processor
    http://en.wikipedia.org/…ta_Processor
  22. Digital Equipment Corporation
    http://en.wikipedia.org/…_Corporation
  23. PDP-1
    http://en.wikipedia.org/wiki/PDP-1
  24. Ancient Computing Machinery
    http://www.ee.ryerson.ca/…p/index.html
  25. Spacewar – The first computer video game. Really!
     http://www3.sympatico.ca/…pacewar.html
  26. Programmed Data Processor-1 Handbook
    http://www.dbit.com/…p1/pdp1.html
Vitalia.cz: Mražené ryby z Makra byly falšované

Mražené ryby z Makra byly falšované

Vitalia.cz: Před, nebo po snídani? Kdy je lepší čistit si zuby

Před, nebo po snídani? Kdy je lepší čistit si zuby

DigiZone.cz: Budoucnost video služeb na internetu

Budoucnost video služeb na internetu

Vitalia.cz: Syndrom PC vidění: stačí dvě hodiny denně

Syndrom PC vidění: stačí dvě hodiny denně

120na80.cz: Velký přehled: 7 očkování proti exotickým nemocem

Velký přehled: 7 očkování proti exotickým nemocem

DigiZone.cz: Konec geoblokace online médií?

Konec geoblokace online médií?

Vitalia.cz: Děti jsou sportem opotřebované

Děti jsou sportem opotřebované

Vitalia.cz: SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

Podnikatel.cz: Alza radí e-shopům, jak opustit Heureku

Alza radí e-shopům, jak opustit Heureku

Lupa.cz: Jak EET vidí ajťák aneb Drahá vražda UX

Jak EET vidí ajťák aneb Drahá vražda UX

DigiZone.cz: ČT neskončí s nízkým rozlišením podle plánu

ČT neskončí s nízkým rozlišením podle plánu

DigiZone.cz: Šlágr TV dostala pokutu 100 000 Kč

Šlágr TV dostala pokutu 100 000 Kč

DigiZone.cz: UPC umí televizi sedm dní nazpět

UPC umí televizi sedm dní nazpět

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

Lupa.cz: Kam si doma dáte internet věcí? Na polici?

Kam si doma dáte internet věcí? Na polici?

DigiZone.cz: Šlágr TV: pokuta 100 tisíc za on-line

Šlágr TV: pokuta 100 tisíc za on-line

DigiZone.cz: DAB+ versus FM, ČRo a ČRa proti APSV

DAB+ versus FM, ČRo a ČRa proti APSV

Vitalia.cz: Taky ji kupujete? Je šizená

Taky ji kupujete? Je šizená

Vitalia.cz: Dnešní patolog o mrtvolu téměř nezavadí

Dnešní patolog o mrtvolu téměř nezavadí

Root.cz: Cenzura internetu prošla, i přes pochyby senátorů

Cenzura internetu prošla, i přes pochyby senátorů