IAY0140  "Arvutite aritmeetika ja loogika"
LAIENDATUD AINEPROGRAMM 2018

*********************************************************************
Kursuse maht:  5 EAP-d

1 loengupaar üle nädala - dots. Margus Kruus
1 harjutustunnipaar igal nädalal - lektor Harri Lensen
Kursus lõpeb suulise eksamiga, kuid eksamihinne
on võimalik ja väga soovitav kätte saada ka regulaarse tööga semestri vältel.
Semestritööpõhise hinde moodustumise reeglid aastal 2018 on peatselt nähtaval SIIN!!


SEMESTRI VÄLTEL aine IAY0140 raames SOORITATAVAD TÖÖD:
1. Veebipõhiste TESTIDE sooritamine
(25 testikomplekti) e-õppekeskkonnas Moodle.
*****************************************************************************************************
Selleks on vaja siseneda Moodle-i keskkonda, registreeruda TTÜ Infotehnoloogia teaduskonna
Arvutisüsteemide instituudi ainele "Arvutite aritmeetika" ja sooritada KÕIK TESTID tähtaegselt!
Kursusele saab ise registreeruda kuni 28.veebruarini 2018!!
NB!! Koos kursusele registreerumisega täitke kindlasti kohe ära nn.
"registreerumistest" ehk "MINU OSALEMISTEADE" (avatud samuti 28.veebrurini)

NB!! Kogu semestri vältel jälgige testide sulgumise tähtaegu!! Tähtajad on nähtavad siin!
Testide sooritamise tähtaegu ei pikendata ja testide uuesti avamist ei toimu!!
Kõigi probleemide korral pöörduge e-maili teel Harri Lenseni või Margus Kruusi poole!

*****************************************************************************************************
2. Individuaalse KODUTÖÖ koostamine, esitamine ja vajadusel kaitsmine
OMA KODUTÖÖ individuaalülesande leiad siit!!

3. Referaaadi koostamine (teemade loetelu nähtaval siin, kuid võimalik pakkuda ka omapoolset teemat!!)

Kõigil, kes soovivad sooritada SUULIST eksamit, palun kontakti võtta e-kirjaga!!

Loengukursuse põhiteemad:

1. Arvusüsteemid

1.1. Positsiooniliste arvusüsteemide alused. Teisendused arvusüsteemide vahel. Arimeetika põhitehete sooritamine erinevates arvusüsteemides.
1.2. Kahendsüsteem. Kahendsüsteemi erikujud. Täis- ja murdarvud. Põhitehted. Kolmendsüsteem.
1.3. Negatiivsete arvude esitus. Pöördkood. Täiendkood. Tehted. Ületäitumise probleemid: ülekannete analüüs, dubleeritud märgijärgud.
1.4. Arvude kahend-kümnendesitus (BCD-koodid). Kood 8421. Kood XS3. Teisi BCD koode. BCD-aritmeetika.
1.5. Ujupunktarvud. Arvude poollogaritmiline esitus. Normaliseerimine. Diapasoon. Ujupunktaritmeetika. Ületäitumise probleemid. UPA andmevormigud.

2. Aritmeetikaalgoritmid
2.1. Elementaarprotsessor: juht- ja operatsioonautomaadi koostöö. Elementaar-operatsioonid. Operatsioonelemendid. Loogikatingimuste ja  elementaaroperatsioonide kirjeldamine. Algoritmi graaf-skeem (AGS).
2.2. Korrutamine. Baasalgoritmid: korrutamine alates madalamast ja kõrgemast järgust, Booth'i algoritm, märgiga arvude korrutamine.
2.3. Korrutamise kiirendamine. Korrutamine mitme kohaga üheaegselt.  Ülekannete vahesalvestus.
2.4. Jagamise baasalgoritmid: jäägi taastamisega ja taastamiseta jagamine. Märgiga arvude jagamine. Jagamise kiirendamine.
2.5. Tehted ujupunktarvudega.

2.6. Eritehted: ruutjuure võtmine jm.

Kirjandus:

1.  Israel Koren "Computer Arithmetic Algorithms", 2002
2. Amos R. Omondi "Computer Arithmetic Systems: Algorithms, Architecture and Implementation", 1994

3. Michael Flynn "Advanced Computer Arithmetic Design", 2001
4. A.Ariste "Digitaalseadmete aritmeetika ja loogika"
5. A.Ariste "Tehted digitaalseadmetes"
6.  Õppeaine koduleht
7.  Aritmeetikatehete simulaator 1 (valik erinevaid aritmeetikaoperatsioone)
8.  Aritmeetikatehete simulaator 2 (tehted kinnis- ja ujupunktarvudega, BCD koodid, erinevad arvusüsteemid)

Õppematerjal 1 (sissejuhatus arvusüsteemidesse, .pdf)
Õppematerjal 2 (kahendsüsteem ja sellega seotud arvusüsteemid, .pdf)
Õppematerjal 3 (täiend- ja pöördkood, .pdf)
Õppematerjal 4 (BCD koodid, .pdf)

Loengumaterjale

0. Sissejuhatav loeng, kursuse tutvustus (.doc)
1. Üldmõisted arvusüsteemidest. Süsteemidevahelised teisendused. Kahendsüsteem (.doc)
Sama (.pdf)
2. Kaheksandsüsteem. Kahendsüsteemi erikujud. Kolmendsüsteem (.doc)
Sama (.pdf)
3. Negatiivsete arvude esitus. Täiendkood. Pöördkood (.doc)
Sama (.pdf)
4. Kahend-kümnendkoodid (BCD-koodid) (.doc)
Sama (.pdf)
5. Ujupunktarvud (.doc)
Sama (.pdf)

6. Tehete realiseerimine. Üldmõisted ja tähistused
Sama (.pdf)

7. Korrutamisalgoritmid,
korrutamise kiirendamine
Sama (.pdf)
8. Jagamisalgoritmid
Sama (.pdf)
9. Ruutjuure leidmine
Sama (.pdf)

10. Jäägisüsteem. Lisaülesandeid (.doc)
Sama (.pdf)