Vasile Lungu : Procesoarele Intel. Programare în Limbaj de Asamblare

Slides:



Advertisements
Similar presentations
Complex Instruction Set Computer (CISC)
Advertisements

1 Microprocessor-based Systems Course 4 - Microprocessors.
1 CS402 PPP # 1 Computer Architecture Evolution. 2 John Von Neuman original concept.
Evolution of the Computer. Zeroth Generation- Mechanical 1.Blaise Pascal –Mechanical calculator only perform Von Leibiniz –Mechanical.
7-Aug-15 (1) CSC Computer Organization Lecture 6: A Historical Perspective of Pentium IA-32.
Computer Organization and Assembly language
Business Programming I Fall – 2000 By Jim Payne Lecture 01Jim Payne - University of Tulsa2 Links: Early History of Computers Virginia Tech – History.
Computer Science What is Computer Science? Algorithm Design and Analysis Organization and Architecture Artificial Intelligence Databases Operating Systems.
CSCI 161 Class 1 Martin van Bommel.
Computer Architecture
Evolution of the Computer. Zeroth Generation- Mechanical 1.Blaise Pascal –Mechanical calculator only perform Von Leibiniz –Mechanical.
Lecture 3 Dr. Muhammad Ayaz Computer Organization and Assembly Language. (CSC-210)
Computer A Computer may be defined as an electronic device that operates upon data. So, a computer can store, process and retrieve data as and when desired.
-Modelul Entitate-Legatura (ER)-
William Stallings Computer Organization and Architecture 6th Edition
William Stallings Computer Organization and Architecture 6th Edition
Ionuţ Hrubaru: In Memory Databases Ionuţ Hrubaru: Iaşi,
History Computers.
Bazele Tehnologiei Informaţiei Curs 1
Prof. Elena Răducanu, Colegiul Naţional Bănăţean,Timişoara
Evolutia Calculatoarelor
- Business Intelligence - - Tehnologia OLAP -
Bazele Tehnologiei Informaţiei Curs 1
Structura unui calculator
Posibilităţi de analiză în timp real a parametrilor de calitate a apei cu ajutorul sistemului informatic de management SIVECO Business Analyzer September.
Activităţi în domeniul Electronicii pentru Automobile
Dispozitive de stocare
1. Obiectivul disciplinei
Absolvent Ioana MENGHERIȘ
Conf. Univ. Dr. Habil. Marc FRÎNCU
Managementul serviciilor IT
FINANŢE PUBLICE. DEFINIŢIE, FUNCŢII, MECANISM FINANCIAR
Aparatura auxiliară Generalităţi, clasificare
Gestionarea datelor stiintifice
Архитектура на компјутери
Design and implementation of a virtual shop using the joomla CMS
De la calitatea serviciilor la o bună guvernanţă
METODA BACKTRACKING Examenul de bacalaureat 2012
Problema rucsacului lacom
MANAGEMENT EDUCAŢIONAL PERFORMANT Limbajul de programare Borland Pacal
Tipuri structurate Tipul tablou
C# şi platforma .NET.
Curs 2 1 Sistem de operare-concepte: 2 Apeluri de sistem
Programarea şi rezolvarea problemelor
Modificarea structurii unei tabele
Curs 6: Introducere în programarea SAS
Impulsul mecanic Impulsul mecanic. Teorema conservarii impulsului mecanic.
Sistem de monitorizare şi control prin Internet cu procesor ARM
Citește-mă Acest slide are rolul de a-ți explica modul în care să folosești umătoarele slide-uri. Șterge-l din prezentarea finală. În următoarele slide-uri.
AUTOMOBILUL ELECTRIC UNIVERSITATEA POLITEHNICA
Universitatea POLITEHNICA din București - Curs de 16 ore – Curs 11
Îmbunătăţirea serviciilor publice prin intermediul Chartelor de Servicii: Elaborarea şi implementarea Planurilor de Acţiune pentru Îmbunătăţirea Serviciilor.
A great way to create a channel of communication
IT Basics 1.
Administrarea reţelelor de calculatoare
کاربرد کامپیوتر.
Din punct de vedere structural:
Evoluția calculatoarelor
Sisteme integrate pentru -business
Unitatea centrală de prelucrare
Configurarea metodelor de management al calităţii în sectorul public
- calitatea serviciului de internet -
دانشکده فنی حرفه ای شهید بابایی مدرس : عليرضا پورقناد
William Stallings Computer Organization and Architecture 6th Edition
Lecture 3 (Microprocessor)
Presentation transcript:

