Základy počítačov
Zo stránky SensorWiki
Novinky
- 3. 12. 20:00 Pribudli ďalšie bonusové #Domáce úlohy, za ktorých vyriešenie môžete získať body navyše.
- V poslednom týždni semestra nebudeme cvičiť nič nové, ale môžete si prísť docvičiť, alebo dopísať testy v nasledovných termínoch:
- Pondelok 16. 12. od 15:00 do 16:00 (Valocký)
- Utorok 17. 12. od 8:00 do 10:00 (Chamraz)
- Streda 18. 12. od 9:00 do 12:00 (Balogh), pozor, toto cvičenie bude v CPU (blok D, 1. posch)
 
- 10. 12. 2019 bude posledná prednáška v tomto semestri. Privítame na nej hosťa - Williama Carbone z IBM, prednášať bude o počítačovej budúcnosti a technológiach IBM pre takéto počítače. Prednáška bude v angličtine.
- 3. 12. Téma komunikácie, ktorú sme na prednáškach nestihli prebrať ostáva na domáce naštudovanie. K dispozícii máte text 2. kapitoly z knižky, ten treba naštudovať
a naučiť sa podstatné pojmy. Otázky z tejto kapitoly samozrejme tiež môžu byť na skúške.
- Balogh, Bélai, Dorner, Drahoš: Priemyselné komunikácie. STU, 2001.
 
- Exkurzia: v prípade záujmu o exkurziu na Slovenskú akadémiu vied (SAV) - múzeum počítačov a návšteva superpočítača Aurel, vyplňte dotazník o vhodnom termíne: https://doodle.com/poll/qq3tsx3tqgna72ty
O výsledku vám dám vedieť.
- 13.11. 10:00 Všetky bonusové úlohy sú vyriešené (to bola fakt bleskovka!). O týždeň budú ďalšie...
- 12.11. 20:05 Pribudli bonusové #Domáce úlohy, za ktorých vyriešenie môžete získať body navyše.
Ak ste tento predmet už absolvovali minulý rok, môžete požiadať o jeho uznanie a nemusíte tak navštevovať cvičenia znova. Prosím, vyplňte si takúto žiadosť, kde uvediete, že žiadate o uznanie predmetu (prípadne aj všetky, z ktorých máte A, B alebo C) a zanesiete to na PgO. Takéto žiadosti pán prodekan potom bez problémov schvaľuje a je to úplne v poriadku aj z hľadiska účasti na výučbe a pod. Nemusíte potom už nič ďalšie riešiť, rovno máte zapísanú známku v indexe.
Čierna skrinka
- Čierna skrinka - odtiaľto môžete anonymne posielať svoje otázky a pripomienky.
Prednášky
- 24.09. Základy číslicových počítačov. Zobrazenie informácie v počítači. Analógové (spojité) a číslicové (diskrétne) zobrazenie informácií. Údajové typy a ich zobrazenie. Číselné a znakové kódy. Základné aritmetické operácie - číselne sústavy (binárna, dekadická, hexadecimálna) (slajdy)
- 01.10. Ukladanie informácií v počítači. Kódy ASCII a Unicode, Big Endian, Little Endian. Reálne čísla s pohyblivou rádovou čiarkou, IEEE-754.  (slajdy)
 Úvod do programovania mikropočítača BBC micro:bit (slajdy)- Film The Imitation Game
- Angela Watercutter How Designers Recreated Alan Turing's Code-Breaking Computer for Imitation Game. Wired, 2104.
- Stránka micro:bit
 
- 08.10. Kombinačné logické obvody. Boolova algebra, DeMorganove pravdilá. Pravdivostná tabuľka, logická schéma, úplný systém logických funkcií. Analýza a syntéza logických obvodov. Polovičná a úplná sčítačka. (slajdy)
- Súťaž NxP Cup
- Doplnok k formátom s plávajúcou desatinnou čiarkou
- Pentium fdiv bug
- Ariane 5 - opis nehody (video)
- Patriot system timing error
- Robert Keim: What Is an FPGA? An Introduction to Programmable Logic. 2018
- Film Back to the Future a scéna so zosilňovačom
 
- 15. 10. Spínacie obvody. Relé, elektrónka, tranzistor, integrovaný obvod. Moorov zákon. (slajdy)
 Úvod do programovania mikropočítača BBC micro:bit (slajdy)
