A tantárgy adatlapja
1.	A képzési program adatai
1.1 Felsőoktatási intézmény	Babeș-Bolyai Tudományegyetem	
1.2 Kar 	Matematika és Informatika	
1.3  Intézet	Magyar Matematika és Informatika	
1.4 Szakterület	Matematika	
1.5 Képzési szint	alap	
1.6 Szak / Képesítés	Matematika-informatika 	

2.	A tantárgy adatai
2.1 A tantárgy neve	Számítási rendszerek architektúrája	
2.2 Az előadásért felelős tanár neve	Robu Judit	
2.3 A szemináriumért felelős tanár neve	Robu Judit, Áfra Attila	
2.4 Tanulmányi év	2	2.5 Félév	3	2.6 Értékelés módja	vizsga	2.7 Tantárgy típusa	kötelező –alap 	

3.	Teljes becsült idő (az oktatási tevékenység féléves óraszáma)
3.1 Heti óraszám	4	melyből: 3.2 előadás	2	3.3 szeminárium/labor	2	
3.4 Tantervben szereplő össz-óraszám	56	melyből: 3.5 előadás	28	3.6 szeminárium/labor	28	
A tanulmányi idő elosztása:	óra	
A tankönyv, a jegyzet, a szakirodalom vagy saját jegyzetek tanulmányozása	14	
Könyvtárban, elektronikus adatbázisokban vagy terepen való további tájékozódás	7	
Szemináriumok / laborok, házi feladatok, portofóliók, referátumok, esszék kidolgozása	35	
Egyéni készségfejlesztés (tutorálás)	7	
Vizsgák	6	
Más tevékenységek: ..................		
3.7 Egyéni munka össz-óraszáma	69	
3.8 A félév össz-óraszáma	125	
3.9 Kreditszám	5	

4.	Előfeltételek (ha vannak)
4.1 Tantervi	•	Nincsen	
4.2 Kompetenciabeli	•	Programozás alapkompetenciái	

5.	Feltételek (ha vannak)
5.1 Az előadás lebonyolításának feltételei	•	Táblával és videoprojektorral felszerelt előadó	
5.2 A szeminárium / labor lebonyolításának feltételei	•	Számítógépes terem, Windows operációs rendszer	

6.	
Elsajátítandó jellemző kompetenciák
Szakmai kompetenciák	

•	A számítógép architektúrájából adódó specifikus lehetőségek ismerete
•	Az assembly programozás nyújtotta lehetőségek ismerete, használata
	
Transzverzális kompetenciák 	•	A diák elemző és szintetizáló képességének fejlesztése.
•	A szakmai etika elveinek, normáinak és értékeinek alkalmazása egy felelős, hatékony és igényes munkastratégia kialakításában.
•	A képzési lehetőségek beazonosítása és a tanulási módszerek és erőforrások hatékony felhasználása a hallgató fejlődésének érdekében.	

7.	A tantárgy célkitűzései (az elsajátítandó jellemző kompetenciák alapján)
7.1 A tantárgy általános célkitűzése	•	Számítógép architektúra modellek és a processzorok működési elveinek megismerése
•	Az architektúrának a magasszintű programozási nyelvek tervezésére és megvalósítására gyakorolt hatásának tudatosítása	
7.2 A tantárgy sajátos célkitűzései

	•	Assembly programozás elsajátítása
•	Az x86-os architektúra alapos ismerete
•	Az architektúrából adódó lehetőségek felismerése
•	Az architektúrából adódó leggyakoribb programozási hibák felismerése, elkerülése	

8.	A tantárgy tartalma
8.1 Előadás	Didaktikai módszerek	Megjegyzések	
1.	A számítógépek és processzorok fejlődése, jellemzőik	Előadás, vetítés, megbeszélés		
2.	32 bites Intel processzorok
–	felépítés
–	regiszterek
–	jelzőbitek
–	címzésmódok	Előadás, vetítés, megbeszélés		
3.	Idem	Előadás, vetítés, megbeszélés		
4.	Utasításkészlet
–	adatmozgatás
–	aritmetikai műveletek
–	logikai műveletek és bitmanipuláció
–	vezérlésátadás
–	string műveletek
–	különfélék	Előadás, vetítés, megbeszélés		
5.	Idem	Előadás, vetítés, megbeszélés		
6.	Idem	Előadás, vetítés, megbeszélés		