Vasile Lungu : Procesoarele Intel. Programare în Limbaj de Asamblare Vasile Lungu : Procesoarele Intel. Programare în Limbaj de Asamblare. Ediţia a II-a, Editura Teora, Bucureşti, 450 pg., 2004. Vasile Lungu, Gheorghe Petrescu, Costin Boiangiu, Programare în Limbaj de Asamblare. Probleme de Laborator. Editura PRINTECH, 168pg., 2003. intel.com/design/pentium4/manuals/index_new.htm The Art of Assembly Language, University of California: www.cs.ucr.edu\pub\pc\ibmpcdir C1 C2

De ce utilizăm limbajul de asamblare ? compilatoarele translatează codul sursă in limbaj (cod) maşină; îndepărtare de limbajul de asamblare, dar nu de renunţare la el; multe medii IDE şi compilatoare C, Pascal, Basic, Fortran, LabView etc.) prezintă facilităţi de inserare de linii scrise direct în limbaj de asamblare. componente ale SO, critice şi performante realizate în LA, deoarece aceste secvenţe trebuie să consume cât mai puţin timp şi, eventual, cât mai puţină memorie C1

Programe hibride: LA + LNI. Modulele complexe sunt scrise în LNI, iar cele ce sunt critice in (LA). compilatorul are "cunoştinţe limitate" asupra întregului program -> set generalizat de instr. dar nu sunt optime în situaţii particulare. Experienţa LA -> programe mai eficiente şi în limbajele evoluate; Depanarea ajunge şi la depanarea codului obiect. LA este mult mai dificil decât un LNI, deoarece programatorul trebuie să cunoască pe lângă LA şi structura internă a calculatorului. C1

Scurt istoric Calculatoare Charles Babbage, 1839, “Maşină Analitică” 1937, Howard Aiken, Univ. Harvard, “Calculatorul cu Secvenţă de Comandă Automată“ (1939-1944), MARK I. 1942, ENIAC (Electronic Numerical Integrator And Computer), Pennsylvania, (1945-1946). El conţinea circa 18.000 tuburi electronice şi executa 5.000 adunări/sec. John von Neumann- EDVAC (Electronic Discrete VAriable Computer, 1952, universitatea Princeton, USA)- a stabilit cele 5 caracteristici principale ale calculatorului cu program memorat: mediu de intrare; memorie; secţiune de calcul; mediu de ieşire C1

hard : relee, tuburi electronice; unitate de comandă; - generaţia I-a ( 1946-1956), caracterizată prin: hard : relee, tuburi electronice; soft : programe cablate, cod maşină, limbaj de asamblare; capacitate memorie : 2 Kocteţi; viteză de operare : 10.000 operaţii/sec. - generaţia II-a (1957-1963) a fost marcată de apariţia tranzistorului: hard : tranzistoare, memorii cu ferite, cablaj imprimat; soft: limbaje de nivel înalt (Fortran-1956, Algol-1958, Cobol); memorie : 32 Kocteţi; viteza : 200.000 instrucţiuni/sec. C1

C1

- generaţia III-a (1964-1981), caracterizată prin : hard : circuite integrate (la început pe scară redusă SSI, apoi pe scară medie, MSI şi largă, LSI – 1000 componente pe chip; scara de integrare se referă la numărul de componente electronice pe unitatea de suprafaţa), cablaje imprimate multistrat, discuri magnetice, apariţia primelor microprocesoare; soft : limbaje de nivel foarte înalt (C-1972, care a stat la baza sistemului de operare UNIX), programare structurată, baze de date, grafică pe calculator; memorie : 1÷2 Mocteţi; viteza : 5.000.000 instrucţiuni/sec. C1

