Computer Architecture

           Do not forget to be creative! This is an option and a way to happiness.           

 

Solutions 21st Century Skills  BETT 2009- Londra: Siveco&Sanako  Moodle platform  Keys skills  Microsoft Surface  Intel - Dell

Course: COMPUTER ARCHITECTURE | Bachelor of Science (Computer Science)
Software: Assembler, C, Windows, Unix, Linux, Java Platform

Predicting the Future of Computing: "Readers are invited to make predictions and collaboratively edit this timeline, which is divided into three sections: a sampling of past advances, future predictions that you can push forward or backward in time (but not, of course, into the past), and a form for making and voting on predictions." The New York Times
MOTTO: “It would appear that we have reached the limits of what is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound pretty silly in 5 years.” John von Neumann, 1949 (Wobbe Vegter, http://wvegter.hivemind.net/abacus/CyberHeroes/Neumann.htm)
The Art of Assembly Language Programming (pdf): An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture.
Dacă în deceniul 70 (secolul XX) la nivel universitar, erau câteva discipline proprii informaticii, astăzi există domenii complexe ale Informaticii: Sisteme de operare, Arhitectura calculatoarelor, Programare şi Software Engineering, Reţele de calculatoare şi Computing, Baze de date şi sisteme informatice, Programare şi dezvoltare Web, Grafică pe calculator şi realitate virtuală, Geometria computaţională, Modelare şi simulare, Calcul paralel şi distribuit, Inteligenţă artificială şi sisteme expert, Ingineria cunoaşterii.

 

Comentariu introductiv

Complexitatea aplicaţiilor de utilizare a calculatorului în diverse domenii de activitate (inclusiv in educatie), a determinat perfecţionarea, atât a sistemelor de operare şi limbajelor de programare, cât şi a tehnologiilor şi platformelor.  Au fost concepute şi elaborate noi sisteme de operare, noi limbaje de programare, noi tehnologii. Dacă în anii ’70 inventarea şi utilizarea microprocesorului au însemnat o revoluţie  în domeniul arhitecturii calculatoarelor, în anii ’90 a fost o adevărată revoluţie, atât în domeniul reţelelor de calculatoare, cât şi în domeniile limbajelor de programare (Java şi JavaScript) şi sistemelor de operare (Linux, Windows). Astfel, au apărut tehnologiile Web. Trebuie menţionate dezvoltarea şi evoluţia limbajului C++ care în anii ’80 a implementat şi dezvoltat modelul orientat spre obiecte (modelul programării obiectuale are rădăcini în limbajele SmallTalk, Lisp etc.) şi programarea orientată spre obiecte (OOP-Object Oriented Programming).

Definition. Assembler: Assembly language is the uncontested speed champion among programming languages. An expert assembly language programmer will almost always produce a faster program than an expert C programmer.

"Machines have so much memory today, saving space using assembly is not important. If you give someone an inch, they’ll take a mile. Nowhere in programming does this saying have more application than in program memory use. For the longest time, programmers were quite happy with 4 Kbytes. Later, machines had 32 or even 64 Kilobytes. The programs filled up memory accordingly. Today, many machines have 32 or 64 megabytes of memory installed and some applications use it all. There are lots of technical reasons why programmers should strive to write shorter programs, though now is not the time to go into that. Let’s just say that space is important and programmers should strive to write programs as short  as possible regardless of how much main memory they have in their machine."

Source:  The Art of Assembly Language Programming, Spring 2008, Yale University, http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/ (pdf)

Ex.:  prog1.asm
==================
.model small
.stack
.data
a db 00110000b
.code
start:
mov ax,@data
mov ds,ax
mov bl,01010000b
mov al,a
not al ;AL=11001111b
mov al,a
and al,bl ;AL=00010000b
mov al,a
or al,bl ;AL=01110000b
mov al,a
xor al,bl ;AL=01100000b
mov ah,4ch
int 21h
end start

===================

OBIECTIVE

  • Însuşirea noţiunilor fundamentale despre structura, arhitectura şi funcţionarea calculatoarelor.
  • Însuşirea noţiunilor fundamentale despre descrierea şi proiectarea unităţilor calculatoarelor la nivelul transferurilor între registri

 

Descriptori

Memoria fizică, memoria virtuală, instructiuni, registri, adrese, flux de calcul, sumator, microporocesor, microprogramare, macroinstructiune, tipuri de date, memoria stiva, intreruperi de sistem.

 

Obiectivele disciplinei

Obiectivele cursului

Obiectivele activităţilor aplicative

(seminar, laborator, proiect)

  • intelegerea si asimilarea principalelor cunostinte privind arhitectura şi funcţionarea calculatoarelor
  • programarea in limbajul masina Assembler

 

  • Competente privind programarea şi dezvoltarea de aplicaţii software cu microprocesoare
  • Utilizarea programării în limbaj de asamblare pentru procesoare Intel

CONTINUT

1. ELEMENTE INTRODUCTIVE PRIVIND CALCULATOARELE: Reprezentările funcţionale şi structurale ale sistemelor de calcul, Organizarea calculatorului, Magistrale, Tipuri de microprocesoare, Modalităţi de evaluare a performanţelor;

2. UNITATEA CENTRALA DE PROCESARE (UCP): Structura de procesor, funcţionare, cale de date, unitate de control, arhitectura unei UCP elementare, adresarea şi selectarea memoriei principale, indicatori de condiţii şi de control, interfaţa cu exteriorul, tipuri de semnale pe magistralele externe, întreruperi şi excepţii, memoria stivă, seturi de instrucţiuni, CISC/RISC, moduri de adresare, unitatea de control, structuri de tip pipeline (conductă);

3. ORGANIZAREA MEMORIEI: Funcţie, caracteristici principale, organizarea pe niveluri ierarhice, RAM static, RAM dinamic, cache, tehnici de administrare a memoriei, implementarea memoriei virtuale;

4. ORGANIZAREA SISTEMULUI DE INTRARE/IESIRE (I/O): interfeţe, comunicaţii seriale sincrone şi asincrone, modalităţi de transfer I/O, standarde de interfaţare la magistralele calculatorului: ISA, PCI, EIA232, USB;  

5. NIVELUL MICROARHITECTURII: Un exemplu de microarhitectură, Proiectarea nivelului microarhitecturii, Microarhitectura Pentium, Microarhitectura UltraSPARC, Microarhitectura Java

6. ARHITECTURA SETULUI DE INSTRUCŢIUNI: Tipuri de date, Formate de instrucţiuni, Adresarea, Tipuri de Instrucţiuni, Fluxul de control;

7. NIVELUL LIMBAJULUI DE ASAMBLARE: Introducere în limbajul de asamblare Macro, Procesul de asamblare, Editarea legăturilor şi încărcarea programelor.

 

SEMINAR ÎN SISTEM TUTORIAL

1. Structura unui program în limbaj de asamblare.
2. Utilizarea registrelor.
3. Organizarea memoriei.
4. Tipuri de instrucţiuni.
5. Utilizarea întreruperilor.
6. Crearea unei interfeţe utilizator.
7. Lucrul cu şirurile. Căutare.
8. Lucrul cu şirurile. Comparare.
9. Utilizarea procedurilor.

 

Bibliografie

1.     A. Tanenbaum, Retele de calculatoare, Ed. Byblos, ed. a IV-a, 2004

2.     Andrew Tanenbaum - Organizarea structurată a calculatoarelor, Editura Agora, 1999, Ed. Morgan Kaufmann, 2001/2004

3.     D.Gorgan, G.Sebestyen - Structura calculatoarelor, Editura Albastră, 2000.

4.     D. A. Patterson, J. L. Henessy – Organizarea şi proiectarea calculatoarelor. Interfaţa hardware/software, Ed. All , Bucureşti, 2002

5.     S. Burada, G. Ciobanu, Atelier de programare in retele de calculatoare, Ed. Polirom, 2001

6.     Rudolf Eigenmann and David J. Lilja, Von Neumann Computers, 1998, https://engineering.purdue.edu/~eigenman/reports/vN.pdf

7.     Gavin's Guide to 80x86 Assembly", http://www.intel-assembler.it/portale/5/A-guide-about-Assembler-in-8-parts/A-guide-about-Assembler-in-8-parts.asp

8.     The Art of Assembly Language Programming, Spring 2008, Yale University, http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/

9.     M. Vlada, Informatica, Ed. Ars Docendi, 1999 (exista la Biblioteca FMI si BCU) - sect. 4.8 si 5.1-5.5

10.  M. Vlada, http://ebooks.unibuc.ro/informatica.htm/Seiso/ , Software educational  - Sisteme de operare, Web site al Universitatii din Bucuresti, 2002 – “sistemul Internet”

11.  D. Dragulici, UB, FMI, http://www.cs.unibuc.ro/~dra/did/ac/acindex.html

12. R. Lupsa, UBB, FMI, http://www.cs.ubbcluj.ro/~rlupsa/edu/ac/doc/

Exemple Programe: Fisier de tip .doc ! limbaj_asamblara

Notes:

1. The von Neumann Architecture of Computer Systems (http://www.brown.edu/Research/Istrail_Lab/von_neumann.php , Istrail si Solomon Marcus: http://www.brown.edu/Research/Istrail_Lab/papers/Istrail-Marcus012912FINAL.pdf)

- Von Neumann, J. 1981. First draft of a report on the EDVAC." In Stern, N. From ENIAC to Univac: An Appraisal of the Eckert-Mauchly Computers. Digital Press, Bedford, Massachusetts, http://www.csupomona.edu/~hnriley/www/VonN.html

- John von Neumann's EDVAC Report 1945  John von Neumann's 1945 on June 30 by Hungarian mathematician John von Neumann (1903-1957) , http://www.velocityguide.com/computer-history/john-von-neumann.html

- http://www.wps.com/projects/EDVAC/

2. The Virtual Von Neumann Architecture and the global computer

- http://meta-artificial.blogspot.com/2005/07/virtual-von-neumann-architecture.html

 

 

TextBook vs. Tablet PC

The "Smart education" Project: 2015

S. Korea to digitise school books  | Coreea de Sud schimbă manualele cu Tablete PC

The South Korean government has said it plans to digitise all textbooks for elementary, middle and high school students by 2015. This plan for "smart education" is aimed at helping students create their own study pattern, and lighten their backpacks. Source: http://www.channelnewsasia.com/

"Ministerul Educaţiei, Ştiinţei şi Tehnologiei din Corea de Sud a anunţat un plan pentru migrarea de la manualele şcolare clasice, pe suport de hârtie, la manuale în format electronic. Ministerul a alocat proiectului suma de aproximativ două miliarde de dolari, iar tranziţia urmează să se finalizeze în 2015, când se estimează că toţi elevii din învăţământul primar vor beneficia de noile manuale, precum şi de dispozitive hardware corespunzătoare, tablet PC-uri sau telefoane smart. În următorii ani autorităţile trebuie să se asigure că toate materialele didactice vor fi digitalizate. Toţi elevii sud coreeni vor primi gratuit tabletele digitale, iar manualele vor fi disponibile pentru descărcare de pe serverele ministerului, prin intermediul reţelelor WiFi locale." Sursa: http://portal.edu.ro/index.php/articles/11512

Tablet PC – calculator portabil al cărui ecran (de regulă cu o diagonală de 12 inchi) îndeplineşte o funcţie dublă: cea de afişare a informaţiei şi interfaţă de manipulare a calculatorului (de obicei prin intermediul unui stylus -unealtă de scris sub forma unei mini-baghete din material plastic sau metal având la vârf o bobiţă din plastic, folosită pentru interacţiunea cu ecranele tactile rezistive, sau folosind degetele - touch). Primul tablet a fost lansat în 2001 de către Microsoft şi folosea Windows XP Tablet PC Edition.

Tablet PC,  iPad, Surface

Tipuri de Tablet PC: a) tip broşură ; b) tip placă; c) tip decapotabil; d) tip hibrid.                     e) UltraBook Intel

  Tablet-slate-form  Booklet form  Medical tablet  convertible laptop tablet pc  hybrid tablet pc  Intel-Ultrabook