- 22.10. Sekvenčné obvody. Oneskorenie. Spätná väzba, oscilátor. Kybernetika. (slajdy)
- 29. 10. Prednáška odpadla
-  5. 11. Pamäte. Rýchlosť, cena, kapacita. Typy pamätí RWM, ROM, EPROM, EEPROM, FLASH. Adresovanie, dynamická a statická pamäť. (slajdy)
 Stavové diagramy a BBC micro:bit (slajdy)- Timeline of computer memory
- Static RAM 2114 1kB datasheet
- EEPROM 2708 1kB datasheet
 
- 12. 11. Georg Jaggle, TU Wien: Inputs and outputs ((Lecture in english). Vstupy a výstupy. Digitálny vstup, výstup, displej, klávesnica, multiplexovanie. ((slajdy))
- Úvodné video Matrix - computer interface
- Video z prezentácie Timo Boll vs. robot
- Romeo humanoid robot grasping demonstration
- Blue Danube Airskin collaborative robotics
- Paro therapeutic robot
- Thymio educational robot
 
- 19. 11.  Základná stavebné prvky procesora. Operačná a riadiaca časť procesora. Inštrukčný súbor. Typy inštrukcií. (slajdy)
- Frederico Faggin: Making of the First Microprocessor.
- Zoom Into a Microchip - National Informal STEM Education Network (NISE Net)
- Papierový počítač CGS
 
- 26. 11. Mikroprocesor II. Matematický koprocesor. Inštrukčný súbor. Typy inštrukcií. Formát inštrukcie. Inštrukcie - práca s pamäťovým systémom počítača. Spôsoby adresácie. Procesory s architektúrou RISC a CISC. Asembler, jazyk symbolických adries, simulátor a emulátor. (slajdy)
- Jednodoskový počítač PMI-80
- Osobný počítač PMD-85
- Školský robot KOLKA
- Aritmetický koprocesor i8087
- Ťahák na cvičenia s výberom inštrukcií
 
- 3. 12. Mikroprocesor III. Zásobník, prerušenie, podprogramy. Hierarchia počítačov, mainframe, workstation, embedded. Meranie výkonu počítačov.(slajdy)
- .11. Vstupno-výstupných podsystém. I/O karty. Paralelný port. Vstup a výstup logických a číslicových hodnôt (slajdy).
- .12. Prenos údajov. Zbernicová architektúra počítača. Zbernice. Sériové rozhranie a UART. Jednoprocesorové a viacprocesorové zbernice, arbitrácia prístupu. Multiplexovaná zbernica. Príklady štandardných zberníc (slajdy).
- .12.  William Carbone, IBM: Computing: vision for the Future. Invited lecture. History and status now. Limits and beyonds. Computers as a service.     Future challenges: blokchain, quantum computing, cognitive computing, clouds and services, internet of things. More information...
- slajdy
- History of computers - partI.
- History of computers - partII.
- IBM Watson Academy (free online courses)
- Link to IBM Cloud (1 month free, ask me for promo codes to prolong it)
- Video Johna Cohna, ktoré sme nevideli:
 
--> Slajdy z prednášok.
Literatúra
Zoznam odporúčanej študijnej literatúry:
- David Patterson John Hennessy: Computer Organization and Design ARM Edition. 1st Ed. Morgan Kaufmann, 2016. ISBN: 9780128017333
- Tibor Krajčovič: Počítače. Vydavateľstvo STU, Bratislava, 2000. Skriptá sú dostupné v knižnici FEI STU.
Internetové zdroje:
Cvičenia
Cvičenia prebiehajú v CPU (učebňa C-119).
Cvičenie 1
Teória: Číselné sústavy Príklady: Prevody medzi číselnými sústavami
Úlohy:
- prihlásiť sa na PC dočasným heslom a nájsť si v AISe mail s vlastným prihlasovacím menom a heslom.
- prihlásiť sa svojim menom a heslom
- vyskúšať si Eduroam meno a heslo
- nájdite si v AISe vstupný testík a vyplňte ho
- webstránka predmetu bude http://senzor.robotika.sk - prvá ikonka vľavo hore v tabuľke ZPOC
- Riešime príklady na prevody DEC-BIN-HEX-ASCII: Prevody medzi číselnými sústavami
Cvičenie 2
Teória: Aritmetické operácie v dvojkovej sústave
Úlohy:
- počítame jednoduché príklady Aritmetika v dvojkovej sústave
- počítame príklady Kódy a kódovanie
- počítame príklady Zobrazenie čísel v počítači
- 15 min. pred koncom cvičenia sa prihláste do AISu a vypracujte test
Viac informácií: Khan Academy
Cvičenie 3
Základy programovania.
Úlohy:
- Práca so simulátorom pre mikropočítač - návody: BBC micro:bit.
 → Link do programovacieho prostredia
- 15 min. pred koncom cvičenia sa prihláste do AISu a vypracujte test
 
Cvičenie 4
Teória: Logické obvody
Úlohy:
- Kombinačné logické obvody
- 15 min. pred koncom cvičenia sa prihláste do AISu a vypracujte test
Cvičenie 5
Základy programovania.
Práca so simulátorom pre mikropočítač (slajdy z prednášky)
         → Link do programovacieho prostredia
Úlohy: 
- Naprogramujte animáciu na reálnej micro:bit doštičke
- Naprogramujte hru kameň, papier, nožnice
- Naprogramujte aspoň dve rozličné logické funkcie premenných A a B
- Naprogramujte tester reakčnej doby (náhodne sa rozsvieti A alebo B a hráč musí stlačiť korešpondujúce tlačidlo, pričom sa zmeria čas od zobrazenia po stlačenie)
- 15 min. pred koncom cvičenia sa prihláste do AISu a vypracujte test
 
Cvičenie 6
Teória: Sekvenčné obvody
Úlohy:
- Sekvenčné logické obvody
- 15 min. pred koncom cvičenia sa prihláste do AISu a vypracujte test
Cvičenie 7
Základy programovania.
Práca so simulátorom pre mikropočítač BBC micro:bit
         → Link do programovacieho prostredia
Úlohy:
- Stavové diagramy s micro:bit
- 15 min. pred koncom cvičenia sa prihláste do AISu a vypracujte test
 
Cvičenie 8
Laboratórne cvičenie.
Úlohy:
- Zapojte a odmerajte vlastnosti kombinačných a sekvenčných obvodov podľa návodu Meranie logických obvodov
Cvičenie 9
Mikroprocesor.
Úlohy:
- Práca so simulátorom ASM80 pre mikropočítač
- Na konci cvičenia sa prihláste do AISu a vypracujte test
Zabudnuté inštrukcie
Ižinieri v Silicon Valley našli v archívoch dokument, z ktorého vyplýva, že niektoré assemblerovské inštrukcie, ktoré autori procesorov vytvorili sa napokon do procesorov nedostali. Ktovie prečo?
    BPDI    Be Polite, Don't Interrupt
    CLD     Call a Doctor
    CRB     Crash and Burn
    CRN     Convert to Roman Numerals
    DAC     Divide And Conquer
    DMNS    Do what I Mean, Not what I Say
    EPI     Execute Programmer Immediately
    GE      Generate  Error
    IBP     Insert Bug and Proceed
    IAN     Illogical AND
    IOR     Illogical OR
    JBW     Jump Both Ways
    JPO     Jump on Power Off
    JRA     Jump to Random Address
    LLI     Lose Last Instruction
    RNR     Rather Not Run
    RPM     Read Programmer's Mind
    SWOM    Store in Write Only Memory
 
Cvičenie 10
Senzory na micro:bit
Úlohy:
- Senzory na mikropočítači micro:bit
- Na konci cvičenia sa prihláste do AISu a vypracujte test
Cvičenie 11
Komunikácia s micro:bitmi
Úlohy:
- Komunikácia a micro:bit
- Na konci cvičenia sa prihláste do AISu a vypracujte test
Cvičenie 12
Tímová práca
Úlohy:
- Na začiatku cvičenia sa prihláste do AISu a vypracujte test
- Bežiaci text s micro:bit
Domáce úlohy
Téma komunikácie, ktorú sme na prednáškach nestihli prebrať ostáva na domáce naštudovanie. K dispozícii máte text 2. kapitoly z knižky, ten treba naštudovať a naučiť sa podstatné pojmy. Otázky z tejto kapitoly samozrejme tiež môžu byť na skúške.
- Balogh, Bélai, Dorner, Drahoš: Priemyselné komunikácie. STU, 2001.
Bonusové príklady
Za vyriešenie týchto úloh môžete získať okrem dobrého pocitu aj bonusové body. Nezíska ich každý, ale ten, kto ako prvý pošle ich riešenie na adresu balogh@elf.stuba.sk Ak budú riešenia aj s postupom a tie budú dostatočne odlišné, môžu bonusové body získať aj viacerí. Prečiarknuté body znamenajú, že úlohu môžete stále ešte riešiť sebe pre radosť, ale body, žiaľ, už nedostanete.
1. (1 bod) Riešenie nasledovného problému v šestnástkovom kráľovstve vám pomôže udržať bdelosť aj na zvyšku cvičenia 12648430DEC.
2. (1 bod) Vysvetlite, prečo programátori oslavujú vianoce už 30 októbra (pomôcka:  30 OCT = ??)
3. (2 body) Naprogramujte na micro:bite takú hraciu kocku (1-6), na ktorej bude šestka padať trikrát tak často ako ostatné čísla. Pošlite program v 
javascripte, alebo screenshot programu v blokoch. 
4. (2 body)
 
Záhadné skrinky slečny Portie 
V Shakespearovej hre Kupec Benátsky kupci vystupuje krásna, mladá a vzdelaná žena, Portia.
Pytačov trápi troma skrinkami - zlatou, striebornou a olovenou - v jednej z nich je obrázok 
s podobizňou krásnej Portie. Nápadník, ktorý by chcel získať Portiu za ženu, musí najprv 
určiť, v ktorej skrinke sa podobizeň nachádza. Ak bude mať šťastie (alebo je dostatočne múdry)
a uhádne, smie sa s ňou oženiť. Na vrchnáku každej skrinky je nápis, ktorý mu má pri voľbe napomôcť.
Portia dala na skrinky tieto nápisy:
      Zlatá             Strieborná          Olovená
      OBRAZ               OBRAZ              OBRAZ
    JE V TEJTO        NIE JE V TEJTO     NIE JE V ZLATEJ
     SKRINKE             SKRINKE            SKRINKE
Nápadníkovi prezradila, že z tých troch nápisov je pravdivý nanajvýš jeden. Ktorú skrinku si mal nápadník vybrať?
5. (2 body) Pre adresovanie počítačov v siet internet sa používa IPv6 adresa, ktorá
pozostáva z 8 skupín štvorciferných hexadecimálnych číslic oddelených dvojbodkami, napríklad
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Sledovaním sieťovej komunikácie na podozrivom počítači pomocou binárneho analyzátora sme zistili, že najčastejšie komunikuje s nasledovným serverom
0010 1010 0000 0011 : 0010 1000 1000 0000 : 0010 0001 0011 0000 : 1100 1111 0000 0101 : 1111 1010 1100 1110 : 1011 0000 0000 1100 : 0000 0000 0000 0000 : 0000 0000 0000 0000
Preveďte binárny tvar na hexadecimálny a pomocou služby https://ipinfo.io/ zistite, s kým vlastník počítača komunikoval.
6. (3 body) V ktorej sústave je toto pravda? (doplnok: napíšte všetky sústavy v ktorých to je pravda)
a) 10 + 11 = 101 b) 10 + 11 = 21 c) 1 + 1 = 3
7. (1 bod) Prečo sa Marián zľakol čísla 57005?
8. (5 bodov)
Jedna z prvých expedícií na Mars tam našla zvyšky civilizácie. Z rozličných artefaktov a obrázkov, ktoré tam našli, si vedci odvodili, že tvory, ktoré tu žili mali podobu štvornohých bytostí s jedným chápadlom, ktoré sa na konci rozvetvovalo na nezistený počet "prstov." Po ďalších hľadaniach a čiastočnej analýze marťasnkého písma boli prieskumníci schopní preložiť marťanskú matematiku. Našli nasledujúcu rovnicu:
5x2 - 50x + 125 = 0
pri ktorej boli ako riešenia uvedené x = 5 a x = 8. Prvý výsledok sa zdá byť správny, ale druhý nie. Medzi vedcami bol aj jeden, ktorý našiel dôkazy o tom, že Marťania sa ku svojmu číselnému systému dostali postupne veľmi podobne ako aj my. Čo myslíte, koľko prstov mali Marťania? (Z Bent z Tau Beta Pi , Február 1956).
9. (2 body)
Záhadné skrinky slečny Portie 
Nápadník nielen že úlohu správne vyriešil, ale sa Portii aj zapáčil a tak si ho vzala za muža. Lenže po istej dobe jej to nejako začalo vŕtať v hlave a zdalo sa jej, že tá úloha bola predsa len príliš jednoduchá a že ten jej manžel možno až taký múdry ani nie je. A začala vymýšlať, že ak neuhádne ani druhú hádanku, tak si nájde niekoho iného. Manželovi neostalo nič iné, len podvoliť sa Porciiným vrtochom.
       Zlatá                   Strieborná           Olovená
       OBRAZ                     OBRAZ               OBRAZ
 NIE JE v STRIEBORNEJ        NIE JE v TEJTO        JE V TEJTO     
      SKRINKE                   SKRINKE             SKRINKE
