ByteFest 2013. FASTPort Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům aneb Jak připojit koprocesor *) inteligentní karta =

Slides:



Advertisements
Podobné prezentace
Elektromagnetická slučitelnost. Název projektu: Nové ICT rozvíjí matematické a odborné kompetence Číslo projektu: CZ.1.07/1.5.00/ Název školy:
Advertisements

Kuchařka na práci s mnohočleny Matematika pro ZŠ Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je David Salač. Dostupné z Metodického portálu.
Název SŠ:SOU Uherský Brod Autor:Ing. Jan Weiser Název prezentace (DUMu): Komunikace řídících jednotek II. Tematická oblast:Speciální elektrická zařízení.
Anotace Materiál je určen pro výuku předmětu Motorová vozidla u studijního oboru Autotronik a příbuzných učebních a studijních autooborů. Inovuje výuku.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
1.4 Datová rozhraní.  slouží pro připojení paměťových medii nebo jejich mechanik  rozeznáváme 3 typy : IDE sériová ATA SCSI.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Informatika pro 5. ročník Úvod do světa počítačů - Hardware.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Prostředí internetu Číslo DUM: III/2/VT/2/2/27 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Číslo projektu CZ.1.07/1.5.00/ Název školy Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64 Název materiálu VY_32_INOVACE_IVT_1_KOT_18_PORTY.
Maticové počítače. Při operacích s maticí se větší počet prvků matice zpracovává současně a to při stejné operaci. Proto se pro tyto operace hodí nejlépe.
POS 40 – 83. Základy datové komunikace - MULTIPLEX Kmitočtovým dělením (FDMA) – Přidělení kmitočtu jednotlivým uživatelům = šířka pásma se rozdělí na.
Experimentální metody oboru – Pokročilá tenzometrie – Měření vnitřního pnutí Další využití tenzometrie Měření vnitřního pnutí © doc. Ing. Zdeněk Folta,
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně AUTOR: Ing. Oldřich Vavříček NÁZEV: Podpora výuky v technických oborech TEMA: Základy elektrotechniky.
Číslo projektu školy CZ.1.07/1.5.00/ Číslo a název šablony klíčové aktivity III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo materiáluVY_32_INOVACE_OdP_S2_07.
Název školyZákladní škola praktická Rožnov pod Radhoštěm Číslo projektuCZ / / Číslo materiáluVY_32_INOVACE_225 AutorMgr. Romana Rybiařová.
1.3 Sběrnice (bus). sběrnice  sběrnice = skupina vodičů  slouží pro propojení a komunikaci jednotlivých obvodů a přídavných karet  činnost na sběrnicích.
Technologie počítačů 4. Sběrnice © Milan Keršlágerhttp:// Obsah: ● ISA, EISA, VL-BUS,
Autor:Ing. Pavel Brož Předmět/vzdělávací oblast:Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
Principy Základních registrů Ing. Ondřej Felix, CSc.
 Anotace: Materiál je určen pro žáky 9. ročníku. Slouží k naučení nového učiva. Popis principu elektromotoru, princip činnosti elektromotoru s komutátorem,
