BI-JPO (Jednotky počítače) Cvičení



Podobné dokumenty
Struktura a architektura počítačů (BI-SAP) 6

Aritmetické operace a obvody pro jejich realizaci

Násobení. MI-AAK(Aritmetika a kódy)

Struktura a architektura počítačů (BI-SAP) 5

B. Sčítání,odčítání adoplňkovýkód

Strojový kód. Instrukce počítače

E. Pohyblivářádováčárka

Pohled do nitra mikroprocesoru Josef Horálek

Architektura počítačů Logické obvody

v aritmetické jednotce počíta

Architektura počítačů Logické obvody

Architektury počítačů a procesorů

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Kódováni dat. Kódy používané pro strojové operace

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

8. Laboratoř: Aritmetika a řídicí struktury programu

Čísla a číselné soustavy.

Profilová část maturitní zkoušky 2014/2015

Struktura a architektura počítačů (BI-SAP) 10

Princip funkce počítače

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Profilová část maturitní zkoušky 2015/2016

Čísla, reprezentace, zjednodušené výpočty

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Čísla, reprezentace, zjednodušené výpočty

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy


Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

1 z :27

Dělení. MI-AAK(Aritmetika a kódy)

Operace ALU. INP 2008 FIT VUT v Brně

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Mikroprocesorová technika (BMPT)

Způsoby realizace této funkce:

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Informatika Datové formáty

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student

KOMBINAČNÍ LOGICKÉ OBVODY

5 Přehled operátorů, příkazy, přetypování

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Program "Světla" pro mikropočítač PMI-80

Binární logika Osnova kurzu

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Jak do počítače. aneb. Co je vlastně uvnitř

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

Architektury počítačů

C2115 Praktický úvod do superpočítání

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

Číselné soustavy. Binární číselná soustava

ČÍSELNÉ SOUSTAVY PŘEVODY

Algoritmizace a programování

Principy počítačů I - Procesory

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

Procesor z pohledu programátora

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

2.7 Binární sčítačka Úkol měření:

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

SEKVENČNÍ LOGICKÉ OBVODY

PB002 Základy informačních technologií

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

Úvod do programování 7. hodina

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing.

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

PRINCIPY POČÍTAČŮ. Schopnost logického uvažování a rešeršní práce v prostředí Internetu.

VzorTest-1. Prohlídka náhledu

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Cíle. Teoretický úvod

Počítač jako prostředek řízení. Struktura a organizace počítače


1. Základní pojmy a číselné soustavy

II. Úlohy na vložené cykly a podprogramy

Struktura a architektura počítačů (BI-SAP) 11

Principy počítačů I Reprezentace dat

Profilová část maturitní zkoušky 2017/2018

Převod Bin do BCD pomocí Hornerova schématu

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sada 1 - Základy programování

35POS 2010 Počítačové systémy 1 Úvod, jazyk C Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša

Paměťový podsystém počítače

PRINCIPY POČÍTAČŮ Metodický list číslo 1

ZŠ ÚnO, Bratří Čapků 1332

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Systém adresace paměti

Fz =a z + a z +...+a z +a z =

I. Dalšívnitřní paměti

Principy komunikace s adaptéry periferních zařízení (PZ)

PROGRAMOVATELNÉ LOGICKÉ OBVODY

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Transkript:

BI-JPO (Jednotky počítače) Cvičení Ing. Pavel Kubalík, Ph.D., 2010 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