Sursa: http://www.it4fans.ro/ 

 

Mobile Technology and Communications

 

Topics: Mobile Learning (m-Learning), Mobile Network Technology, Mobile software, Mobile Internet, Mobile dating, Health impact, Mobile phone features

"M-learning’ is the follow up of E-learning and which originates from D-learning (distance learning). M-learning is the delivery of education to the students who are not having fixed location or who prefer to use mobile phone technology for learning. The rapid growth in the mobile and communication sector make it possible to develop new forms of education. M-learning means delivery of education by means of the mobile phone devices, PDAs and audio players. M-learners seek the lessons in the small format." Ref.: http://www.networktutorials.info/

Mobile Technologies

HARDWARE:iPad, iPhone, Smartphone, Tablet PC

SOFTWARE: Operating Systems - iOS, Android, Windows Phone 7, BlackBerry, Chrome OS tablet, WebOS, MeeGo

Companies (Manufacturers): Apple, Google, Microsoft, Research in Motion (RIM) Mobile Services and Apps (Apple, Google, Microsoft): iOS, Android, BlackBerry, Windows Phone7

Ref.: www.agora.ro/conferinta/programatica-2011-mobile-services-and-apps

Tehnologia secolului 21

IBM PureSystems - sistemele de calcul noi de tip „sisteme expert integrate”.

