Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen



Samankaltaiset tiedostot
Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

Käskykannat. Tietokoneen rakenne. Ch [Sta06] Operaatioista Operandeista Osoitustavoista Pentium / PowerPC. Luento 7-1

Tietokoneen rakenne Käskysykli CPU suorittaa ohjelmaa konekielinen käsky kerrallaan

Luento 7: Käskykannat Tietokoneen rakenne / 2006 / Teemu Kerola 9/25/2006

Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen

Moderneissa grafiikkakorteissa hyödynnetään myös samanlaista toimintamallia

Mikrokontrollerit. Mikrokontrolleri

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet

TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokonetekniikka. Tutkintotyö. Emil Palomäki INTEL CORE -MIKROARKKITEHTUURI

Konekielinen ohjelmointi

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Laitteistonläheinen ohjelmointi

Suoritinesimerkit RISC- arkkitehtuuri

Suoritinesimerkit RISC- arkkitehtuuri

RISC-arkkitehtuuri Ch 13 [Sta06] Käskyanalyysia RISC vs. CISC Rekisterien käytöstä

Kombinatorisen logiikan laitteet

Laitteistonläheinen ohjelmointi

Tietotyypit ja operaattorit

4.2. ALIOHJELMAT 71. Tulosvälitteisyys (call by result) Tulosvälitteinen parametri kopioidaan lopuksi

1. luento. Ohjelmointi (C) T0004 Syksy luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

Superskalaariprosessointi

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Luento 10: Superskalaari prosessori

Suoritinesimerkit RISC- arkkitehtuuri

Superskalaariprosessointi

Superskalaariprosessointi

Luento 9: RISC-arkkitehtuuri Luento 9 EAX, EBX, EBX, EDX, ESP, EBP, ESI, EDI CS, SS, DS, ES, FS, GS. (Sta06 Table 12.

Harjoitustyö 3: DLX kontrolli

2 Konekieli, aliohjelmat, keskeytykset

Tietokoneen toiminta (Computer Organization I)

Algoritmit 1. Luento 3 Ti Timo Männikkö

6.3. AVR_rauta. EEPROM-muisti pva

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Luento 10: Superskalaari prosessori


Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

11/20: Konepelti auki

Ala-Härmän atk-sanomat

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

TKT-3201 Tietokonearkkitehtuuri 2

tikra_oppimistavoitteet.doc Sivu 1 / / Teemu Kerola Oppimistavoitteet kurssilla Tietokoneen rakenne Osaa selittää Boolen algebran

Tietokoneen toiminta (Computer Organization I)

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

Monipuolinen esimerkki

Aktivaatiotietue. Yleiskäsite funktio (aliohjelma) -mekanismin tarvitsemille tiedoille. Kehysosoitin (%fp) missä tiedot ovat

Datatähti alkukilpailu

Esimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005

7.4 Sormenjälkitekniikka

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

CUDA. Moniydinohjelmointi Mikko Honkonen

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

Järjestelmän ulkoinen muisti I/O

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Luento 5 (verkkoluento 5) Suoritin ja väylä

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

etunimi, sukunimi ja opiskelijanumero ja näillä

Luento 1 Tietokonejärjestelmän rakenne

Algoritmit 1. Luento 11 Ti Timo Männikkö

TIETOKONE JA VERKOT IT PC & NETWORK SUPPORT TAITAJA 2001 LAHTI TIETOKONELAITTEIDEN ASENNUS, KORJAAMINEN JA KONFIGUROINTI

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus

Tietokoneen toiminta (Computer Organization I)

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, K Tavoitteet (4)

Tietokoneen toiminta (Computer Organization I)

1. Keskusyksikön rakenne

Luento 12 Yhteenveto

Luento 12 Yhteenveto

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 29/01/2001 Teemu Kerola, Copyright 2001

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Kurssin esittely Tavoitteet Komponentit

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

Arto Salminen,

7. Näytölle tulostaminen 7.1

13. Loogiset operaatiot 13.1

Alienware Alpha R2 Asetukset ja tekniset tiedot

Tietokoneen toiminta, K Tavoitteet (4)

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, K2000

Sulautetut järjestelmät

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)

Digitaalinen ja reaaliaikainen menetelmä kameran ja näyttölaitteen värikalibrointiin

1 Erilaisia tapoja järjestää

Algoritmit 2. Luento 10 To Timo Männikkö

ITKP102 Ohjelmointi 1, syksy 2007

