fişa disciplinei
1. Date despre program
1.1 Instituţia de învăţământ superior	Universitatea Babes-Bolyai Cluj-Napoca	
1.2 Facultatea	Facultatea de Matematica si Informatica	
1.3 Departamentul	Departamentul de Informatica	
1.4 Domeniul de studii	Stiinta calculatoarelor	
1.5 Ciclul de studii	Licenta	
1.6 Programul de studiu / Calificarea	Ingineria Informatiei - romana	

2. Date despre disciplină
2.1 Denumirea disciplinei	Arhitectura sistemelor de calcul	
2.2 Titularul activităţilor de curs	Lect. Dr. Anca Andreica	
2.3 Titularul activităţilor de seminar	Lect. Dr. Anca Andreica	
2.4 Anul de studiu	2	2.5 Semestrul	3	2.6. Tipul de evaluare	E	2.7 Regimul disciplinei	Obligatorie	

3. Timpul total estimat (ore pe semestru al activităţilor didactice)
3.1 Număr de ore pe săptămână	4	Din care: 3.2 curs	2	3.3 seminar/laborator	1 sem + 1 lab	
3.4 Total ore din planul de învăţământ	56	Din care: 3.5 curs	28	3.6 seminar/laborator	28	
Distribuţia fondului de timp:	ore	
Studiul după manual, suport de curs, bibliografie şi notiţe	20	
Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren	10	
Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri	20	
Tutoriat	5	
Examinări 	14	
Alte activităţi: ..................		
3.7 Total ore studiu individual	69	
3.8 Total ore pe semestru	125	
3.9 Numărul de credite	5	

4. Precondiţii (acolo unde este cazul)
4.1 de curriculum	•		
4.2 de competenţe	•		

5. Condiţii (acolo unde este cazul)
5.1 De desfăşurare a cursului	•		
5.2  De desfăşurare a seminarului/laboratorului	•	Laborator cu calculatoare	

6. Competenţele specifice acumulate
Competenţe profesionale	
•	Cunoasterea, intelegerea si folosirea conceptelor de baza ale informaticii	
Competenţe transversale	•	Cunoasterea modelelor arhitecturale ale calculatoarelor, functionarea procesorului, utilizarea sistemelor de reprezentare a informatiei in calculator.
•	Initiere in programarea in limbaj de asamblare, ceea ce asigura intelegerea arhitecturii si functionarii unui microprocesor.
•	Initiere in arhitecturile sistemelor de intreruperi, cu particularizarea la masinile 80x86	

7. Obiectivele disciplinei (reieşind din grila competenţelor acumulate)
7.1 Obiectivul general al disciplinei	•	Cunoasterea modelelor arhitecturale ale calculatoarelor, functionarea procesorului, utilizarea sistemelor de reprezentare a informatiei in calculator.	
7.2 Obiectivele specifice

	•	Initiere in programarea in limbaj de asamblare, ceea ce asigura intelegerea arhitecturii si functionarii unui microprocesor.
•	Initiere in arhitecturile sistemelor de intreruperi, cu particularizarea la masinile 80x86.
•	Constientizarea influentei pe care principiile functionale de baza ale arhitecturii von Neumann le au asupra modului de implementare a limbajelor de programare de nivel înalt
•	Constientizarea impactului arhitectural asupra tehnicilor de proiectare si implementare a limbajelor de programare de nivel înalt.	

8. Conţinuturi
8.1 Curs	Metode de predare	Observaţii	

1-2. Reprezentarea datelor: date elementare, reprezentari binare si ordini de plasare, organizarea şi memorarea datelor, codificarea caracterelor, reprezentarea cu semn şi fără semn, cod complementar, conversii, conceptul de depăşire	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		

3-4. Arhitectura sistemelor de calcul: organizarea unui SC, unitatea centrală, ceasul sistem, calculator pe n biţi, memoria, dispozitivele periferice, performanţele unui SC, arhitectura microprocesorului 80x86 – structură, regiştri, calculul de adresă, moduri de adresare, adrese far şi near	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		

5. Elementele limbajului de asamblare: formatul unei linii sursă, expresii, tipuri de accesare a operanzilor, operatori, directive pentru definirea segmentelor, pt.definirea datelor, LABEL, EQU, PROC, INCLUDE, blocuri repetitive şi macrouri	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		

6-7. Instrucţiuni ale limbajului de asamblare: instrucţiuni de transfer, conversii, operaţii aritmetice cu semn şi fără semn, operaţii de deplasare şi rotire de biţi, operaţii logice pe biţi, instrucţiuni de salt condiţionat şi necondiţionat, instrucţiuni de ciclare, instrucţiuni pe şiruri	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		

8-9. Intreruperi: clasificare, instrucţiuni specifice lucrului cu întreruperi, formatele COM şi EXE; Redirectarea întreruperilor: programe TSR, instalarea şi dezinstalarea programelor TSR, depanarea programelor TSR, redirectarea întreruperilor în cadrul SO Windows	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		

10-11. Implementarea apelului de subprograme şi programare multimodul: cod de apel, cod de intrare, cod de ieşire, directivele PUBLIC, EXTRN, GLOBAL, legarea de module TASM cu module scrise în limbaje de nivel înalt	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		

12. Programare low-level în limbaje de nivel înalt: inserare de cod maşină, asambloare inline, proceduri şi funcţii assembler, accesarea regiştrilor şi apelarea de întreruperi, proceduri şi funcţii interrupt	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		