- generaţia IV-a (1982-1989) hard : circuite integrate pe scară foarte mare (VLSI-100.000 componente/chip), sisteme distribuite de calcul, apar microprocesoarele de 16/32 biţi; soft : pachete de programe de largă utilizare, sisteme expert, limbaje orientate obiect, baze de date relaţionale; memorie : 8÷10 Mocteţi; viteza : 30 mil. instr./sec. - generaţia V-a, în curs de dezvoltare, se doreşte a atinge următoarele performanţe: hard : circuite integrate pe scară ultralargă ULSI (proiectare circuite integrate 3D), arhitecturi paralele, reţele de calculatoare, alte soluţii arhitecturale noi (reţele neurale etc.); C1

soft : limbaje concurente, programare funcţională FP, prelucrare simbolică, baze de cunoştinţe, sisteme expert evoluate; memorie : zeci - sute Mocteţi; viteza : 1 Ginstr./sec. - 1 Tinstr./sec. Procesoare 1970, INTEL 4004, 4 biţi, calcule BCD, 60.000 op./sec. Firma INTEL (INTegrated Electronics) a fost fondată spre sfârşitul anilor ’60 de Robert Noyce şi Gordon Moore. 1972, INTEL 8008, 48 de instrucţiuni, 16 Kocteţi, 30.000 instr./sec 1974 INTEL 8080, 72 instrucţiuni, 64 Kocteţi, 300.000 op./sec. C1

1980, Sinclair, Spectrum Zx80 (Z80), Basic. 1979, INTEL, primul microprocesor de 16 biţi (8086); 2 unităţi: EU + BIU. 8088, mag. ext. 8 biţi. Motorola 68000. 1980, Sinclair, Spectrum Zx80 (Z80), Basic. 1982, 80186, 286 - multiprelucrare/ acces, “mod protejat”, 4 unităţi, mecanisme gest. mem. virtuală, protecţie mem. 1983, primul mediu integrat de programare (TP, Borland). 1986, 386, 32 biţi, 6 unit., paginare; coprocesor îmbunătăţit 1989, 486 = 386+387+cache unificat 8 Ko., bandă de asamblare, RISC (Reduced Instruction Set Computer); 1994, Pentium, 2 benzi (u,v), cache L1 separat 8Ko date + 8Ko instr., BTB(Branch Target Buffer), mag int 128 biţi, APIC (Advanced Programmable Interrupt Controller); P6. 1996, Pentium Pro, superscalar pe 3 căi, execuţie dinamică (analiză flux, execuţie în orice ordine, predicţie salt, execuţie speculativă), 5 unit exec, L1 + L2 (256 Ko) C1

1998, Pentium II = Pro + MMX, SECC (Single Edge Contact Cartridge); 1997, Pentium MMX, 57 instr. noi, SIMD (Single Instruction Multiple Data), L1 dublat, alg. predicţie îmb. 1998, Pentium II = Pro + MMX, SECC (Single Edge Contact Cartridge); 1999, Pentium III = II + arh. SSE (Streaming SIMD Extension), 70 instr., 4*32 biţi (virgulă mobilă, simplă precizie)= 128 biţi. 2001, Pentium 4, extinde SIMD, SSE 2, pt. real dublă precizie, NetBurst (MP, Hyper-Threading, superbandă-20 nivele/ faţă de 12 la PII/ PIII), L1: 8Ko date + 12 K micro-operaţii “trace cache”. 2001, arhitectura Itanium, extindere a execuţiei paralele, predictive şi speculative; L3 (2 sau 4 Mo), L2 (96 Ko, linie 64 oct., 6 căi). 2002, Itanium 2 măreşte performanţa de 1.5-2 ori. C1

C1