JohnnyCage
Lebutították a Pentium 4-et
[Register] Még az Intel sem engedhet meg magának akármit. Erre legjobb példa a Pentium 4, amit a tervezők kénytelenek voltak igencsak megkopasztani, hogy a CPU ára észszerű keretek közé süllyedjen.
Darrell Boggs, az Intel desktop platformjának főmérnöke a Monterey-i Micro-33 konferencián arról beszélt, hogy az eredeti P4 kialakítás túl nagy lett volna ahhoz, hogy gazdaságosan elő tudják állítani a mostani 180nm-es technológiával. A mérnököknek ezért kompromisszumot kellett kötniük, hogy a fogyasztás lecsökkenjen, a lapka mérete pedig maximum akkora legyen, mint annak idején a Pentium Pro.
Egy megabytenyi harmadszintű (L3) cache, két teljes lebegőpontos egység, és egy nagyobb L1 cache volt az eredeti processzor része, de ezeket az Intel az előállítási költségek lecsökkentése végett kihagyta a processzor végleges változatából.
Boggs szerint fokozatosan egyre nyilvánvalóbbá vált számukra, hogy a chip mérete túl nagyra nőtt, és a fogyasztás is az elfogadható fölé került. Ráadásul a CPU bonyolultsága miatt a tesztelés nagyon drága és hosszadalmas lett volna, még akkor is ha nem merülnek fel közben problémák. De sajnos komoly problémák kezdtek előbukkanni, és a cég végül úgy döntött, hogy bizonyos részeket elhagy.
"Eredetileg úgy volt, hogy a CPU fizikai méretei nagyobbak lesznek.", mondta Boggs. "De a nagy méretű lapkák előállításához sok gyár kell. Új gyárak építése nélkül gyártási kapacitás problémák merültek volna fel.", tette hozzá.
Az eredeti terv szerint a Willamette egy lassú ALU-t (Arithmetical and Logical Unit-Aritmetikai és Logikai Egység), két gyors ALU-t, két aritmetikai címgenerátor egységet, két lebegőpontos egységet, 16KB L1 cache-t, 12 ezer utasítást tároló trace cache-t, 128KB L2 cache-t, 1MB-os külső L3 cache-t, egy register átnevezőt és egy busz arhitektúrát tartalmazott volna.
A társaság azonban már korábban eldöntötte, hogy a 180nm-es technológiával készülő szilíciumlapka (die) mérete nem lehet nagyobb, mint annak idején a Pentium Pro lapkája. (A Pentium Pro 1995-ben jelent meg, és ez volt az első P6-os arhitektúrájú processzor.)
"Ha az elsők nagyok, a többiek is minimum ugyanilyen nagyok lesznek. Ez óriási problémát jelentett nekünk", mondta Boggs.
Az Intel nem tudott megbírkózni a lapkaméret és fogyasztás kérdésével, ezért végül ugy döntött, hogy a teljesítmény rovására elhagy néhány egységet. "Hatalmas lapkaterület, és túl nagy teljesítmény kellett volna a lebegőpontos egységnek." Ennek eredményeképpen az FPU át lett alakítva, hogy egyszerűen mozgassa az adatokat, ahelyett hogy MMX, SSE és SSE2 utasításokat hajtana végre. A változtatás 5%-os sebességcsökkenést okozott, de ezzel a lapka mérete a felére csökkent.
A mérnökök lebutították a trace cache-t is, ami a P4 hosszú utasítás-csővezetékét hivatott kompenzálni, azzal, hogy csak dekódolt részműveleteket fogad be. A trace cache 12 ezer utasítás befogadására képes, és tartalmaz egy tömörítő algoritmust, amellyel a részműveletek tárolásához szükséges bitek száma lecsökken. "Ezért a trace cache teljesítménye nem változott, de sokkal kevesebb helyet igényel a lapkán."
Az 1MB-os L3 cache egy külön chipben lett volna, de emiatt drága cardridge-re lett volna szükség, mint a Slot-1-es Pentium II/III esetében. Ezt azonban nem akarta újból bevezetni az Intel.
Boggs azzal fejezte be beszédét, hogy az összes kézzelfogható processzorteljesítmény-növelő módszert kipróbálták már. "Az összes alacsonyan lógó gyümölcsöt leszedtük a fáról.", mondta. "Mostmár állványt kell építeni a fa köré. A fejünkre fogunk állni, és különös dolgokat fogunk csinálni egy kevéske pluszteljesítményért."
Darrell Boggs, az Intel desktop platformjának főmérnöke a Monterey-i Micro-33 konferencián arról beszélt, hogy az eredeti P4 kialakítás túl nagy lett volna ahhoz, hogy gazdaságosan elő tudják állítani a mostani 180nm-es technológiával. A mérnököknek ezért kompromisszumot kellett kötniük, hogy a fogyasztás lecsökkenjen, a lapka mérete pedig maximum akkora legyen, mint annak idején a Pentium Pro.
Egy megabytenyi harmadszintű (L3) cache, két teljes lebegőpontos egység, és egy nagyobb L1 cache volt az eredeti processzor része, de ezeket az Intel az előállítási költségek lecsökkentése végett kihagyta a processzor végleges változatából.
Boggs szerint fokozatosan egyre nyilvánvalóbbá vált számukra, hogy a chip mérete túl nagyra nőtt, és a fogyasztás is az elfogadható fölé került. Ráadásul a CPU bonyolultsága miatt a tesztelés nagyon drága és hosszadalmas lett volna, még akkor is ha nem merülnek fel közben problémák. De sajnos komoly problémák kezdtek előbukkanni, és a cég végül úgy döntött, hogy bizonyos részeket elhagy.
"Eredetileg úgy volt, hogy a CPU fizikai méretei nagyobbak lesznek.", mondta Boggs. "De a nagy méretű lapkák előállításához sok gyár kell. Új gyárak építése nélkül gyártási kapacitás problémák merültek volna fel.", tette hozzá.
Az eredeti terv szerint a Willamette egy lassú ALU-t (Arithmetical and Logical Unit-Aritmetikai és Logikai Egység), két gyors ALU-t, két aritmetikai címgenerátor egységet, két lebegőpontos egységet, 16KB L1 cache-t, 12 ezer utasítást tároló trace cache-t, 128KB L2 cache-t, 1MB-os külső L3 cache-t, egy register átnevezőt és egy busz arhitektúrát tartalmazott volna.
A társaság azonban már korábban eldöntötte, hogy a 180nm-es technológiával készülő szilíciumlapka (die) mérete nem lehet nagyobb, mint annak idején a Pentium Pro lapkája. (A Pentium Pro 1995-ben jelent meg, és ez volt az első P6-os arhitektúrájú processzor.)
"Ha az elsők nagyok, a többiek is minimum ugyanilyen nagyok lesznek. Ez óriási problémát jelentett nekünk", mondta Boggs.
Az Intel nem tudott megbírkózni a lapkaméret és fogyasztás kérdésével, ezért végül ugy döntött, hogy a teljesítmény rovására elhagy néhány egységet. "Hatalmas lapkaterület, és túl nagy teljesítmény kellett volna a lebegőpontos egységnek." Ennek eredményeképpen az FPU át lett alakítva, hogy egyszerűen mozgassa az adatokat, ahelyett hogy MMX, SSE és SSE2 utasításokat hajtana végre. A változtatás 5%-os sebességcsökkenést okozott, de ezzel a lapka mérete a felére csökkent.
A mérnökök lebutították a trace cache-t is, ami a P4 hosszú utasítás-csővezetékét hivatott kompenzálni, azzal, hogy csak dekódolt részműveleteket fogad be. A trace cache 12 ezer utasítás befogadására képes, és tartalmaz egy tömörítő algoritmust, amellyel a részműveletek tárolásához szükséges bitek száma lecsökken. "Ezért a trace cache teljesítménye nem változott, de sokkal kevesebb helyet igényel a lapkán."
Az 1MB-os L3 cache egy külön chipben lett volna, de emiatt drága cardridge-re lett volna szükség, mint a Slot-1-es Pentium II/III esetében. Ezt azonban nem akarta újból bevezetni az Intel.
Boggs azzal fejezte be beszédét, hogy az összes kézzelfogható processzorteljesítmény-növelő módszert kipróbálták már. "Az összes alacsonyan lógó gyümölcsöt leszedtük a fáról.", mondta. "Mostmár állványt kell építeni a fa köré. A fejünkre fogunk állni, és különös dolgokat fogunk csinálni egy kevéske pluszteljesítményért."