- Design „Scale-In”: Integrează servere, sisteme de stocare şi reţele de calculatoare.
- Modele de expertiză: IBM încorporează expertiză tehnologică şi industrială prin intermediul aplicaţiilor software.
- Integrare cu mediul „Cloud”: Sistemele din familia PureSystems sunt create pentru mediul „Cloud Computing”.
Detalii:
http://www.agora.ro/stire/ibm-lanseaza-o-noua-era-a-sistemelor-de-calcul
http://www-03.ibm.com/press/us/en/presskit/37378.wss

Tehnologia secolului 21

IBM PureSystems - sistemele de calcul noi de tip „sisteme expert integrate”.

- Design „Scale-In”: Integrează servere, sisteme de stocare şi reţele de calculatoare.
- Modele de expertiză: IBM încorporează expertiză tehnologică şi industrială prin intermediul aplicaţiilor software.
- Integrare cu mediul „Cloud”: Sistemele din familia PureSystems sunt create pentru mediul „Cloud Computing”.
Detalii:
http://www.agora.ro/stire/ibm-lanseaza-o-noua-era-a-sistemelor-de-calcul
http://www-03.ibm.com/press/us/en/presskit/37378.wss

 

Despre primele calculatoare electronice

 

Primele in lume

- 1946: primul calculator electronic pe scara larga, de uz general, complet operational, ENIAC (Electronic Numerical Integrator and Calculator), finantat de armata SUA, utilizat la calculul tabelelor balistice de artilerie, proiectarea bombei cu hidrogen etc.; La 30 iunie 1945 se publica celebrul raport al lui John von Neumann intitulat First Draft of a Report on the EDVAC (EDVAC – Electronic Discrete Variable Automatic Computer), Moore School of Electrical Engineering, care continea 43 de pagini. John von Neumann – stralucit matematician – este atras inca din anul 1944 la proiectul ENIAC.