1. cvičení Číselné soustavy, operace a reprezentace záporných čísel Seminární cvičení opakování 1. Převést číslo 540,5 do osmičkové soustavy - opakovaným dělením a násobením osmi. 2. Převést číslo 540,5 do šestnáctkové soustavy. 3. Převést osmičkové číslo 1034,4 do dvojkové a odtud do šestnáctkové soustavy. 4. Dvojkové číslo 10 0001 1100,1 převést do desítkové soustavy - použitím Hornerova schématu. 5. Číslo 0,1 převést do dvojkové soustavy. Uvědomit si, že výsledek (tj. 0,0001100110011 ) nelze zapsat přesně (na konečný počet míst) a že se tedy převodem může do výpočtu zavléci chyba. 6. Sčítání, odčítání, násobení a dělení ve dvojkové a šestnáctkové soustavě: Dvojková soustava: 101. 110 =? zkontrolovat převodem do desítkové soustavy 1101 1110 0111 =? Šestnáctková soustava: ABCD + 10FF =? 12A0 + BC8F =? 7. Pokusit se vynásobit v osmičkové soustavě 124 * 14. Ověřit správnost převodem činitelů a součinu do desítkové soustavy. 8. Řádová mřížka zobrazení čísel s ohledem na velikost prostoru pro toto zobrazení (počet bitů), další algoritmy s ohledem na toto omezení; např. ve dvojkové soustavě 1 0 0 1 0 1 1 1 v desítkové soustavě 5 8 3 1 9. Procvičit sčítání v doplňkovém kódu pro všechny kombinace znamének sčítanců a pro případy, kdy nedojde k přeplnění, i pro případy, kdy k přeplnění dojde (operandy mají stejné znaménko, ale výsledek má opačné znaménko). Uvědomit si při tom jaký bude rozsah zobrazitelných čísel. 10. Procvičit odčítání v doplňkovém kódu převodem odčítance na opačné číslo (negace všech bitů a následné sečtením s horkou jedničkou nebo postupem opisuji od konce všechny nuly až narazím na jedničku, tu opíšu a všechny další bity neguji. 11. Práce s čísli v přímém kódu - znaménko zvlášť, pak práce s absolutní hodnotou. Algoritmus různý podle znamének operandů detekce přetečení různá pro sčítání i odčítání, možná úprava výsledku při záporném výsledku u odčítání. 12. Aritmetické posuvy musí odpovídat násobení a dělení, detekce přetečení a ztráty přesnosti bez HW realizace, jen kdy výsledek odpovídá nebo neodpovídá násobeni nebo dělení. 1 / 17

13. Jsou dány dva operandy v dané řádové mřížce zde 8 bitové, v šestnáctkové soustavě. Uvažujte následující případy: a) jde o nezáporná čísla (bez znaménka) b) jde o čísla v doplňkovém kódu c) jde o čísla v přímém kódu Pro všechny tři případy stanovte hodnotu součtu (výsledek zapište v šestnáctkové soustavě s příslušným znaménkem) a určete zda došlo k přeplnění. Dále určete znaménka obou operandů a výsledku. Zadané operandy: 7E, E9. 2 / 17

2. cvičení Instrukce a strojový kód procesoru DOPv3 a) Seznamte se s instrukční sadou výukového procesoru DOP V3 o o Prostudujte jednotlivé skupiny instrukcí Pokuste se určit význam jednotlivých instrukcí b) Napište program v jazyce symbolických adres procesoru DOP Příklad 1: long a; long b; a+=b; Příklad 2: long a; signed char b; a+=b; Příklad 3: signed char a,b; a=b>>4; 3 / 17

3. cvičení - Sčítačky, odčítačky, obvody pro posuv 1) Úplná 4-bitová sčítačka a její vnitřní zapojení Nakreslete blok úplné 1-bitové sčítačky Nakreslete vnitřní zapojení úplné 1-bitové sčítačky z půlsčítaček Napište výrazy pro součet a přenos Nakreslete úplnou 4-bitovou sčítačku z půlsčítaček 2) Úplná 4-bitová sčítačka a její modifikace Úplnou 4-bitovou sčítačku překreslete na inkrementaci 4-bitového čísla o 1 a zjednodušte Úplnou 4-bitovou sčítačku překreslete na dekrementaci 4-bitového čísla o 1 a zjednodušte 3) Datová cesta a její základní bloky Navrhněte blok 4-bitového registru s povolením výstupu na sběrnici a to včetně vnitřního zapojení Navrhněte vnitřní zapojení posuvu vlevo a vpravo pro 4-bitová čísla (logický posuv, cyklický posuv, aritmeticky posuv pro přímý a doplňkový kód) Navrhněte vnitřní zapojení 4-bitového multiplexoru, zapojení popište výrazem a schématem 4) Navrhněte datovou cestu s registrem a to tak, aby bylo možné provádět tyto operace s registrem: Zápis do registru (WE) Vystavení hodnoty na sběrnici (OE) Pamatování aktuální hodnoty 5) Navrhněte datovou cestu s registrem a to tak, aby bylo možné provádět tyto operace s registrem: Zápis do registru (WE) Vystavení hodnoty na sběrnici (OE) Pamatování aktuální hodnoty Inkrementaci obsahu registru (INC) 4 / 17