13. Extensii x86: modul de lucru protejat, extensii arhitecturale şi noi instrucţiuni introduse la nivelul evoluţiei familiei de procesoare 80x86	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		

14. Programarea în limbaj de asamblare sub Windows: apeluri sistem în modul de lucru protejat, limitări ale sistemului de întreruperi, asambloarele MASM şi NASM, asamblorul inline Visual C++	
Expunerea, conversaţia, dezbaterea, problematizarea,
descoperirea		
			
Bibliografie:

1. Al. Vancea, F. Boian, D. Bufnea, A. Gog, A. Darabant, A. Sabau – Arhitectura calculatoarelor. Limbajul de asamblare 80x86., Editura Risoprint, Cluj-Napoca, 2005.
2. A. Gog, A. Sabau, D. Bufnea, A. Sterca, A. Darabant, Al. Vancea – Programarea în limbaj de asamblare 80x86. Exemple si aplicatii., Editura Risoprint, Cluj-Napoca, 2005. 
3. Randal Hyde – The Art of Assembly Programming, No Starch Press, 2003.
    (http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/www.artofasm.com/DOS/index.html)
4. Boian F. M. Sisteme de operare interactive. Ed. Libris, Cluj, 1994
5. Boian F. M. De la aritmetica la calculatoare. Ed. Presa Universitara Clujeana, Cluj, 1996
6. Boian F. M., Vancea A., Iurian S., Iurian M. Programare avansata de sistem si aplicatii IBM-PC, lito. Universitatea "Babes-Bolyai", 1996
7. Boian F.M. Vancea A. Arhitectura calculatoarelor, suport de curs. Facultatea de Matematica si Informatica, Centrul de Formare Continua si Invatamânt la Distanta,. Ed. Centrului de Formare Continua si Invatamânt la Distanta, Cluj, 2002,
8. Knuth D.E. Tratat de programarea calculatoarelor; vol 3: Algoritmi seminumerici. Ed. Tehnica, Bucuresti, 1985
	
8.2 Seminar / laborator	Metode de predare	Observaţii	

1. Reprezentarea datelor, conversii, conceptul de depăşire	
Dialogul, dezbaterea, studiul de caz, exemple, demonstratii	Exista cate un seminar la fiecare doua saptamani, si cate un laborator la fiecare doua saptamani; materia predata la seminar este coroborata cu activitatea de la laborator	

2. Instrucţiuni ale limbajului de asamblare: instrucţiuni de transfer, conversii, operaţii aritmetice cu semn şi fără semn	
Dialogul, dezbaterea, studiul de caz, exemple, demonstratii		

3. Operaţii de deplasare şi rotire de biţi, operaţii logice pe biţi	
Dialogul, dezbaterea, studiul de caz, exemple, demonstratii		

4. Instrucţiuni de salt condiţionat şi necondiţionat, instrucţiuni de ciclare, instrucţiuni pe şiruri	
Dialogul, dezbaterea, studiul de caz, exemple, demonstratii		

5. Intreruperi, instrucţiuni specifice lucrului cu întreruperi	
Dialogul, dezbaterea, studiul de caz, exemple, demonstratii		

6. Implementarea apelului de subprograme şi programare multimodul	
Dialogul, dezbaterea, studiul de caz, exemple, demonstratii		

7. Programare low-level în limbaje de nivel înalt	
Dialogul, dezbaterea, studiul de caz, exemple, demonstratii		
			
Bibliografie:	

1. Al. Vancea, F. Boian, D. Bufnea, A. Gog, A. Darabant, A. Sabau – Arhitectura calculatoarelor. Limbajul de asamblare 80x86., Editura Risoprint, Cluj-Napoca, 2005.
2. A. Gog, A. Sabau, D. Bufnea, A. Sterca, A. Darabant, Al. Vancea – Programarea în limbaj de asamblare 80x86. Exemple si aplicatii., Editura Risoprint, Cluj-Napoca, 2005. 
3. Randal Hyde – The Art of Assembly Programming, No Starch Press, 2003.
    (http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/www.artofasm.com/DOS/index.html)

9. Coroborarea conţinuturilor disciplinei cu aşteptările reprezentanţilor comunităţii epistemice, asociaţiilor profesionale şi angajatori reprezentativi din domeniul aferent programului

•	Acest curs exista in programul de studiu al tuturor universitatilor importante din Romania si strainatate
•	Acest curs asigura cunostintele de baza pe care orice programator trebuie sa la aiba

	

10. Evaluare
Tip activitate	10.1 Criterii de evaluare	10.2 metode de evaluare	10.3 Pondere din nota finală	
10.4 Curs	- cunoasterea principiilor de baza ale domeniului
	Examen scris	60%	
	- aplicarea acestor concepte in rezolvarea de probleme
			
10.5 Seminar/laborator	- implementarea in limbaj de asamblare
	Teme laborator
	20%	
		Examen practic
	20%	
10.6 Standard minim de performanţă	
•	 Pentru promovare este necesara obtinerea notei minim 5 la examenul scris, examenul practic si temele de laborator

Data completării		  Titular de curs		               Titular de seminar
24.09.2012			Lect. Dr. Anca Andreica		Lect. Dr. Anca Andreica

Data avizării în departament			                          Director de departament	
...........................................					   …............................	......