PAMĚTI Paměť počítače je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměť počítače je zařízení, které slouží k ukládání.
Vyhláška č. 326/2006 Sb., o atestačním řízení pro elektronické nástroje Mgr. Martin Plíšek.
Topologie lokálních sítí
Rozhraní a porty Jsou to prvky, které vytvářejí rozhraní mezi počítačem a periférním zařízením.
Senzory pro EZS.
Hardware číslicové techniky
Inf Počítač a lidé s handicapem
Odborný výcvik ve 3. tisíciletí
Matematika 3 – Statistika Kapitola 4: Diskrétní náhodná veličina
Správa paměti - úvod Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně
Číslicová technika.
ČÍSLO PROJEKTU CZ.1.07/1.5.00/ ČÍSLO MATERIÁLU 1 – Množiny – teorie
ELEKTRONICKÉ ZABEZPEČOVACÍ SYSTÉMY
Elektromotor a jeho využití
Číslo projektu CZ.1.07/1.5.00/ Číslo materiálu
Hardware číslicové techniky
Financováno z ESF a státního rozpočtu ČR.
Monitory Monitor je základní výstupní elektronické zařízení sloužící k zobrazování textových a grafických informací.
Jedno-indexový model a určení podílů cenných papírů v portfoliu
Jednočipové počítače – aplikace I2C sběrnice
Základní jednorozměrné geometrické útvary
Maďarská metoda Kirill Šustov Michal Bednář Stanislav Běloch
Číslicová technika.
Poměr v základním tvaru.
Schvalovací proces + hodnoticí kritéria
1. ročník oboru Mechanik opravář motorových vozidel
USMĚRŇOVAČE V NAPÁJECÍCH OBVODECH
Kvadratické nerovnice
Výukový materiál zpracován v rámci projektu EU peníze školám
BIBS Informatika pro ekonomy přednáška 2
Informatika pro ekonomy přednáška 8
Přídavná zařízení.
Informatika Počítačové sítě.
Programovatelné automaty (Programmable logic controllers – PLC)
Provozováno Výzkumným ústavem pedagogickým v Praze.
Základní komponenty počítače
Materiál byl vytvořen v rámci projektu
Remote login.
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Základní statistické pojmy
Text zápatí (edituje se v menu Vložení / Záhlaví a zápatí)
Přídavné karty.
Digitální učební materiál
Poměr v základním tvaru.
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr
Lineární funkce a její vlastnosti
Hromadné dokumenty opakující se pro kolekci osob
Informatika Počítačové sítě.
Transkript prezentace:

ByteFest 2013

FASTPort Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům aneb Jak připojit koprocesor *) inteligentní karta = karta vybavená vlastním procesorem J. Němeček

úvodní problém: Jak připojit k osmibitovému počítači periférii vybavenou vlastním procesorem pracujícím na odlišné frekvenci, popřípadě i majícím odlišnou architekturu: ● co nejrychleji (tj. s maximální datovou propustností) ● co nejšetrněji k prostředkům hostitelského počítače

další požadavky: ● univerzální řešení, ne jen pro jeden konkrétní projekt ● rozšiřující karty zasunuté v backplanu připojeném k počítači (místo jedné externí periférie v krabičce) ● připojení až 4 karet ● možnost zasunout kartu do libovolného slotu bez nutnosti měnit její nastavení (jumpery apod.)

Výsledné řešení přináší takové množství výhod, že si zaslouží realizaci.

WRITE BUFFER READ BUFFER hostitelský CPU inteligentní periférie Obecný princip použitého řešení:

Výhody použitého řešení: 1. procesory mohou být taktovány zcela nezávisle, komunikace mezi nimi je asynchronní

WRITE BUFFER READ BUFFER hostitelský počítač inteligentní karta s vlastním CPU FastPort Host Bridge CPLD FastPort Bus FastPort Slave Bridge realizací tohoto řešení vznikla sběrnice FastPort...

hostitelský počítač FastPort Host Bridge CPLD WRITE BUFFER READ BUFFER inteligentní karta s vlastním CPU CPLD FastPort Bus FastPort Slave Bridge WRITE BUFFER READ BUFFER inteligentní karta s vlastním CPU CPLD WRITE BUFFER READ BUFFER inteligentní karta s vlastním CPU CPLD WRITE BUFFER READ BUFFER inteligentní karta s vlastním CPU CPLD FastPort Slave Bridge...pro připojení až 4 karet