Domácí úkol: 6) Navrhněte datovou cestu s registrem a to tak, aby bylo možné provádět tyto operace s registrem: Zápis do registru (WE) Vystavení hodnoty na sběrnici (OE) Inkrementace nebo dekrementace obsahu registru (INC/DEC) Logicky posuv vlevo nebo vpravo (LSL/LSR) 5 / 17

4. cvičení Datová část procesoru DOPv3 1) Seznamte se s datovou částí procesoru DOP Prostudujte datovou část procesoru DOP. Nakreslete blokové schéma částí, které mají vliv na nastavení vstupního signálu CIN 2) Příklady k řešení na cvičení Napište seznam řídicích signálů, které musíte použít pro provedení následujících instrukcí. Seznam řídicích signálů rozdělte do skupin tak, aby bylo možné využít co nejméně taktů. Signály, které jsou nutné nastavit ve stejném taktu, vložte do stejné skupiny. Pokud čekáte na signál WAIT, zařaďte ho do příslušné skupiny řídicích signálů. LD W,[S+] ;[S] W, S+ ST W ;W [D] Domácí úkol Napište seznam řídicích signálů, které musíte použít pro provedení následujících instrukcí. Seznam řídicích signálů rozdělte do skupin tak, aby bylo možné využít co nejméně taktů. Signály, které jsou nutné nastavit ve stejném taktu, vložte do stejné skupiny. Pokud čekáte na signál WAIT, zařaďte ho do příslušné skupiny řídicích signálů. SUB [D] ADDS [S+] ;W=W+[S], S+ 6 / 17

5. cvičení Řadič, základní cyklus procesoru DOPv3 1) Řídicí část - horizontální mikroprogramovaný řadič Vymyslete jednoduchý mikroprogramovaný řadič Velikost pamětí bude 256 16 Řadič bude umožňovat podmíněné i nepodmíněné skoky 2) Řídicí část - procesor DOP Seznamte se s realizací řadiče v procesoru DOP Seznamte se s tabulkou podmínek 3) Příklady Najděte operační znak k instrukci LD W,[S] Najděte operační znak k instrukci ADDB S Najděte operační znak k instrukci PUSH W 4) Vývojový diagram DOPu Seznamte se se syntaxí mikroprogramovaného jazyka a vývojovým diagramem procesoru DOP 7 / 17