A/D-muuntimia. Flash ADC

Nokeval Oy. Käyttöohje 7181

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Aihepiiri Tietokoneen toiminta (Computer Organization I)

HARJOITUSTYÖ: LabVIEW, Liiketunnistin

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Transkriptio:

Intel Pentium Pro -prosessori tietokonearkkitehtuurit, syksy -96 Ari Rantanen

Tarkasteltavat aiheet Katsaus Pentium Pro:n ominaisuuksiin Käskyn suoritus Pentium Pro:n liukuhihnalla Pentium Pro:n suorituskyky 16-bittisen koodin aiheuttamat ongelmat mittaustuloksia MMX-laajennus

Pentium Pro uusin jäsen 70-luvulta lähtevässä Intel x86-prosessorien ketjussa alaspäin yhteensopiva vanhempien x86:n kanssa superskalaarinen kellopulssilla dekoodautuu ja valmistuu max. 3 käskyä superliukuhihnoitettu 14-vaiheinen likuhihna dynaaminen skedulointi Tomasulo spekulatiivinen käskyjen suoritus kehittynyt haarautumisen ennakointi 4 historia-bittiä + staattinen ennakointi 512-paikkainen BTB = Dynamic execution

P6 vs. Pentium P6 5,5 M transistoria max. 3 käskyä kerrallaan 14-vaiheinen liukuhihna 4-way joukkoassosiat. L1- datavälimuisti L2-välimuistille oma, prosessorin nopeudella toimiva väylä Pentium 3,3 M transistoria max 2 käskyä kerrallaan 5-vaiheinen lh 2-way j-a L1- datavälimuisti L2-välimuisti käyttää muistiväylää, jonka nopeus vain osa prosessorin nopeudesta

Muita parannuksia Pentiumiin verrattuna tapahtumaperustainen (transactional) I/O-väylä non-blocking välimuistihierarkia L2-välimuisti prosessorin kanssa samassa kotelossa parempi haarautumisen ennakointi liukuhihnan yhden tilan suoritus 33 % Pentiumia nopeampaa silti tällä hetkellä kellotaajuudet samoja moniprosessorivalmius tarvittava logiikka prosessoreissa, max. 4 prosessoria ilman ulkopuolista apua liukulukuyksikköä nopeutettu conditional move -käsky vähentämään haarautumisten tarvetta pino aliohjelmien paluuosoitteille (Return stack)

Käskyn suoritus P6:n liukuhihnalla x86-käskykanta ei sovi kovin hyvin nopeaan liukuhihnoitukseen Käskyt vaihtelevan mittaisia Eri käskyjen sisältämä työmäärä vaihtelee suuresti useita osoitustapoja ja käskytyyppejä Käskyille voi antaa prefiksejä. CISC!

Käskyn suoritus P6:n liukuhihnalla Ratkaisu: Jaetaan monimutkaiset x86-käskyt yhdeksi tai useammaksi mikrokäskyksi idea esiteltiin NexGen Nx586-prosessorissa kaikki u-käskyt samanmittaisia ja -muotoisia 2 operandia + tulos suurin osa uusien kääntäjien tuottamista x86-käskyistä voidaan korvata yhdellä u-käskyllä, pahimmillaan tarvitaan yli 200 u-käskyä / x86-käsky u-käskyt vain sisäisessä käytössä (vs. NexGen)

Käskyn suoritus P6:n liukuhihnalla 1. vaihe, fetch-decode luetaan kaksi 32 tavun riviä käskyvälimuistista BTB:n antamasta kohdasta, merkitään käskyjen alkamis- ja loppumiskohdat 16 tavua dekooderiyksikölle (aligned) dekooriyksikössä 3 dekooderia + mikrokoodisekvensseri: 2 yksinkertaista - x86-käskyt, joista yksi u-käsky 1 monimutkaisempi - x86-käskyt, joista 1-4 u-käskyä loput käskyt u-koodisekvensserille parhaimmillaan 6 u-käskyä / pulssi - yleensä 3 / pulssi

1. vaihe, fetch-decode dekoodatut u-käskyt lähetetään rekisteri-aliastaulukkoon (RAT), missä tapahtuu rekistereiden uudelleennimeäminen uudelleennimeäminen erityisen hyödyllistä, koska x86- arkkitehtuurissa vain 8 kokonaisluku- ja 8 liukulukurekisteriä P6:ssa 40 lisärekisteriä, jotka sijaitsevat reorder-puskurissa samalla u-käskyihin liitetään tarvittavaa tilatietoa RAT:sta u-käskyt siirretään rekisteripooliin (=reorder-puskuri) sekä varausasemalle

