EDA Digital och Datorteknik

Slides:



Advertisements
Liknande presentationer
Från Vasatid till Vasalopp Lpp Historia åk 5, Vasatiden
Advertisements

EDA 480 – Maskinorienterad Programmering
Talföljder formler och summor
EDA 480 – Maskinorienterad Programmering
”Språk, lärande och identitetsutveckling är nära förknippade
Digitalteknik, fortsättningskurs 2012 Föreläsning 16 Inför tentan
En avancerad miniräknare
William Sandqvist Booles Algebra Genom att representera logiska uttryck på matematisk form, där sammanfognings-orden OR och AND motsvarade.
William Sandqvist Booles Algebra Genom att representera logiska uttryck på matematisk form, där sammanfognings-orden OR och AND motsvarade.
EDA Digital och Datorteknik
EDA Digital och Datorteknik
Föreläsning 15 Matlab överkurs KTH, CSC, Vahid Mosavat.
William Sandqvist Maurice Karnaugh Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist
EDA Digital och Datorteknik
23 August 2014 IS1200 Datorteknik vt09, föreläsning 10, (E och I mfl)1 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory.
Text och bild från wikipedia
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Programmering B PHP Lektion 2
Programmering B PHP Lektion 3
EDA Digital och Datorteknik
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
EDA Digital och Datorteknik
Det handlar om multiplikation
Styrteknik: Programmering med MELSEC IL PLC2A:1
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Styrteknik: Grundläggande logiska funktioner D2:1
Digital och Datorteknik – EDA / Mikroprogrammering EDA Digital och Datorteknik 2009/2010 Mikroprogrammering Arbetsboken, avsnitt 28.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Programmering efter tillståndsdiagram
Bråk Text och bild från wikipedia. Vad är bråk 1/3 5/8 1/27 3 _
Styrteknik 7.5 hp distans: PLC-Program, kaffe-automat PLC7B:1
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Digitalteknik 7.5 hp distans: Realisering av logik med PLD och VHDL1.4.1 En kretsrealisering med VHDL består av fyra huvudmoment Specifikation Beskrivning.
Pipelining Föreläsning 4. T exe — CPU-exekveringstid I — Antalet exekverade instruktioner CPI — Genomsnittligt antal klockcykler per instruktion T c —
Vad kännetecknar ett sekvensnät?
Dagens ämnen Matriser Linjära ekvationssystem och matriser
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Adderare Addition av två tal innebär att samma förfarande upprepas för varje position i talet. För varje.
DIGITAL DESIGN INLEDNING Allmänt och kursens hemsidor Analogt och digitalt Booleska variabler Binära tal Positiv och negativ logik (Aktiv hög och låg logik)
William Sandqvist 11.1 ”Glitchar” Om signaler passerar olika många grindsteg på vägen mot utgången kan kortvariga oönskade avvikelser från.
William Sandqvist IS1500 Datorteknik William Sandqvist
Styrteknik: Boolesk algebra D1:1
Satslogik, forts. DAA701/716 Leif Grönqvist 5:e mars, 2003.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
Digitalteknik 7.5 hp distans: Talsystem och koder 1.3.1
Föreläsning 1 Introduktion till kursen. Algoritmer
William Sandqvist Tillståndsmaskiner  Moore-automat  Mealy-automat William Sandqvist
Kronljusströmställaren 0, 1, 2, 3
16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F2 1 IS1500 Datorteknik och komponenter Föreläsning DC F2 Kretsar med återkoppling Minnen.
Vad måste jag kunna? SFI kurs D.
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
Att räkna med bokstäver
Lars Madej  Talmönster och talföljder  Funktioner.
Du ska inom arbetsområdet lära dig att Tolka och förenkla uttryck med bokstäver Lösa enkla ekvationer Upptäcka och använda mönster och samband Skriva och.
Populärt brukar algebra ibland kallas för bokstavsräkning
Grundläggande datavetenskap, 4p
Kombinatoriska byggblock
Digitala tal och Boolesk algebra
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Sekvenskretsar
Digitalteknik 3p - Kombinatorisk logik
Kombinatoriska byggblock
Kombinatoriska byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatorisk logik
Digitalteknik 3p - Kombinatoriska Byggblock
Presentationens avskrift:

EDA 451 - Digital och Datorteknik 2009/10 Sammanfattning Ur innehållet: Vi repeterar kursens ”lärandemål” Diskussion kring ”övningstentor” Övriga frågor… Sammanfattning

Lärandemål Det övergripande målet är att den studerande ska ha inhämtat förståelse för hur en konventionell dator är uppbyggd, dess funktion och dess arbetssätt.  Kursen är ämnesmässigt indelad i delområden med följande inlärningsmål för respektive delområde: Sammanfattning

1. Talsystem, binära koder och datoraritmetik Konvertering mellan olika talsystem. Utifrån given problemställning applicera binära koder så som NBC, NBCD, ASCII, Gray, Excess, felupptäckande koder, tecken/belopp och komplementkoder. Redogöra för och tillämpa binär aritmetik (addition och subtraktion). Sammanfattning