Prezradila mu, že z tých troch nápisov je aspoň jeden pravdivý a aspoň jeden nepravdivý. Ktorú skrinku
si mal manžel vybrať? 
Ako to už býva, manžel bol naozaj šikovný, uhádol aj tentoraz. Porciu potom prehol cez koleno a poriadne jej naplácal,  takže ju vymýšľanie prešlo a žili si šťastne až do smrti.
12.  (4 body)
 V učebnici Digital Design od Johna Wakerlyho je popísaný návrh konečného stavového automatu pre riadenie koncových blinkrov Fordu Thunderbird (rok výroby 1965). Ako rozcvičku si môžete takéto koncové svetlá naprogramovať na micro:bite. Ale úloha za 4 body je trocha komplikovanejšia: autor knihy mal presne takýto typ auta a poznávaciu značku nakreslil presne podľa tej svojej. Viete vysvetliť, čo znamená? Ak áno, potom viete aké písmeno bude nasledovať. 
13. (3 body) Pri riešení úloh v assembleri ste sa zrejme potrápili, kým ste zistili, že na výmenu dvoch 
premenných potrebujete ešte tretiu, pomocnú. Zapísané napríklad v C-čku, takto:
  a = 10; 
  b = 20;
 
  tretia = a;
  a = b;
  b = tretia;