Důležité vlastnosti výsledného řešení ● samotná sběrnice („FastPort Bus“) je platformně nezávislá, její signály neodpovídají konkrétnímu CPU, ale generuje je CPLD na straně hostitelského počítače („FastPort Host Bridge“), odpovědi generuje CPLD na straně karty („FastPort Slave Bridge“) ● oba buffery mohou mít libovolnou velikost (dokonce každý jinou). Minimum je 1 byte, (teoretické) maximum 64KB. ● „Masterem“ sběrnice FASTPort je vždy hostitelský počítač, karta se nesmí pokoušet vyvolat komunikaci - „odpovídá pouze když je tázána“. Dává ale najevo stavovým signálem, že má data k odeslání.

Výhody použitého řešení: 1. procesory mohou být taktovány zcela nezávisle, komunikace mezi nimi je asynchronní 2. procesory mohou mít odlišnou architekturu 3. velikosti bufferů na kartě mohou být přizpůsobeny jejímu účelu 4. není zvětšována délka lokální sběrnice, protože všechny signály jsou nově buzeny

hostitelský počítač inteligentní karta s vlastním CPU FastPort Host Bridge CPLD FastPort Slave Bridge /SEL - select karty C/D - command/data mode R/W - read/write D0..D7 - data inteligentní karta s vlastním CPU CPLD /RESET /WBF - Write Buffer Full /RBE - Read Buffer Empty signály sběrnice FASTport společné signály: individuální signály:

hostitelský počítač inteligentní karta s vlastním CPU CPLD /SEL0 C/D - command/data mode R/W - read/write D0..D7 - data inteligentní karta s vlastním CPU CPLD /RESET - host reset /WBF0 /RBE0 inteligentní karta s vlastním CPU CPLD /WBF /RBE inteligentní karta s vlastním CPU CPLD inteligentní karta s vlastním CPU CPLD inteligentní karta s vlastním CPU CPLD /RBE1 společné signály: /WBF1 /SEL1 /RBE2 /WBF2 /SEL2 inteligentní karta s vlastním CPU inteligentní karta s vlastním CPU CPLD karta #3 CPLD /RBE3 /WBF3 /SEL3 karta #2 karta #1 karta #0 signály pro připojení všech 4 karet: /SEL /WBF /RBE

Výhody použitého řešení: 1. procesory mohou být taktovány zcela nezávisle, komunikace mezi nimi je asynchronní 2. procesory mohou mít odlišnou architekturu 3. velikosti bufferů na kartě mohou být přizpůsobeny jejímu účelu 4. není zvětšována délka lokální sběrnice, protože všechny signály jsou nově buzeny 5. každá karta může pracovat v libovolném slotu bez nutnosti rekonfigurace 6. všechny karty sdělují stav svých bufferů najednou

WRITE BUFFER READ BUFFER CPU na kartě FastPort Host Bridge CPLD FastPort Bus FastPort Slave Bridge CPU hostitelského počítače 1. druh 2. druh - komunikace s logikou na kartě 3. druh - komunikace s CPU na kartě Jak to vlastně funguje Používají se 3 druhy komunikace: 1. s Host Bridgem 2. se Slave Bridgem 3. se Slave CPU

FastPort - druhy komunikace 1. komunikace s Host Bridgem (logikou na straně hostitelského počítače) - slouží k výběru karty a nastavení režimu komunikace s ní (při zápisu) a ke zjištění stavu karet (při čtení) 2. komunikace se Slave Bridgem (logikou na kartě) - slouží pro zjištění ID a stavu karty a stavu bufferů (při čtení) a ovládání karty bez účasti jejího CPU (např. reset konkrétní karty) 3. komunikace se „Slave CPU“ - procesorem na kartě - hlavní komunikace s kartou - odesílání a příjem dat

C/D Control (zápis) Status (čtení) WBF S1S0 WBF2WBF1WBF0RBE0RBE1RBE2RBE3 Control/Status Port Data Port command/datacard select zápis: přepis signálů D0..D7 lokální sběrnice na FastPort Bus jako FP_D0.. FP_D7 čtení: přepis signálů FP_D0.. FP_D7 na lokální sběrnici jako D0..D7 Hostitelský počítač používá k práci s FASTPortem POUZE dva I/O porty: 1. komunikace s Host Bridgem