”Konvertering mellan olika talsystem”. Att kunna omvandla tal mellan de olika talsystem som vi använder i kursen. Dvs. binära tal, decimal tal och hexadecimala tal. Omvandlingarna ska kunna utföras mellan alla tre och i båda riktningar. Sammanfattning

”Utifrån given problemställning applicera binära koder så som NBC, NBCD, ASCII, Gray, Excess, felupptäckande koder, tecken/belopp och komplementkoder.” Här handlar det om att kunna ge exempel på användningsområden för de olika sätten att tolka binära ord. Kunna formulera/tolka textsträngar med ASCII-tecken, konstruera/analysera kodomvandlare mellan de olika koderna, beskriva Gray-kod och i vilka sammanhang den vanligtvis används. Hur paritetsbitar används för att upptäcka fel vid överföring av binära ord, förklara både jämn och udda paritet. Kunna beskriva principen för tecken/belopps-representation. Kunna beskriva hur de grundläggande aritmetiska operationerna (addition, subtraktion, multiplikation och division) utförs i binära talsystemet. Sammanfattning

”Redogöra för och tillämpa binär aritmetik (addition och subtraktion)”. I detalj beskriva hur addition och subtraktion utförs i en dator, redogöra för hur spill uppstår samt hur detta indikeras av så kallade ”flaggor” i datorn. Sammanfattning

2. Switchnätalgebra Definiera grundläggande logiska operationer och dess motsvarande logiska grindar. Tillämpa den booleska algebrans räknelagar. Utföra algebraisk förenkling av booleska uttryck. Visa likhet/olikhet mellan booleska uttryck.   Sammanfattning

”Definiera grundläggande logiska operationer och dess motsvarande logiska grindar.” Kunna beskriva funktionen hos logikelementen NOT, AND, OR, XOR samt deras inverser, dvs. ställa upp respektive funktionstabell samt kunna illustrera operationerna med dess grindsymboler, såväl de europeiska symbolerna som de amerikanska. Sammanfattning

”Tillämpa den booleska algebrans räknelagar ”Tillämpa den booleska algebrans räknelagar. Utföra algebraisk förenkling av booleska uttryck.” Att kunna skriva om booleska uttryck på olika sätt, vanligtvis innebär detta användning av deMorgans teorem, ”tautologi” samt ”motsägelse”, men även övriga räknelagar måste naturligtvis kunna tillämpas. Sammanfattning

”Visa likhet/olikhet mellan booleska uttryck.” Detta ska man kunna göra genom att utföra algebraiska manipulationer, ställa upp funktionstabeller eller Karnaugh-diagram. rad x y z f 1 2 3 4 5 6 7 rad x y z g 1 2 3 4 5 6 7 1 00 01 11 10 x yz f f=g 1 00 01 11 10 x yz g f≠g Sammanfattning

3. Kombinatoriska nät Realisera logiska uttryck med grindnät. Beskriva, analysera och konstruera kombinatoriska nät med hjälp av funktionstabeller och boolesk algebra. Kunna minimera logiska uttryck för realisering i kombinatoriska nät. Sammanfattning

”Realisera logiska uttryck med grindnät.” Viktiga begrepp är disjunktiv/konjunktiv form, normalform och minimal form. Att veta hur max- och min- termer används för att definiera booleska funktioner. 1 f y’ & z x & g y’ 1 z’ x z Sammanfattning

”Beskriva, analysera och konstruera kombinatoriska nät med hjälp av funktionstabeller och boolesk algebra.” Att kunna beskriva kombinatoriska nät med grundläggande logiksymboler, booleska uttryck och funktionstabeller. Att kunna analysera logiknät beskrivna med såväl booleska algebra som med logiksymboler. Kunna konstruera nät typiskt med AND/OR-, OR/AND-, NAND- respektive NOR- /logik. Kunna konstruera enklare kombinatoriska nät av typen heladderare, kodomvandlare, avkodare, fördelare, väljare och kunna tolka symboler för sådana nät. Sammanfattning

”Kunna minimera logiska uttryck för realisering i kombinatoriska nät.” Kunna utgå från en boolesk funktion med upp till fyra variabler, minimera denna med hjälp av Karnaughdiagram och därefter realisera (konstruera) det nya nätet. Sammanfattning

4. Sekvensnät Analysera och konstruera synkrona tillståndsmaskiner med hjälp av tillståndstabeller och tillståndsgrafer. Använda D-, T- och JK- vippor för konstruktion av minneselement och räknare. Sammanfattning

”Analysera och konstruera synkrona tillståndsmaskiner med hjälp av tillståndstabeller och tillståndsgrafer.” Kunna tolka symboler för räknare och register. Utifrån en funktionsbeskrivning kunna upprätta tillståndstabell, eller tillståndsgraf och tidsdiagram. Kunna översätta tillståndstabell till tillståndsgraf och vice versa. Kunna analysera enklare sekvensnät som räknare, latchar, vippor, register, bitströmsdetektorer. Utifrån ett givet synkront nät kunna beskriva dess funktion (minneselement, räknare etc.) . Sammanfattning