Napriek tomu sa však táto úloha dá vyriešiť aj bez tej pomocnej premennej. Stačí vedieť sčítať a odčítať. Prídete na to ako?
10. (4 body)
Nasledovný program zoberie číslo, ktoré nájde v registri D, analyzuje ho a výsledok uloží do registra B.  Čo je výsledkom tohoto programu? Čo analyzuje?
          MVI B, 00h
          MVI C, 08h
          MOV A, D
    BACK: RAR
          JNC SKIP
          INR B
    SKIP: DCR C
          JNZ BACK
          HLT
11. (5 bodov)
Čo robí tento program?
            ORG     0030h 
            DB      1,7,1,3,2 
            DB      4,8,7,2,1 
    
            ORG     0000h 
            MVI     B,09 	; Initialize counter
START:      LXI     H,0030h ; Initialize memory pointer
            MVI     C,09H 	; Initialize counter 2
BACK:       MOV     A,M 	; Get the number
            INX     H 		; Increment memory pointer
            CMP     M 		; Compare number with next number
            JC      SKIP 	; If less, don’t interchange
            JZ      SKIP 	; If equal, don’t interchange
            MOV     D,M 
            MOV     M,A 
            DCX     H 
            MOV     M,D 
            INX     H 		; Interchange two numbers