7.	Alprogramok, 
–	paraméterek, 
–	paraméterátadási konvenciók
–	lokális változók 	Előadás, vetítés, megbeszélés		
8.	Megszakítások
–	a megszakítás mechanizmusa
–	valós üzemmódú megszakítások és rendszerhívások
–	állományok kezelése	Előadás, vetítés, megbeszélés		
9.	SSE	Előadás, vetítés, megbeszélés		
10.	Védett üzemmód
–	szerepe
–	regiszterek
–	szegmentálás, deszkriptorok
–	lapozás
–	védelmi szintek
–	kapuk
–	task kezelés	Előadás, vetítés, megbeszélés		
11.	Idem	Előadás, vetítés, megbeszélés		
12.	Idem	Előadás, vetítés, megbeszélés		
13.	Idem	Előadás, vetítés, megbeszélés		
14.	Összefoglaló	Előadás, megbeszélés		
Könyvészet
1.	Alexandru Vancea, Florian Boian, Darius Bufnea, Anca Gog, Adrian Dărăbant, Andreea Sabău, Arhitectura calculatoarelor. Limbajul de asamblare 80x86, Ed.Risoprint, Cluj Napoca, 2005.
2.	Anca Gog, Andreea Sabău, Darius Bufnea, Adrian Sterca, Adrian Dărăbant, Alexandru Vancea, Programarea în limbaj de asamblare 80x86. Exemple şi aplicatii, Ed.Risoprint, Cluj Napoca, 2005.
3.	Murdocca M.J., Heuring V.P. Computer Architecture and Organization: An Integrated Approach, Wiley, 2007.
4.	Randall Hyde, The Art of Assembly Programming, No Starch Press Inc., 2003. http://webster.cs.ucr.edu/
5.	Stallings W. Computer Organization and Arhitecture; Principles, Structure and Function. Mc. Millan Pub. Comp.  New-York, London, 1987	
8.2 Szeminárium / Labor	Didaktikai módszerek	Megjegyzések	
1.	Ismerkedés az assembly alapfogalmaival a debug program segítségével	Feladatlap kidolgozása, kérdések megbeszélése, önálló munka	Assembly tutorial a canvas-on	
2.	Programok fejlesztése assembly-ben: Notepad++, nasm, alink, ollydbg
Aritmetikai és logikai műveletek	A feladatok megbeszélése, példaprogram		
3.	Aritmetikai és logikai műveletek	Önálló munka, kérdések megbeszélése		
4.	Számok írása, olvasása assembly-ben	A feladatok megbeszélése, példaprogram		
5.	16 illetve 32 bites hexa és decimális számok írása és olvasása	Önálló munka, kérdések megbeszélése		
6.	Bináris számok írása és olvasása, bitmanipuláció	Önálló munka, kérdések megbeszélése		
7.	Karakterláncok kezelése	A feladatok megbeszélése, példaprogram		

8.	Karakterláncok kezelése	Önálló munka, kérdések megbeszélése		
9.	Modulok készítése a gyakran használt ki-bemeneti műveletek és string-műveletek elvégzésére	Önálló munka, kérdések megbeszélése		
10.	SSE	A feladatok megbeszélése, példaprogram		
11.	SSE – Valós számok olvasása, írása	Önálló munka, kérdések megbeszélése		
12.	SSE – Vektorműveletek	A feladatok megbeszélése, példaprogram		
13.	Vektorműveletek	Önálló munka, kérdések megbeszélése		
14.	Értékelés			
Könyvészet	
1.	***, The Netwide Assembler: NASM, http://nasm.sourceforge.net/doc/html/nasmdoc0.html
2.	***, Intel® 64 and IA-32 Architecture Software Developer's Manuals, http://www.intel.com/products/processor/manuals/
–	Volume 1: Basic Architecture 
–	Volume 2: Instruction Set Reference 
–	Volume 3: System Programming Guide 	

9.	A tantárgy tartalmának összhangba hozása az episztemikus közösségek képviselői, a szakmai egyesületek és a szakterület reprezentatív munkáltatói elvárásaival.
•	 A tantárgy tartalma megegyezik az egyetemi oktatásban a fontosabb egyetemeken oktatott számítógép architektúra illetve assembly programozás bevezető tárgy hagyományos tartalmával.	

10.	Értékelés
Tevékenység típusa	10.1 Értékelési kritériumok	10.2 Értékelési módszerek	10.3 Aránya a végső jegyben	
10.4 Előadás 	Alapfogalmak ismerete	Előadásokon írt rövid zárthelyik	28%	
		Félév végi teszt	14%	
10.5 Szeminárium / Labor	Feladatmegoldások helyessége	Laborfeladatok	37%	
		Félév végi gyakorlati vizsga	21%	
10.6 A teljesítmény minimumkövetelményei	
•	Félév végi teszt min. 10 pont (elérhető 20 pont)
•	Félév végi gyakorlati vizsga min. 10 pont (elérhető 30 pont) – tudjon helyesen megírni egy egyszerű assembly programot	

Kitöltés dátuma			Előadás felelőse			Szeminárium felelőse
2012. szept. 8. 			dr. Robu Judit docens			Áfra Attila

Az intézeti jóváhagyás dátuma				Intézetigazgató,	
2012. szept. 28.						Dr. Szenkovits Ferenc, egyet. docens