Výhody použitého řešení: 1. procesory mohou být taktovány zcela nezávisle, komunikace mezi nimi je asynchronní 2. procesory mohou mít odlišnou architekturu 3. velikosti bufferů na kartě mohou být přizpůsobeny jejímu účelu 4. není zvětšována délka lokální sběrnice, protože všechny signály jsou nově buzeny 5. každá karta může pracovat v libovolném slotu bez nutnosti rekonfigurace 6. všechny karty sdělují stav svých bufferů najednou 7. na straně hostitelského počítače jsou potřeba POUZE 2 VOLNÉ I/O PORTY 8. stav bufferů všech karet se zjistí jedinou I/O operací

2. komunikace se Slave Bridgem (logikou na kartě) Pokud je předchozím zápisem na Control Port nastaven 7. bit (C/D) na 1, bude v log.1 i signál C/D sběrnice FastPort a logika na kartě bude v tzv. Command/Response režimu. V tomto režimu je bajt vyslaný na vodiče FP_D0.. FP_D7 (zápisem na Data Port) brán jako jednobajtový příkaz (Command) pro logiku na kartě (a není předán procesoru). Při následujícím čtení z Data Portu logika na kartě vystaví na vodiče FP_D0.. FP_D7 jednobajtovou odpověď (Response) na tento příkaz. Ani příkaz, ani odpověď se nezapisují do bufferů a CPU na kartě se o nich vůbec nedozví. Takto je možné vyžádat od logiky na kartě: ● sdělení ID autora/výrobce a modelu karty ● sdělení počtu volných bajtů ve Write Bufferu ● sdělení počtu čekajících bajtů dat v Read Bufferu ● sdělení stavu CPU na kartě ● provedení resetu CPU na kartě

Výhody použitého řešení: 1. procesory mohou být taktovány zcela nezávisle, komunikace mezi nimi je asynchronní 2. procesory mohou mít odlišnou architekturu 3. velikosti bufferů na kartě mohou být přizpůsobeny jejímu účelu 4. není zvětšována délka lokální sběrnice, protože všechny signály jsou nově buzeny 5. každá karta může pracovat v libovolném slotu bez nutnosti rekonfigurace 6. všechny karty sdělují stav svých bufferů najednou 7. na straně hostitelského počítače jsou potřeba pouze 2 volné I/O porty 8. stav bufferů všech karet se zjistí jedinou I/O operací 9. jednoznačná identifikace typu karty 10. možnost odesílat/přijímat data dávkou, protože víme, kolik místa/dat zbývá 11. možnost zjistit stav CPU na kartě, případně i když je „zatuhlý“ 12. možnost resetovat CPU na jedné kartě, přičemž ostatní tím nejsou ovlivněny

3. komunikace se „Slave CPU“ - procesorem na kartě Pokud je předchozím zápisem na Control Port nastaven 7. bit (C/D) na 0, bude signál C/D sběrnice FastPort v log.0 – režim přenosu dat. V tomto stavu bude bajt zapsaný na Data Port vyslán na FastPort Bus a logikou na vybrané kartě uložen do jejího Write Bufferu, při čtení z Data Portu logika na kartě vybere z Read Bufferu bajt a přes Fast Port Bus ho pošle hostitelskému CPU. Toto probíhá, dokud není Write Buffer zcela zaplněn, resp. Read Buffer zcela prázdný. V takovém případě aktivuje logika na kartě signál /WBF, resp. /RBE. Stav těchto signálů může hostitelský CPU zjistit čtením Control/Status Portu a ví, že nemá pokračovat v zápisu, resp. ve čtení dat. Pokud to architektura hostitelského CPU umožňuje, je možné nežádoucí zápis, resp. čtení blokovat - např. v případě procesoru Z80 je při pokusu o zápis při aktivním signálu /WBF aktivován signál /WAIT a zápis je zdržen, dokud se ve Write Bufferu neuvolní místo (totéž platí pro pokus o čtení při aktivním signálu /RBE). Takto je možné např. v případě procesoru Z80 přenášet data nejen po 1 bajtu s průběžným ověřováním příznaků WBF/RBE, ale i dávkou pomocí instrukce pro hromadný vstup/výstup (INIR/OTIR), nebo pomocí DMA přenosu (protože jak INIR/OTIR, tak DMA řadič respektují signál /WAIT).

