Yleistä
Luennot maanantaisin (klo 14.15) ja keskiviikkoisin (klo 10.15) aikavälillä 27.10.-03.12.2008. Päätedemot kerran viikossa.
Kurssilla käydään läpi seuraavia asioita: tietokonejärjestelmä abstraktina systeeminä, suoritinarkkitehtuurit, käskykannat, hierarkkinen muisti, väylät, ohjelman suoritus ja tulkinta, tietokonejärjestelmän tehokkuus.
Kurssin suoritus koostuu kahdesta osasta: 1) tekninen päätetentti sekä 2) faktoihin ja teoriaosuuteen perustuvat kirjallinen tentti. Kurssin harjoituksista ei myönnetä erillisiä hyvityspisteitä, mutta päätetenttiä varten tarvitset työskentelyrutiinia, jota saat harjoituksia tekemällä.
Esitiedot: Perusohjelmointitaito ja hieman ymmärrystä käyttöjärjestelmistä
Laajuus: 3 op
Kurssin sisältö
Historiaa ja tietokoneen kehittymiseen vaikuttaneita tekijöitä | |
Tietokone abstraktina yksikkönä | |
Tietokoneen ohjaaminen | |
Käskyn ja datan esittäminen | |
Suorittimen sisäinen toiminta; käskyjakso, muistin osoittaminen, | |
liukuhihna | |
Hierarkkinen muisti; rekisterit, välimuisti, keskusmuisti, | |
ulkoinen muisti, off line -muisti | |
Kiintolevy; levyn sisäinen rakenne, levyn osoittaminen, RAID | |
Tietokoneen käynnistysprosessi | |
Nykyaikaisen prosessorin tehostamistoimet; | |
suoritusjärjestyksen muuttaminen, rekistereiden uudelleennimeäminen, | |
P4, IA-64 | |
Luennot | |
1. luento (27.10.2008) | |
2. luento (29.10.2008) | |
3. luento (03.11.2008) | |
4. luento (05.11.2008) | |
5. luento (10.11.2008) | |
6. luento (12.11.2008) | |
7. luento (17.11.2008) | |
8. luento (19.11.2008) | |
9. luento (24.11.2008) | |
10. luento (26.11.2008) | |
11. luento (01.12.2008) | |
12. luento (03.12.2008) | |
Demot | |
1. demot (vko 44) | |
2. demot (vko 45) | |
3. demot (vko 46) | |
4. demot (vko 47) | |
5. demot (vko 48) | |
6. demot (vko 48) | |
Oheislukemista ja muuta aiheeseen liittyvää
- Pasi Koikkalainen ja Pekka Orponen: Tietotekniikan perusteet (luentomoniste)
- David Patterson ja John Hennessy: Computer Organization and Design
- William Stallings: Computer Organization and Architecture - Designing for Performance
- Noam Nisan ja Shimon Schocken: The Elements of Computing Systems: Building a Modern Computer from First Principles
- Andrew S. Tanenbaum: Structured Computer Organization
- Greg W. Scragg: Computer Organization - A Top Down Approach
- Gallery of Famous Mathematicians (matemaatikot ovat vaikuttaneet tietotekniikan kehitykseen)
- Martin Davis: Tietokoneen esihistoria Leibnizista Turingiin
- William Aspray (toim.): Computing Before Computers
- American University Computing History Museum - Virtual Museum Tour
- Suomen tietojenkäsittelymuseo
- Computer History Museum - Timeline of Computer History
- Historic Computer Images
- Mikä Unicode on?
- IEEE-754 Calculators
- MikroPC:n artikkeli optisista levyistä
- C++ Language Tutorial
- Bruce Eckel: Thinking in C++
- Jukka Korpela: Tietoa C-ohjelmointikielestä (ja C++:sta) Internetissä
- Jonathan Bartlett: Programming from the Ground Up
- Technical x86 processor information
- IA-32 Intel Architecture Software Developer’s Manual Volume 1: Basic Architecture
- Intel 64
- AMD 64
- Paul Carter: PC Assembly Language
- The Netwide Assembler (NASM)
- NASM x86 Assembly Quick Reference
- Ram Narayan: Linux assemblers: A comparison of GAS and NASM