1 / 15

Sisteme cu microprocesoare Cursul 3

Sisteme cu microprocesoare Cursul 3. Structura unui calculator. Formatul instructiunilor. Cod operatie. - Fara operanzi expliciti. - Cu un singur operand. Cod operatie. Operand1 - Adresa. - Cu doi operanzi. Cod operatie. Operand1 - Adresa. Operand2 - Adresa/Data. Cod operatie.

sukey
Download Presentation

Sisteme cu microprocesoare Cursul 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sisteme cu microprocesoareCursul 3 Structura unui calculator

  2. Formatul instructiunilor Cod operatie - Fara operanzi expliciti - Cu un singur operand Cod operatie Operand1 - Adresa - Cu doi operanzi Cod operatie Operand1 - Adresa Operand2 - Adresa/Data Cod operatie Operand1 - Adresa Operand2 - Adresa/Data Rezultat - Adresa - Cu doi operanzi si rezultat

  3. Moduri de adresare • Cum se determina operandul • Adresare imediata – pentru constanta • MOV AX, 1234h • Adresare directa – pentru variabile simple • SUB BX, [100h] • Adresare indexata – pentru vectori • ADD [SI+500h], AX • Adresare bazata – pentru inregistrari • AND DX, [BX+200h] • Adresare mixta (bazat-indexata) – pentru structuri complexe • OR CX, [SI+BX+100h]

  4. 0 0 a b c x x x Setul de instructiuni pentru un calculator simplu Cod operaţie: 0 0 0 1 1 0 1 1 7 6 5 0 7 6 5 4 3 2 1 0 Cod operaţie Cîmp adresă 0 0 0 0 0 1 . . . 1 1 1

  5. B STOP START PmIA/RI GT PmIA/NA PmRI/M INIT Scr M GF CO CO/Adr UA DEC + BCC PmM/A CP MUX A(0)NA NA PmM/G +1NA microcomenzi DrA PmNA/RI A A(0)A MUX StA PmNA/G PmA/CP MUX PmA/UA GC M U X Schema generala a unui calculator simplu

  6. INIT I1 PmIA/NA PmRI/M I2 +1NA E1 E1 OPR DRA STA OAN OAI SLT ADA MEM NOP AZA CPL 1 1 PmIA/RI A(0)NA PmIA/RI A(0)A A7 A0 +1NA +1NA 0 0 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 E2 PmM/A Scr PmNA/RI PmA/UA PmA/CP DrA StA STOP Descompunerea instructiunilor in faze de executie

  7. RI PmIA/RI = E1  (ADA + MEM) I1 I2 E1 E2 MEM NOP 7 6 5 4 3 2 1 0 I1 I2 E1 E2 2 BCC 3 DEC DEC ADA 11 TACT PmIA/NA STOP Numărător modulo 4 MEM SLT DEC GT PmIA/RI MEM ADA INIT NOP OPR microcomenzi E1 a. b. b. Generatorul de faze, decodificatorul de instructiuni si blocul de comanda si control a.

  8. Executia secventiala a instructiunilor (arhitectura scalara) • Fazele de executie ale unei instructiuni: • Citire instructiune (CI) • Decodificare instructiune (ID) • Executie operatie (Ex) • Operatie cu memoria (Mem) • Scriere rezultat (Scr) • CPI = 5 CI DI Ex Me Scr CI DI Ex Me Scr CI DI Ex Me Scr Instr. 1 Instr. 2 Instr. 3

  9. T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 CI DI Ex Mem Scr CI DI Ex Mem Scr instrucţiunea i1 instrucţiunea i2 Execuţie secvenţială CPI = 5 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 i1 CI DI Ex Mem Scr CI DI Ex Mem Scr i2 i3 CI DI Ex Mem Scr i4 CI DI Ex Mem Scr i6 CI DI Ex Mem Scr Execuţie pipeline CPI=1 (în cazul ideal) Figura 6.1 Comparaţie între execuţia secvenţială şi de tip pipeline Executia paralela instructiunilor intr-o arhitectura pipeline (banda rulanta)

  10. A Bloc reg. Mem date Mem inst. Bloc reg. M R I R adr Do adr ins. B Di D I ex me scr P C D e c me scr +4 scr C1 C2 C3 CI DI Ex Mem Scr Figura 6.8 UCP în structură pipeline Exemplu de arhitectura pipeline

  11. CI DI Ex Mem Scr MOV AX, 5 CI DI Ex Scr ADD BX, AX CI DI Ex Scr SUB CX, 5 CI DI Ex Mem MOV DX, CX Situatii de hazard in arhitecturile paralele • Hazardul de date • Dependenta de date intre instructiuni consecutive • Solutionare: • Stari de asteptare, multiplicarea registrelor, reordonarea instructiunilor

  12. JE et1 CI DI Ex ADD AX, BX CI DI Ex Scr SUB CX, DX CI DI Ex Scr ............... et1: MOV SI, 1234h CI DI Ex Mem Scr Situatii de hazard • Hazardul de control • Datorat instructiunilor de salt • Solutionare: predictia salturilor, memorarea salturilor anterioare

  13. CI DI Ex Mem Scr CI DI Ex Scr Situatii de hazard • Hazardul structural • Doua faze diferite ale unor instructiuni consecutive solicita aceea si unitate structurala • Solutionare: stari de asteptare, reordonarea instructiunilor, duplicarea unitatilor solicitate

  14. Arhitecturi superscalare şi superpipeline T1 T2 T3 T4 T5 T6 instr. i CI DI Ex Mem Scr instr. i+1 CI DI Ex Mem Scr a. arhitectură superscalară CPI=1/2 instr. i+2 CI DI Ex Mem Scr instr. i+3 CI DI Ex Mem Scr T1 T2 T3 T4 T5 T6 instr. i CI DI Ex Mem Scr b. arhitectură superpipeline CPI=1/2 instr. i+1 CI DI Ex Mem Scr instr. i+2 CI DI Ex Mem Scr instr. i+3 CI DI Ex Mem Scr Figura 6.13 Comparaţie între arhitectura superscalară şi superpipeline

  15. Planificarea executiei instructiunilor • Obiectiv: reordonarea instructiunilor in scopul evitarii situatiilor de hazard si implicit pentru cresterea performantelor • Planificarea statica: • Reordonarea instructiunilor in faza de compilare • Gruparea instructiunilor in super-instructiuni foarte lungi • VLIW – Very Long Instructiun Word • Planificarea dinamica: • Reordonarea instructiunilor in timpul executiei programului • Tehnici folosite: analiza fluxurilor de date, arbori de dependente, predictia salturilor

More Related