John von Neumann Page at Brown University

Ref.: http://www.brown.edu/Research/Istrail_Lab/von_neumann.php

John Von Neumann: The Scientific Genius Who Pioneered the Modern Computer, Game Theory, Nuclear Deterrence, and Much More.

John von Neumann is widely regarded as the greatest scientist of the 20th century after Einstein. Born in Budapest in 1903, John von Neumann grew up in one of the most extraordinary of scientific communities.

John von Neumann Page - Brown University

- 1949: calculatorul EDSAC (Electronic Delay Storage Automatic Computer) primul calculator electronic complet echipat, operational, cu programe memorate

- 1951: calculatorul UNIVAC I, primul calculator electronic comercial de mare succes, derivat din BINAC. Costa 250 000 $, s-au construit 48 de sisteme!

- 1952: primul calculator comercial IBM 701 Electronic Data Processing Machines

 

Primele in Romania

- 1957: CIFA 1 primul calculator romanesc, de la Bucuresti, realizat la Institutul de Fizica al Academiei, Magurele (ing. Victor Toma); Romania este a 8-a tara din lume care construieste un asemenea calculator si a doua dintre fostele tari socialiste, dupa fosta URSS [Draganescu]. Au urmat: CIFA-2 cu 800 de tuburi electronice (1959), CIFA-3 pentru Centrul de calcul al Universitatii din Bucuresti (1961), CIFA-4 (1962).

- 1961: calculatorul MECIPT - Masina Electronica de Calcul a Institutului Politehnic Timisoara; Aplicatii (calcule pentru rezistenta) realizate pe MECIPT-1 [Farcas] in perioada 1961-1964: proiectarea cupolei pavilionului expozitional Bucuresti, actual Romexpo (acad. D. Mateescu, programator ing. V. Baltac); proiectarea barajului Vidraru de pe Arges (18 zile in loc de 9 luni manual)

- 1963: DACICC calculator realizat de Institutului de Calcul al Academiei, Filiala Cluj-Napoca  

Ref.: MAESTRI AI INGINERIEI CALCULATOARELOR (Lucian N. Vintan ), Universul ingineresc nr. 16/2007 - http://www.agir.ro

 

 

 

Pagină actualizată la 29 Septembrie 2014.