6. cvičení - Test 1 Test bude zaměřen především na látku odpřednášenou a bude zohledněna i náplň předchozích cvičení. Test bude obsahovat: 2 příklady po 6 bodech, 1 otázku za 4 body a 1 otázku za 2 body. První příklad bude orientován na návrh typických obvodů datové části procesorů s chováním určeným řídicími vstupy, zejména na návrh registrů na bázi synchronních klopných obvodů typu D, např. na návrh registru s jedním či dvěma datovými vstupy, s možností posuvu (nebo třeba dvou různých posuvů) anebo s možností inkrementace či dekrementace. Student by měl být schopen rozkreslit schéma až na úroveň jednotlivých logických členů (hradel a klopných obvodů). Složitost konkrétního zadání bude úměrná času určenému pro test. Druhý příklad bude orientován na návrh sčítaček / odčítaček, a to pro čísla bez znaménka nebo/a pro čísla v doplňkovém kódu; může být požadována predikce přenosů. Sčítačka či odčítačka může být modifikována třeba tak, že na jejím výstupu bude (v závislosti na řídicích vstupech) číslo přiváděné na vstup inkrementované/dekrementované o 0, 1, 2 nebo 3. I u tohoto příkladu by měl být student schopen rozkreslit schéma až na úroveň jednotlivých logických členů. Složitost konkrétního zadání bude opět úměrná času určenému pro test. Otázky budou vybrány z témat probíraných na příslušných cvičeních a z těchto témat: o datová a řídicí část procesoru o zobrazitelná čísla o úplná a poloviční sčítačka o sčítačka s predikcí přenosů o sčítání čísel bez znaménka a přeplnění o odčítání a pojem výpůjčka o odčítání převedené na sčítání a vyhodnocení výpůjčky o doplňkový kód definice a rozsah o sčítání a odčítání v doplňkovém kódu a detekce přeplnění o aritmetický posuv v doplňkovém kódu o prodlužování a zkracování řádové mřížky v doplňkovém kódu o základní (instrukční) cyklus o realizace základních operací (přesuny, skoky, operace se zásobníkem, ) o typy přerušení o obsluha přerušení o typy řadičů o mikroprogramovaný řadič o řadič s řídicími řetězci o řadič na bázi čítače 8 / 17

7. cvičení - Struktura a vytváření mikroprogramů procesoru DOPv3 Programovatelný logický posuv vlevo Zadání: Posuňte operand o velikosti dvojitého slova, jehož adresa je v registru S, vlevo o počet pozic, který je dán 8 bitovým přímým operandem. Výsledek uložte do paměti na adresu určenou v registru D. Nastavte příznaky. Pokyny pro řešení: Návrh rozdělte na několik části Části jsou na sobě nezávislé: načtení přímého operandu, načtení dat z paměti, vykonání instrukce, uložení dat do paměti 9 / 17

8. cvičení - Ladění mikroprogramů procesoru DOPv3 10 / 17

9. cvičení Návrh obvodového a mikroprogramovaného řadiče Zadání: Obvod pro čtení dat z paměti Navrhněte datovou a řídicí část obvodu, který bude umožňovat číst požadovaná data z paměti. Základními stavebními prvky datové části budou: paměť (vstupy: MRD, MWR, ADR; výstupy: WAIT, DATA) 16b registr RD pro data ( OED, WED ) 8b registr RA pro adresu ( OEA, WEA ) 8x přepínač pro nastavení adresy ( SW8 ) 1x tlačítko pro spuštění operace čtení z paměti ( TL1 ) K zápisu do registru adresy dojde při stisknutí tlačítka. K samotné operací čtení z paměti dojde po uvolnění tlačítka. Data se do registru dat zapíší po skončení signálu WAIT. Počátečním stavem je stav S1, do kterého řadič přejde po příchodu signálu RESET. Po skončení operace čtení řadič čeká ve stavu S1 na další stisknuté tlačítko TL1. Předpokládejte, že paměť je připojena k registrům přímo (bez použití sběrnice). Dále předpokládejte, že paměť nevyžaduje, aby data ani adresa měla předstih před řídicími signály (pro zápis, čtení apod.) jsou přípustné i malé tolerance. Obdobně to platí i pro přesah. Cyklus paměti není znám; platí však, že operace je dokončena, jakmile přestane být aktivní signál WAIT. Řídicí část navrhněte nejprve jako klasický (neboli obvodový) řadič a poté s pomocí mikroprogramovaného řadiče. Postup: 1) Nakreslete datovou část. 2) S pomocí MOORE automatu nakreslete řídicí část. 3) Nakreslete vývojový diagram řídicí části. 4) Nakreslete obvodový řadič složeny z bloků: hranový klopný obvod typu D, OR, AND, NOT a jejich kombinace. 5) Nakreslete blokové schéma mikroprogramovaného řadiče, určete počty vodičů a zvolte podmínky skoků. 6) Vyplňte obsah paměti mikroprogramovaného řadiče. 11 / 17