”Använda D-, T- och JK- vippor för konstruktion av minneselement och räknare.” Kunna beskriva symboler för latchar typ SR och D, vippor av typ SR, D, JK och T, kunna beskriva dess respektive funktion i termer av funktions- och exitations- tabeller. Kunna konstruera autonoma räknare, räknare med räknevillkor, bitströmsdetektorer. Sammanfattning

5. Datorkonstruktion (von Neumann-datorn) Beskriva, analysera och konstruera kombinatoriska och sekventiella nät som typiskt används för att bygga en dators centralenhet, dvs. dataväg, styrenhet, aritmetisk/logisk enhet (Arithmetic/Logical Unit, ALU). Beskriva in-/ut- matningsenheter och minnessystem tillsammans med centralenheten. Beskriva, analysera och konstruera en styrenhet baserad på fast kopplad logik och kunna implementera instruktionsexekvering i denna logik. Kunna redogöra för styrenheter med mikroprogrammerad logik. Kunna utföra elementär maskinnära programmering (mikroprogrammering, maskinprogrammering och assemblerprogrammering). Sammanfattning

”Beskriva, analysera och konstruera kombinatoriska och sekventiella nät som typiskt används för att bygga en dators centralenhet, dvs. dataväg, styrenhet, aritmetisk/logisk enhet (Arithmetic/Logical Unit, ALU).” Kunna tolka symboler för de kombinatoriska nät som förekommer i kurslitteraturen. Kunna konstruera kombinatoriska nät med hjälp av väljare, avkodare och logikgrindar. Kunna redogöra för ”three-state” utgångar. Kunna redogöra för hur dataväg, styrenhet och ALU samverkar för att åstadkomma instruktionsexekvering. Kunna tillämpa Register Transfer Notation (RTN) och kunna beskriva hur registeröverföringen arrangeras med hjälp av styrsignalsekvenser till datavägen. Sammanfattning

”Beskriva in-/ut- matningsenheter och minnessystem tillsammans med centralenheten.” Kunna beskriva principen för läs-minnen (Read Only Memory, ROM) och läs-/skriv- minnen (Read/Write Memory, RWM). Kunna redogöra för hur in-/ut- matningsenheter och minne ansluts till centralenheten via bussar. Kunna i detalj beskriva hur läsning/skrivning från/till minne respektive in-/ut- matningsenheter sker i läs-cykler respektive skriv-cykler. Sammanfattning

”Beskriva, analysera och konstruera en styrenhet baserad på fast kopplad logik och kunna implementera instruktionsexekvering i denna logik.” Kunna redogöra för den strukturella uppbyggnaden av FLEX med fast kopplad logik, dvs. ange samband mellan insignaler till styrenheten och utsignaler. Detta innebär att kunna beskriva hur utsignalerna skapas från insignaler tillsammans med någon sekvensierare (tillståndsgenerator) och ett kombinatoriskt AND/OR- logiknät. Kunna i detalj redogöra för hur en godtycklig maskininstruktion kan implementeras i FLEX- processorn med fast kopplad logik. Detta innebär att kunna tolka en instruktions beskrivning (specifikation) och därefter ange en styrsignalsekvens som korrekt implementerar instruktionen. Sammanfattning

”Kunna redogöra för styrenheter med mikroprogrammerad logik.” Kunna beskriva de principiella skillnaderna mellan implementering av styrenheten med fast kopplad logik respektive mikroprogrammerad logik. Redogöra för mikrominne och nanominne. Sammanfattning

”Kunna utföra elementär maskinnära programmering (mikroprogrammering, maskinprogrammering och assemblerprogrammering).” Kunna redogöra för uppbyggnaden av en ”vonNeumann”-dator (det lagrade programmets princip). Kunna konstruera mikroprogram för FLEX med mikroprogrammerad styrenhet och korrekt implementera godtycklig maskininstruktion. Kunna utföra ”handassemblering” dvs. att använda en instruktionslista och översätta ett assemblerprogram till dess korrekta maskinprogram. Kunna använda instruktionslistan för att precisera klockcykler och maskininstruktion (Operationskod och ev. operander) för någon instruktion given som mnemonic. Sammanfattning

”Kunna utföra elementär assemblerprogrammering” (gäller såväl FLEX som CPU12): Kunna redogöra för samtliga register och deras typiska användning, speciellt stackpekare och flaggregister. Beskriva och analysera instruktioner för villkorlig ändring av programflödet (”hopp”- instruktioner), speciellt viktigt är skillnaden mellan villkor gällande för tal med respektive utan tecken. Kunna analysera respektive konstruera enklare programavsnitt, inklusive subrutiner, i assemblerspråk. Kunna förstå och använda de assemblerdirektiv som behandlas i kursen. Sammanfattning