3. komunikace se „Slave CPU“ (pokračování) Takto je možné předávat data třemi způsoby: 1) po jednom bajtu (před každým přenosem musíme zkontrolovat stavové bity WBF a RBE) 2) zjistit si od logiky na kartě velikost volného místa, resp. množství bajtů k přečtení (pomocí Command/Response komunikace), pak můžeme takové množství dat přenést najednou 3) posílat bezhlavě data na port, protože logika na straně počítače nás přece včas zastaví - nedoporučuje se, hrozí zamrznutí počítače Každý z procesorů (hostitelský CPU i CPU na kartě) může používat libovolný způsob nezávisle na svém protějšku. Logika na straně počítače (Host Bridge) může využívat možnosti konkrétní platformy – např. generovat přerušení, pokud má nějaká karta připravena data pro odeslání do počítače, pokud to hardware a operační systém dané platformy dokáží zpracovat. Tak může jedna a ta samá karta komunikovat s počítačem, který jí posílá data bajt po bajtu (nejpomalejší způsob), stejně jako s počítačem, který jí posílá data DMA přenosem (nejrychlejší způsob). Rozdíl je jen v rychlosti a v ničem jiném.

3. komunikace se „Slave CPU“ (dokončení) Komunikace ve vyšší vrstvě, tedy mezi procesory, se předpokládá po dávkách – možno říci paketech – podle přenosového protokolu, který se připravuje. Tento protokol bude mít dvě části: jakési povinné minimum, kterému musí rozumět KAŽDÁ karta (např. podrobnější identifikace a zjištění stavu karty), a případné volitelné rozšíření, jehož úplný popis musí autor či výrobce karty povinně zveřejnit – což je analogie k vydání ovladačů ke kartě v PC světě (to je prakticky jediný nárok kladený na autora/výrobce karty, nepočítáme-li dodržení elementárních parametrů hardwaru – konektor, rozměry desky apod.).

Výhody použitého řešení: 1. procesory mohou být taktovány zcela nezávisle, komunikace mezi nimi je asynchronní 2. procesory mohou mít odlišnou architekturu 3. velikosti bufferů na kartě mohou být přizpůsobeny jejímu účelu 4. není zvětšována délka lokální sběrnice, protože všechny signály jsou nově buzeny 5. každá karta může pracovat v libovolném slotu bez nutnosti rekonfigurace 6. všechny karty sdělují stav svých bufferů najednou 7. na straně hostitelského počítače jsou potřeba pouze 2 volné I/O porty 8. stav bufferů všech karet se zjistí jedinou I/O operací 9. jednoznačná identifikace typu karty 10. možnost odesílat/přijímat data dávkou, protože víme, kolik místa/dat zbývá 11. možnost zjistit stav CPU na kartě, případně i když je „zatuhlý“ 12. možnost resetovat CPU na jedné kartě, přičemž ostatní tím nejsou ovlivněny 13. procesor v hostitelském počítači (a vlastně i na kartě) může použít nejvýhodnější způsob přenosu, který je pro něj dostupný (využití přerušení, DMA...) 14. kartu je možno použít na libovolné platformě (díky popisu jejího kom. protokolu)