SKIP:       DCR     C 		; Decrement counter 2
            JNZ     BACK 	; If not zero, repeat
            DCR     B 		; Decrement counter 1
            JNZ     START 
            HLT     		; Terminate program execution
</source>
14. (1 bod) Koľko jadier má súčasný najvýkonnejší počítač na svete?
Podmienky absolvovania predmetu
- Znalosť odprezentovanej problematiky
- Získanie zápočtu z cvičení
- Získanie potrebného počtu bodov na skúške (min. 50% písomky)
Podmienky na udelenie zápočtu:
- absolvovanie všetkých cvičení (max. 1 ospravedlnená neúčasť)
- vypracovanie všetkých testíkov aspoň na polovicuna primeraný počet bodov
Prácu študenta kontroluje a zápočty udeľuje cvičiaci daného krúžku.
Kontakty
Za menom je uvedené pracovisko, miestnosť a konzultačné hodiny. Zamestnanci STU majú e-mailové adresy v tvare meno.priezvisko@stuba.sk
Vyučujúci:
- Ing. Richard Balogh, PhD. (UAMT, D-110, piatok 12:00 - 13:00)
- Ing. Štefan Chamraz, PhD. (UAMT, D-108, štvrtok 14:00 - 15:00)
- Ing. Igor Belai, PhD. (UAMT, D-126, streda 13:00 - 14:00)