2. vaihe, dispatch-execute Tomasulon algoritmin mukainen dynaaminen skedulointi Yksi varausasema, joka on yhteydessä kaikkiin 11 suoritusyksikköön Varausasemalta 5 porttia suoritusyksiköihin yhdellä pulssilla max. 5 u-käskyä suoritukseen tavallisesti 3 käskyä kerrallaan 2 AGU:a, Load ja Store yhtäaikaisesti Store vain memory-order-puskuriin(mob), muistiinkirjoitus vetäytymisen yhteydessä Load voi ohittaa Store:n MOB:ssa Suurin osa kokonaislukuoperaatioista suoritettavissa yhdellä kellopulssilla liukulukuyksikkö liukuhihnoitettu paitsi jakolasku

3. vaihe, retirement Valmiit käskyt kirjataan vetäytymisrekisteritaulukkoon (RRF) RRF == x86-arkkitehtuurin 8 kokonaisluku ja 8 liukulukurekisteriä Samalla kellopulsilla voi vetäytyä max. 3 u-käskyä Huom! 3 kpl u-käskyjä <= 3 kpl x86-käskyjä

Pentium Pro:n suorituskyky P6 suunniteltu toimimaan 32-bittisessä ympäristössä, 16- bittisiä käyttöjärjestelmiä käytettäessä sen suorituskyky kärsii Prosessorin ilmestymisaikaan kuitenkin x86-koneissa käytettiin yleisesti 16-bittistä Win 3.1-käyttöjärjestelmää P6 sai kunnian olla 1. x86-prosessori, joka suoritti olemassaolevaa koodia hitaammin kuin edeltäjänsä segmenttirekisterin arvon muutoksesta johtuva liukuhihnan tyhjentäminen kallis operaatio P6:ssa The read of the register waits until the partial write to the register retires. In addition, any uops that follow the stalled uop will also wait until the cycle after the stalled uop continues through the pipe. In general, avoid reading a large register (EAX) after writing a small register (AL), which is contained in the large register, as it produces a stall.

SPEC95 25 20 20,4 15 10 5 5,1 4,18 8,58 8 6,48 6,31 15 7,93 11,1 SPECint95 SPECfp95 0 Pentium 200 MHz PPro200 MHz PowerPC 604e 200 MHz Alpha 21164 500 MHz Alpha 21164 266 MHz

Prosessorinopeus, CPUMark32 Win NT 4.0 2,5 2,2 2 1,7 kertaa P 150 MHz 1,5 1 1,4 1 1 1 16-bittinen 32-bittinen 0,5 0 PPro 200 PPro 150 P 150 prosessori, MHz

Pelinopeus 20 19,2 15 16,5 16,5 ruutua / sekunti -> parempi 10 5 8,1 10,8 13 13,1 9,4 10 8 Pentium 150 Ppro 150+fastvid 0 Quake Doom95 Monster Truck M. DescentII ATF

MMX 57 multimedian tarpeita varten suunniteltua uutta käskyä Pentium ja Pentium Pro -arkkitehtuureihin 4 uutta tietotyyppiä: packed byte, packed word, packed double word sekä quadword ei uusia moodeja, yhteensopiva olemassaolevien käyttöjärjestelmien kanssa yhteensopiva olemassaolevien emolevyjen kanssa ainakin osan myös AMD ja Cyrix lisäävät käskyt omiin prosessoreihinsa

MMX SIMD-tietomalli: MMX-käskyt käsittelevät MMXrekistereissä sijaitsevia pakattuja tietotyyppejä operaatiot kohdistetaan samanaikaisesti kaikkiin pakattuihin data-alkioihin 64-bittiset MMX-rekisterit samoja kuin liukulukurekisterit + kustannussäästöt + yhteensopivuus - käytännössä samassa rutiinissa ei voi käyttää sekä liukulukuja että MMX-käskyjä (3D??) saturaatioaritmetiikka Intelin mukaan 50-400% tehonlisäys multimediaohjelmien kriittisiin kohtiin käyttö aluksi pääasiassa uusien ajureiden kautta ei vielä tarvittavaa kääntäjäteknologiaa

Lähteitä developer.intel.com www.x86.org PC-Magazine 9/95 www.chipanalyst.com