Fyzická realizace Elektrické parametry Host Bridge je realizován 5V-tolerantním CPLD obvodem s úrovní signálů 3.3V, proto úroveň všech signálů sběrnice FastPort je 3.3V. To přináší možnou výhodu do budoucna, protože na kartě proto může být 3.3V logika, která není 5V-tolerantní – což je případ mnoha v současnosti vyráběných obvodů. Na pinech konektoru je vyvedeno napájení +5V a GND. Konektor Je (pouze!) 20-pinový (využito 18 pinů), se standardní roztečí pinů 2,54mm, takže nenáročný na routování (při návrhu DPS). Rozměry desky Budou ještě specifikovány, každopádně budou odvozeny od rozměrů PC karet.

Výhody použitého řešení: 1. procesory mohou být taktovány zcela nezávisle, komunikace mezi nimi je asynchronní 2. procesory mohou mít odlišnou architekturu 3. velikosti bufferů na kartě mohou být přizpůsobeny jejímu účelu 4. není zvětšována délka lokální sběrnice, protože všechny signály jsou nově buzeny 5. každá karta může pracovat v libovolném slotu bez nutnosti rekonfigurace 6. všechny karty sdělují stav svých bufferů najednou 7. na straně hostitelského počítače jsou potřeba pouze 2 volné I/O porty 8. stav bufferů všech karet se zjistí jedinou I/O operací 9. jednoznačná identifikace typu karty 10. možnost odesílat/přijímat data dávkou, protože víme, kolik místa/dat zbývá 11. možnost zjistit stav CPU na kartě, případně i když je „zatuhlý“ 12. možnost resetovat CPU na jedné kartě, přičemž ostatní tím nejsou ovlivněny 13. procesor v hostitelském počítači (a vlastně i na kartě) může použít nejvýhodnější způsob přenosu, který je pro něj dostupný (využití přerušení, DMA...) 14. kartu je možno použít na libovolné platformě (díky popisu jejího kom. Protokolu) 15. úroveň všech signálů je 3.3V -> možnost využít na kartě moderní obvody 16. malý konektor s nízkým počtem pinů

Testování Byl použit počítač ZX Spectrum +2 (jako hostitelský počítač), kartu s vlastním procesorem (Z80 CPU) představovalo ZX Spectrum 48K, oba s připojenou testovací kartou Uniface 1 osazenou CPLD Altera MAX3000A (EPM3128ATC). Signály FastPort Bus procházely mezi oběma kartami přes 20-žilový plochý kabel.

příklad sběrnicové desky (pro ZX Spectrum)

Výhody sběrnice FASTPort 1. procesory mohou být taktovány zcela nezávisle, komunikace mezi nimi je asynchronní 2. procesory mohou mít odlišnou architekturu 3. velikosti bufferů na kartě mohou být přizpůsobeny jejímu účelu 4. není zvětšována délka lokální sběrnice, protože všechny signály jsou nově buzeny 5. každá karta může pracovat v libovolném slotu bez nutnosti rekonfigurace 6. všechny karty sdělují stav svých bufferů najednou 7. na straně hostitelského počítače jsou potřeba pouze 2 volné I/O porty 8. stav bufferů všech karet se zjistí jedinou I/O operací 9. jednoznačná identifikace typu karty 10. možnost odesílat/přijímat data dávkou, protože víme, kolik místa/dat zbývá 11. možnost zjistit stav CPU na kartě, případně i když je „zatuhlý“ 12. možnost resetovat CPU na jedné kartě, přičemž ostatní tím nejsou ovlivněny 13. procesor v hostitelském počítači (a vlastně i na kartě) může použít nejvýhodnější způsob přenosu, který je pro něj dostupný (využití přerušení, DMA...) 14. kartu je možno použít na libovolné platformě (díky popisu jejího kom. Protokolu) 15. úroveň všech signálů je 3.3V -> možnost využít na kartě moderní obvody 16. malý konektor s nízkým počtem pinů

Děkuji vám za pozornost.