1 / 52

SOCS

SOCS. Hoofdstuk 2 Computerapparatuur. Hoofdstuk 2. Logica Elektronica Transistorgeheugens Geheugenmedia Organisatie Bussen Voorgeheugens Pipelining Snelheid. Video Bestuurder. Harde Schijf Bestuurder. CD-ROM Bestuurder. Bussen. Transport van gegevens tussen lokaties

Télécharger la présentation

SOCS

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. SOCS Hoofdstuk 2Computerapparatuur

  2. Hoofdstuk 2 • Logica • Elektronica • Transistorgeheugens • Geheugenmedia • Organisatie • Bussen • Voorgeheugens • Pipelining • Snelheid

  3. VideoBestuurder Harde SchijfBestuurder CD-ROMBestuurder Bussen • Transport van gegevens tussen lokaties • Serieel vs parallel (8, 16, 32, 64, …) • Implementatie • Punt-tot-punt verbinding (duur!) • Gemeenschappelijke verbinding (bus) RAM ... CPU

  4. Bussen • Verschillende lijnen • Adressen • Gegevens • Controlesignalen (Opdrachten) • Voorbeelden • (E)ISA (Extended Industry Standard Architecture) • PCI (Peripheral Component Interconnect) • ...

  5. PCIbridge SCSI bus SCSISchijf PCI bus ISAbridge ISA bus Bussen RAM CPU SCSIBestuurder VideoBestuurder Geluidkaart DrukkerBestuurder Modem ...

  6. Registers Interne bussen Rekeneenheid

  7. Bussen • Bus breedte • # Adreslijnen • 20 lijnen: max. 1M (PC/XT) • 24 lijnen: max. 16 M (ISA) • 32 lijnen: max. 4G (EISA/PCI) • 64 lijnen: max. 16 E (PCI) • # Datalijnen • 8, 16, 32, 64 lijnen • Ev. 32 bits ophalen over 8-bit bus = 4 x lezen • Multiplexed bus: adres/datalijnen gemeensch.

  8. RAM CPU  +   Lees xyz = Buscyclus  Data Bussen • Participanten • Meester = apparaat dat comm. initieert • CPU, DMA-apparaat, ... • Slaaf = andere partij • Geheugen, ...

  9. Bussen • Werking: • Synchroon • Op kadans van een klok • Bus cyclus = geheel # klokcycli • ISA (8.33 Mhz), PCI (33 MHz/66MHz) • Asynchroon • Bus toegang slechts zo lang als nodig • Bus Protocol: • Hoe bus werkt • Hoe “meester” worden, Welke signalen + Timing ...

  10. MIN MAX Adresbus ADRES ADRES Databus DATA DATA MREQ READ Controlebus WAIT Synchrone Bus Klok (CPU) (Geheugen)

  11. NOK OK OK NOK Bus Arbitratie • Hoe “meester” worden • Gecentraliseerd • Schakeling in CPU, aparte arbiter chip, … aanvraag Arbiter App. 1 App. 2 App. 3 App. 4 • Gedecentraliseerd

  12. Lees cyclus Meester: Lees xyz Slaaf: Data Schrijf cyclus Meester: Schrijf data xyz Slaaf: OK Block transport Meester: Lees xyz ... Slaaf: Data, data, ... Lees/Wijzig/Schrijf cyclus Meester: Lees xyz Slaaf: Data Meester: Schrijf Data* xyz Slaaf: OK Interrupt cyclus ... Bus Cycli

  13. Hoofdstuk 2 • Logica • Elektronica • Transistorgeheugens • Geheugenmedia • Organisatie • Bussen • Voorgeheugens • Pipelining • Snelheid

  14. Voorgeheugens • RAM relatief traag t.o.v. CPU • Extra snel voorgeheugen (cache memory) RAM CPU cache SRAM Kopie van gedeelte van RAM DRAM

  15. RAM Lees a in VG? JA! CPU  a    RAM Lees b in VG? NEE!  CPU b  Voorgeheugens

  16. Voorgeheugens • Lokaliteitsprincipe • Lokaliteit in tijd • x nodig op tijd t x nodig op tijdstip t+dt vb. lussen, tussenresultaten • Lokaliteit in ruimte • x nodig op tijdstip t x+dx nodig op tijdstip t+dt vb. programma’s, rijen, velden van records, … • Daarom: regellengte (8 bytes, 16 bytes, …) • Voorgeheugen • 90% .. 98% succes!

  17. Voorgeheugens • Ontwerpkeuzen: • Grootte (16 kB, 32 kB, … 512 KB, …) • Regellengte (8B, 16B, 32B, …) • Hoeveel tegelijk ophalen uit RAM • Hoe georganiseerd • Gemeenschappelijk VG versus Gescheiden VG voor data en instructies • Aantal voorgeheugens (1, 2 of meer)

  18. Voorgeheugens • Organisatie • Direct afgebeeld voorgeheugen • Elk RAM “regel” heeft vaste plaats in het VG • Tag duidt aan over welke geheugen-regel het gaat (de meest beduidende bits van het adres) • Associatieve voorgeheugens • Een RAM regel kan om het even waar in het VG • Tag duidt aan over welke geheugen-regel het gaat • Associatief: alle tags tegelijk vergelijken!

  19. tag =? VG RAM Voorgeheugens • Direct afgebeeld voorgeheugen • Adres bepaalt regel, regel bepaalt plaats in VG adres

  20. 000110000 000100000 001000000 000010000 000000000 000100100 000110100 000010100 000000100 001000100 tag 000101000 001001000 000111000 000001000 000011000 000001100 000011100 000101100 001001100 000111100 =? VG RAM Voorgeheugens • Direct afgebeeld voorgeheugen • Adres bepaalt regel, regel bepaalt plaats in VG 00001 00011 00010 00000 000010110

  21. 000100000 001000000 000110000 000000000 000010000 001000100 000110100 000010100 000100100 000000100 tag 001001000 000101000 000111000 000001000 000011000 000011100 001001100 000101100 000001100 000111100 00001 00001 00010 VG 00000 RAM Voorgeheugens • Direct afgebeeld voorgeheugen • Adres bepaalt regel, regel bepaalt plaats in VG 000010111

  22. tag VG =? RAM Voorgeheugens • Associatieve Voorgeheugens adres

  23. 000110000 001000000 000000000 000100000 000010000 000100100 001000100 000000100 000010100 000110100 000011000 000101000 000001000 001001000 000111000 000111100 001001100 000011100 000001100 000101100 =? Voorgeheugens • Associatieve Voorgeheugens tag 0000001 0000111 0000010 0001011 VG 000010110 RAM

  24. 001000000 000000000 000010000 000100000 000110000 000100100 000110100 000010100 001000100 000000100 000101000 000111000 000001000 000011000 001001000 001001100 000101100 000111100 000011100 000001100 0000001 0000111 0000010 0001011 =? Voorgeheugens • Associatieve Voorgeheugens tag VG 000010110 RAM

  25. 001000000 000000000 000010000 000100000 000110000 000100100 000110100 000010100 001000100 000000100 000101000 000111000 000001000 000011000 001001000 001001100 000101100 000111100 000011100 000001100 0000001 0000111 0000010 0001011 =? Voorgeheugens • Associatieve Voorgeheugens tag VG 000010110 RAM

  26. 001000000 000000000 000010000 000100000 000110000 000100100 000110100 000010100 001000100 000000100 000101000 000111000 000001000 000011000 001001000 001001100 000101100 000111100 000011100 000001100 0000001 0000111 0000010 0001011 =? Voorgeheugens • Associatieve Voorgeheugens tag VG 000010110 RAM

  27. 001000000 000000000 000010000 000100000 000110000 000100100 000110100 000010100 001000100 000000100 000101000 000111000 000001000 000011000 001001000 001001100 000101100 000111100 000011100 000001100 0000001 0000111 0000010 0001011 =? Voorgeheugens • Associatieve Voorgeheugens tag VG 000010110 RAM

  28. 000110000 001000000 000000000 000100000 000010000 000100100 001000100 000000100 000010100 000110100 000011000 000101000 000001000 001001000 000111000 000111100 001001100 000011100 000001100 000101100 =? Voorgeheugens • Associatieve Voorgeheugens tag 0000001 0000111 0000010 0001011 VG 000010110 RAM

  29. 000010000 000110000 001000000 000000000 000100000 000010100 000000100 000110100 000100100 001000100 000011000 000101000 000001000 001001000 000111000 000001100 001001100 000011100 000111100 000101100 Voorgeheugens • Associatieve Voorgeheugens tag 0000001 0000111 0000010 0001011 VG =? 000010110 RAM

  30. 000010000 000110000 001000000 000000000 000100000 000010100 000000100 000110100 000100100 001000100 000011000 000101000 000001000 001001000 000111000 000001100 001001100 000011100 000111100 000101100 Voorgeheugens • Associatieve Voorgeheugens tag 0000001 0000111 0000010 0001011 VG Niet aanwezig! 000010110 RAM

  31. 000010000 000110000 001000000 000000000 000100000 000010100 000000100 000110100 000100100 001000100 000011000 000101000 000001000 001001000 000111000 000001100 001001100 000011100 000111100 000101100 0000101 Voorgeheugens • Associatieve Voorgeheugens tag 0000001 0000111 0000010 0001011 VG 000010110 RAM

  32. tag VG =? Voorgeheugens • Set-Associatief voorgeheugen • Adres bepaalt regel, regel bepaalt set in VG adres RAM

  33. 001000000 000110000 000100000 000000000 000010000 001000100 000010100 000000100 000110100 000100100 000011000 001001000 000101000 000111000 000001000 tag 000101100 001001100 000001100 000111100 000011100 0 1 VG =? 000010 Voorgeheugens • Set-Associatief voorgeheugen • Adres bepaalt regel, regel bepaalt set in VG 000001 000100 000000 000101 000010110 RAM

  34. Voorgeheugens • Schrijven in VG • Wegschrijven doorheen het VG • Onmiddellijk hoofdgeheugen aanpassen • Uitgesteld wegschrijven • Alleen in VG aanpassen, pas later in hoofdgeheugen • Schrijven als niet in VG • Alleen in hoofdgeheugen • Eerst in VG brengen

  35. Voorgeheugens • Vervangingsstrategie • Langst niet gebruikt LRU (Least Recently Used) • Langst in VG FIFO • Willekeurig Random • Geldig/Ongeldig-bit • IsGewijzigd-bit (uitgesteld schrijven) gewijzigd?  eerst kopiëren naar geheugen

  36. Performantie ??? Toegangstijden: TRAM, TVG Trefkans: t Gemiddeld:TG = t * TVG+ (1-t)* TRAM Voorbeeld:TRAM= 100 nsTVG = 10 nst = 95%Tgem = 0.95 * 10 + 0.05* 100 = 9.5 + 5 = 14.5 ns Kostprijs ??? Capaciteiten: CRAM, CVG Prijs: KRAM, KVG Totaal:K = CRAM* KRAM+ CVG * KVG Voorbeeld:CRAM = 1 GBKRAM = 0,2 EUR/MBCVG = 256 kBKVG = 50 EUR/MBK = 1024 * 0,2 + 50/4 EUR = 204,8 + 12,5 = 217,3 EUR Voorgeheugens 7 x sneller, slechts 6 % duurder

  37. Gescheiden data- en instructie-VG (8kB elk) Voorgeheugens • Meerdere niveaus RAM CacheL3 CPU CacheL2 DataL1 InstrL1 256 kB 1 MB 1 GB

  38. Hoofdstuk 2 • Logica • Elektronica • Transistorgeheugens • Geheugenmedia • Organisatie • Bussen • Voorgeheugens • Pipelining • Snelheid

  39. Pipelining • Bevelencyclus • Haal bevel op Verhoog BT • Analyseer bevel • Bereken (adres) operand • (Haal operand op) • Voer uit Volgende bevel?

  40. tijd Zonder Pipelining Ophalen Analyse Adresberekening Operand ophalen Uitvoeren Ophalen Analyse Adresberekening Operand ophalen Uitvoeren Ophalen Analyse Adresberekening Operand ophalen Uitvoeren Ophalen Analyse Adresberekening Operand ophalen Uitvoeren

  41. tijd Pipelining Ophalen Ophalen Analyse Adresberekening Analyse Ophalen Adresberekening Ophalen Operand ophalen Analyse Uitvoeren Operand ophalen Adresberekening Analyse Ophalen Ophalen Uitvoeren Adresberekening Operand ophalen Analyse Ophalen Analyse Uitvoeren Operand ophalen Adresberekening Adresberekening Analyse Ophalen Uitvoeren Operand ophalen Adresberekening Ophalen Operand ophalen Analyse Uitvoeren Uitvoeren Operand ophalen Adresberekening Analyse Ophalen Ophalen Uitvoeren Adresberekening Operand ophalen Analyse Ophalen Analyse Uitvoeren Operand ophalen Adresberekening Adresberekening Analyse Ophalen Uitvoeren Operand ophalen Adresberekening Ophalen Operand ophalen Analyse Uitvoeren Uitvoeren Operand ophalen Adresberekening Analyse Ophalen Ophalen Uitvoeren Adresberekening Operand ophalen Analyse Ophalen Analyse Uitvoeren Operand ophalen Adresberekening Adresberekening Analyse Ophalen Uitvoeren Operand ophalen Adresberekening Ophalen Operand ophalen Analyse Uitvoeren Uitvoeren Operand ophalen Adresberekening Analyse Ophalen

  42. tijd Pipelining Ophalen Analyse Ophalen Ophalen Analyse Adresberekening Analyse Operand Ophalen Ophalen Adresberekening Ophalen Analyse Adresberekening Operand Ophalen Uitvoeren Ophalen Analyse Operand Ophalen Adresberekening Uitvoeren Analyse Ophalen Adresberekening Operand ophalen Uitvoeren Ophalen Analyse Adresberekening Operand Ophalen Uitvoeren Analyse Operand Ophalen Ophalen Adresberekening Uitvoeren Ophalen Analyse Adresberekening Operand Ophalen Uitvoeren Ophalen Analyse Operand Ophalen Adresberekening Uitvoeren Analyse Ophalen Adresberekening Operand ophalen Uitvoeren Ophalen Analyse Adresberekening Operand Ophalen Uitvoeren Analyse Operand Ophalen Ophalen Adresberekening Uitvoeren Ophalen Analyse Adresberekening Operand Ophalen Uitvoeren Ophalen Analyse Operand Ophalen Adresberekening Uitvoeren Analyse Ophalen Adresberekening Operand ophalen Uitvoeren Ophalen Analyse Adresberekening Operand Ophalen Uitvoeren Analyse Operand Ophalen Ophalen Adresberekening Uitvoeren Ophalen Analyse Adresberekening Operand Ophalen Uitvoeren

  43. HIA.w R1,10 OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU Pipelining • Soort lopende band in processor HIA.w R1,10OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU RAM

  44. Analyseer Pipelining • Soort lopende band in processor HIA.w R1,10OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU HIA.w R1,10 RAM OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU

  45. Bereken adres Analyseer Pipelining • Soort lopende band in processor HIA.w R1,10OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU HIA.w R1,10 OPT R1,100 RAM BIG R1,2(R3+) HIA R0,R1 DRU

  46. Bereken adres Analyseer Haal operand op Pipelining • Soort lopende band in processor HIA.w R1,10OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU HIA.w R1,10 OPT R1,100 BIG R1,2(R3+) RAM HIA R0,R1 DRU

  47. Bereken adres Analyseer Voer uit Haal operand op Pipelining • Soort lopende band in processor HIA.w R1,10OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU HIA.w R1,10 OPT R1,100 BIG R1,2(R3+) HIA R0,R1 RAM DRU

  48. Bereken adres Analyseer Voer uit Haal operand op Pipelining • Soort lopende band in processor HIA.w R1,10OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU OPT R1,100 BIG R1,2(R3+) HIA R0,R1 DRU RAM Enzovoort

  49. Pipelining • Complex! • Indexatie • Compilator: • Herordenen van instructies • Inlassen van NOP HIA.w R1,10OPT R3,100 BIG R1,2(R3+) HIA R0,R1 DRU R3 R3+ • Sprongbevelen • Voorspellen, meerdere pijplijnen

  50. Hoofdstuk 2 • Elektronica • Centraal Geheugen (RAM) • Geheugenmedia • Organisatie • Snelheid • MIPS • MFLOPS • Experimenteel testen

More Related