- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Hromadně přidat materiály
Poznamky_ke_zkousce_na_6_A4
PB150 - Architektury výpočetních systémů
Hodnocení materiálu:
Zjednodušená ukázka:
Stáhnout celý tento materiáli konstruované systémy. Dále se mluvilo o možných reprezentacích logických výrazů a funkcí, např. Vénovy diagramy, Carnaughovy mapy, jednotková krychle.Minule prý něco povídal o pamětech. Především asi o registrech.Jak navrhnout instrukční sadu: Vezměme si třeba sadu RISC, která je jednoduchá (reduced). Instrukce má 4 bajty. Na začátku vybereme instrukci, na kterou ukazuje čítač instrukcí (PC). Poté do PC přičtu 4, tím se dostanu na další instrukci. Dekódujeme instrukci a následně ji vykonáme. A to se bude stále opakovat.A teď, jak definovat obsah instukcí (instrukční sémantiku): Prvních 6 bitů bude určovat instrukci. Dalších 2 * 5 bitů určuje adresy operandů v registru a dalších 5 . Druhý možný přístup je takový, že 2. operand bude konstantou (sám v tom drobet plavu...). Jasněji zde:Do paměti budou přistupovat pouze operace LOAD a STORE, ostatní operace probíhají nad registry, můžou to být aritmetické operace ADD, SUB, MUL, DIV, logické CMPEQ (stejné), CMPLT (levý větší), dále AND, OR... a nakonec instrukce pro bitové posuny.Jak implemnetovat procedury LOAD a STORE? U nepřímé adresace (insturukční set s konstantou) se do cílového registru uloží hodnota z operandem určeného místa paměti + konstanta (to mi ažtak omračující nepřijde.Adresování dat v paměti (adresovací režimy / módy):konstantou ("constant"); podle hodnoty v registru("Rx"), kombinace (součet) předchozích dvou = displacement ("constant(Rx)"), indexed = adresa získána součtem obsahu 2 registrů ("Rx+Ry");Složitější metody:Nepřímá adresace = z registru se dostane na místo v paměti, kde je udáno, kde je místo v paměti, kde jsou data (pointer v C a spol, "@(Rx)"); autoinkrementační adresace (posfixově nebo prefixově se inkrementuje hodnota registru a načte se, "(Rx)+"), skalární (z jednoho registru se vezme jedno číslo a k němu se přičte číslo z jiného registru vynásobené konstantou (posunem na n-tý prvek, kde prvek má velikosti té konstanty) a ještě přičte konstantu (to mi přijde nepodstatné), "constant(Rx)[Ry]").Výroba procesoru:Chceme vyrobit zařízení, které dokáže provést námi zadané instrukce (výše).K dispozici máme: soubor registrů, paměť instrukcí, paměť dat, ALU, multiplexor;Tak si vyrobíme ten čítač instrukcí, který bude posouvat ukazatel do paměti instrukcí a s hodinovým taktem se posouvat o 4 bajty (32 bitů).S každým taktem tedy načtu instrukci z místa, kam ukazuje čítač, první část (operační kód) pošleme kontrolní logice, která ho přeloží ALUně na jednu z jeho funkcí. Alu vypadá takto:Pak je tam kýbl drátů a multiplexorů pro různý operace a funguje to. Dost důležité jsou tam multiplexory, které se do jisté míry chovají dost nezávisle, mají vnitřní stavy a manipulují se svými vstupy podle nich (vypouštějí jeden ze vstupů podle ostatních vsupů nebo stavu).Výjimky při výpočtu = interupts;Výjimky se zařazují do stacku a ihned po jejich příchodu interupt s nejvyšší prioritou skočí do IneruptSection, kde jsou podprogramy pro jednotlivé typy interuptů.O pamětech:Platí pravidlo, že čím rychlejší má být přístup na paměť, tím menší jsme takovou schopni vyrobit (registr
Vloženo: 26.04.2009
Velikost: 424,67 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Copyright 2025 unium.cz