10. cvičení Bezpečnostní kódy. Příklad 1. Navrhněte kód a obvod pro detekci 1 chyby. Počet informačních vodičů je roven 4. Příklad 2. Navrhněte kód a obvod pro opravu 1 chyby. Počet informačních vodičů je roven 4. Příklad 3. Navrhněte kód a obvod pro opravu 1 chyby s pomocí Hammingova kódu. Počet informačních vodičů je roven 4. Domácí úkol Navrhněte kód a obvod pro detekci/opravu 1 chyby s pomocí těchto kódů: a) detekce 1 chyby b) oprava 1 chyby bez využití znalosti Hammingova kódu c) oprava 1 chyby s využitím znalosti Hammingova kódu (15,11) Počet informačních vodičů je roven 6. 12 / 17

11. cvičení Test 2 Test bude zaměřen především na látku odpřednášenou a bude zohledněna i náplň předchozích cvičení. Test bude obsahovat: 2 příklady po 6 bodech, 1 otázku za 4 body a 1 otázku za 2 body. Jeden příklad bude orientován na návrh řadiče. Složitost konkrétního zadání bude úměrná času určenému pro test. Druhý příklad bude orientován na návrh paměti (zvětšení adresového prostoru, zvýšení délky slova apod.) nebo na bezpečnostní kódy. Složitost konkrétního zadání bude opět úměrná času určenému pro test. Otázky budou vybrány z témat probíraných na příslušných cvičeních a z těchto témat: o násobení celých čísel bez znaménka o násobení celých čísel v doplňkovém kódu o dělení bez návratu přes nulu o dělení čísel menších než 1 o dělení celých čísel o pohyblivá řádová čárka definice, základní operace, přeplnění, nenaplnění, normalizace, princip skryté jedničky o přímý kód definice, sčítání, odčítání, násobení a dělení o aditivní kód definice, sčítání a odčítání o barrel shifter o základní princip pamětí SRAM a DRAM o vytváření pamětí s větší kapacitou a s větší délkou slova o n-bránová paměť o detekční a samoopravné kódy; lineární a cyklické kódy o kódová vzdálenost a detekční a korekční vlastnosti kódů o použití generovací matice kódování o kontrolní matice, syndrom, detekce chyb a oprava jedné chyby o jednoduché lineární kódy o Hammingův kód 13 / 17

12. cvičení Předvedení funkčnosti mikroprogramu 14 / 17

13. cvičení Komplexní návrh datové a řídicí části v FPGA Navrhněte datovou a řídicí část 8-bitové sčítačky odčítačky v doplňkovém kódu s detekcí přeplnění. Navrženou část realizujte s pomocí obvodu FPGA umístěného na desce Spartan 3 Starter Board. Sčítačka odčítačka bude fungovat takto: Při prvním stisku tlačítka 0 dojde k zápisu hodnoty nastavené na přepínačích do registru REG1. Při druhém stisku tlačítka 0 dojde k zápisu hodnoty nastavené na přepínačích do registru REG2. Následně dojde při stisku tlačítka 1 k sečtení hodnot nebo při stisknutí tlačítka 2 k odečtení hodnot. Zobrazí se výsledek. Kdykoliv při stisku tlačítka 3 dojde k resetu řídicí části. Datovou a řídicí část můžete popsat schématem nebo s pomocí VHDL jazyka. K realizaci podle schématu můžete použít všechny bloky v editoru ISE, popř. knihovnu bloků vytvořenou pro realizaci této úlohy. (Využití této knihovny bloků se doporučuje!) Při realizaci vyžijte prázdny vzorový projekt. Vaše modifikace provádějte pouze do souboru my_design.sch nebo my_design.vhd. Komponenty, které nebudou součástí knihovny, budou dodány na cvičení. 15 / 17

14. cvičení Zápočet 16 / 17