Bu konsolda bulunan işlemci, ünlü Intel Pentium III'ün (bilgisayarlar için hazır bir CPU) hafif özelleştirilmiş bir versiyonudur ve 733 MHz hızında çalışır. Bu sayede bu konsolun sahne arkasında sadece bir PC olduğunu varsayabiliriz... Size cevabı söylemeyeceğim, ancak makalenin sonunda kendi sonucunuza ulaşabileceğinizi vaat ediyorum.

Xbox'ın anakartındaki Intel Pentium III paketi.
Neyse, Pentium'lar, Intel tarafından tasarlanan ve üretilen diğer CPU hatlarıyla birlikte bilgisayar pazarında son derece popülerdi. Intel'in pazar payı o kadar büyüktü ki, kalite açısından bir referans noktası haline geldiler: Tipik bir kullanıcı olarak, iyi bir bilgisayar istiyorsanız ve bütçeniz varsa, sadece bir Intel CPU taşıyan bir şey aramanız yeterliydi. Şimdiye kadar daha fazla faktör olduğunu biliyoruz, ancak bu, Intel'in pazarlama ekibinin başardığı şeydi.
Teknik bilgi
Intel'i haritada konumlandırdıktan sonra, şimdi bu konsolun konusuna geri dönelim. Araştırmalarım sırasında, diğer CPU'lar (MIPS, SuperH, ARM vb.) gibi derinlikte belgelere rastlamayı bekliyordum, ancak bunun yerine arama yönümü saptıran aşırı miktarda pazarlama terimi buldum. Bu nedenle, bu makale için bu CPU'nun nasıl çalıştığını anlamak için gerekli tüm bilgileri düzenleyecek bir yapı oluşturdum. Ayrıca Intel'in bu CPU'yu markalandırmak için kullandığı bazı terimleri de tanıtmaya çalışacağım.
Bununla birlikte, şöyle bir göz atalım:
Marka

Bu çalışma nasıl düzenlenmiştir.
İlk olarak, Xbox'ın CPU'su Pentium III olarak tanımlanır. Peki, bu ne anlama geliyor? O dönemde (erken 2000'ler), Pentium serisi, bilgisayarları süper hızlı yapan tüm şık teknolojiyi bir araya getiren 'yeni yüksek kalite'yi temsil ediyordu ve alıcıların en iyisini istiyorsa hangi CPU'yu satın alması gerektiğine karar vermelerine yardımcı oluyordu.
Pentium III, Pentium II'nin yerine geçti, ki bu da orijinal Pentium'un yerine geçti. Dahası, ilk Pentium çıktığında, 80486'nın yerine geçti, ki bu da 80386'nın yerine geçti... Demek istediğimi anlamışsınızdır. Önemli olan 'Pentium'un esasen bir marka adı olduğu, iç işleyişle doğrudan ilişkilendirilmediğidir. Bu nedenle, daha da derinlere inmeliyiz!
Daha fazla kaybolmamak ve derinleşmek için, bilgiyi üç bölüme kataloglamış bulunmaktayım: Instruction Set Architecture (ISA) veya 'ISA' (CPU'ya komut vermek için kullanılan talimatlar grubu), Mikro mimari (ISA'nın silikonda nasıl uygulandığı) ve Core (belirli CPU modelini oluşturmak için mikro mimariyi paketlemek için kullanılan bileşen seti).
ISA

Intel 80386 (1985) veya uyumlu bir model, 90'ların ortasındaki uygulamalar için minimum gereklilikti.
Gerçekten de 'Intel'den bir kez bahsettiğimde, ünlü x86 komut setini tanıtmam an meselesidir.
x86'nın ilk biçimi, 1978'de piyasaya sürülen 16-bit bir CPU olan Intel 8086 ile ortaya çıktı. Sonrasında, ISA daha fazla Intel CPU'su piyasaya sürüldükçe sürekli olarak daha fazla talimatla genişletildi (80186, 80286 ve benzerleri) . Bu nedenle, x86, daha fazla çığır açan özellik eklenirken (örneğin 'koruma modu' ve 'uzun mod'), parçalanmaya başladı. Bu sorunu çözmek için modern x86 uygulamaları genellikle 80386 ISA'sına (ayrıca IA-32 veya i386 olarak adlandırılır) temel olarak, 32-bit bir ortamda çalışan bir başlangıç noktası olarak hedefler.
Sonuç olarak, Intel, IA-32'yi uzantılar kullanarak geliştirdi, bu da yeni işlevlerin bir IA-32 CPU'sunda olup olmadığına bağlı olarak değişebileceği anlamına geliyor. Programlar, belirli bir geliştirmenin mevcut olup olmadığını kontrol etmek için CPU'yu sorgular. Xbox'ın CPU'su, iki uzantı içerir:
- MMX (Multimedya Uzantısı): Vektör işlemlerini hızlandırabilen 57 SIMD talimatı ve yalnızca tamsayıları içeren 8 adet 64-bit kayıt ekler.
- SSE (Akışkan SIMD uzantısı): MMX'in eleştirilerine (ondalık noktalı destek eksikliği ve ondalık noktalı birimi paralel olarak kullanamama) yanıt olarak eklenen başka bir SIMD türü uzantısıdır. 56 yeni talimat ekler ve dört 32-bit
floatdeğerini içeren sekiz 128-bit kayıta ('XMM' olarak adlandırılır) sahiptir.
İyi haber şu ki, konsol her zaman aynı CPU'ya sahip olacağından, programcılar kodlarını bu uzantıları kullanmak üzere optimize edebilirler çünkü bunlar her zaman mevcut olacaktır.
Mikromimari
x86 talimatlarını yorumlayabilen bir devre inşa etme konusunda, Intel CPU'ları için çok sayıda farklı tasarım geliştirmiştir. Bazı tasarımlar, yeni bir Pentium Serisi'nin piyasaya sürülmesiyle (örneğin, Pentium 4) öne çıkarken, diğerleri Intel bir Pentium'un 'gelişmiş' bir versiyonunu piyasaya sürdüğünde (örneğin 'Pentium Pro') ortaya çıkar. Bununla birlikte, ilk Pentium'un piyasaya sürülmesinden bu yana, CPU modeli ve mikromimari artık aynı adı taşımamaktadır. Örneğin, 80486, yalnızca 80486 mikromimarisini kullanır (ve başka bir şey değil), ancak orijinal Pentium'un 'P5' mikromimarisine sahiptir.
Şimdi, Xbox CPU'su, geri kalan Pentium III işlemcileri ile birlikte P6 Mikromimari'yi (aynı zamanda 'i686' olarak da bilinir) kullanır. Bu, 8086'dan saymaya başladığımızda 6. nesildir ve şunları içerir:
- Devasa 14 Aşamalı Pipeline: Bu, paralel olarak 14 talimatın işlenebileceği anlamına gelir. Öte yandan, bireysel talimatlar tamamlanmak için çok daha fazla döngü alabilir. Daha önceki bir açıklamaya bakın.
- Sıradışı Yürütme: Mümkünse, CPU talimatların sırasını artırmak için yeniden düzenler ve verimliliği artırır.
- Dinamik Yürütme: P6, sıradışı ve üst ölçekli bir tasarım olduğundan. Geleneksel dal tahmincisi şimdi diğer tekniklerle birleştirilmiştir ('spekülatif yürütme' ve 'veri akış analizi'), yeni yeteneklerden faydalanmak için. Böylece, Pipeline durmaları daha da azaltır.
Bu özelliklere biraz daha yakından bakalım. Bu özellikler, önceki konsollarla çok benzer oldukları ortaya çıkıyor. Ancak diğer CPU'lar, tasarım açısından Intel olanlara kıyasla çok farklı. Tarihsel olarak, bir kişi, x86 tasarımının Intel'e örneğin bir boru hattına sahip bir CPU üretme yeteneği vermediği konusunda bir argüman yapabilirdi. Ancak bunu başardılar, peki neden...
CISC veya RISC

Intel Pentium Pro (1995), x86 dünyasında CISC ve RISC gelişmeleri arasında köprü kuran P6 mikro mimarisini piyasaya sürmüştür. Bu, özellikle x86'nın günlerinin sayılı olduğuna inanan birçok kişi için sürpriz oldu.
İlginç bir şekilde, rekabette yer alan işlemciler RISC yönergeleri etrafında tasarlanmışken, Intel'in x86 işlemcileri bu şekilde tasarlanmamıştır ve bu nedenle CISC grubuna dâhil edilmektedir. RISC işlemcileri, CISC işlemcilerine kıyasla sadeleştirilmiş bir tasarıma sahip oldukları bilinmektedir. Bu, örneğin, (bellekten doğrudan işlem yapmanın aksine) yalnızca register'lardaki değerler üzerinde işlem yapan komutlar sağlayan bir load-store mimarisinin uygulanmasını içerir.
RISC işlemcilerinin avantajlarından biri, basit yaklaşımlarının CPU'larını modüler bir şekilde tasarlanmasına olanak tanımasıdır, bu da sıralı paralellik teknikleri ile performansı artırmak için kullanılabilir. Bu nedenle, MIPS ve PowerPC gibi CPU'lar, boru hattı aşamalarını, üst ölçekli tasarımları, sıradışı yürütme, dal tahminlemesi vb. gibi görmüştük. Öte yandan, CISC işlemcileri RISC işlemcilerinden daha eski ve daha farklı ihtiyaçları çözmeyi amaçlıyordu. Bu nedenle tasarımları, RISC İşlemciler kadar esnek değildir.
Orijinal soruya dönersek, P6 ilginç bir tasarımdır, çünkü bu CPU yalnızca CISC talimat kümesini (x86) anlar, ancak opcodes'ın bir alt kümesi mikro kod kullanılarak yorumlanır. En önemlisi, mikro kodu çalıştıran birim yükle-depolama modeli etrafında oluşturulmuştur. Bunun nedeni, P6 mimarisinin Intel i960'ın (Intel'in bir zamanlar umut vaat eden RISC CPU'su) eski mühendisleri tarafından yazılmış olmasıdır. Sonuç olarak, Intel'in tarihi x86 ISA ile uyumluluğu bozmadan RISC işlemcilerle benzer avantajlar elde etmesine izin verdi. Zaman geçtikçe, 'CISC' ve 'RISC' gibi terimlerin herhangi bir modern CPU'yu kategorize etmek için çok belirsiz hale geldiğini söylemek doğru olacaktır.
Bir yan not olarak, mikrokod zaten silikona gömülüdür, ancak Intel'in bir hata veya güvenlik açığı keşfedildiğinde CPU'larını üretimden sonra düzeltmesine izin vererek güncellenebilir. Önceki makaleleri okuduysanız (örneğin N64 veya PS2), Intel'in mikro kodu genel olarak erişilebilir değildir (daha da belgelenmiş değil) ve Intel, tek 'bakıcı' dır.
Çekirdek
Intel, P6 mikromimarisini uygulayan birçok çip sevk etti. Xbox, Coppermine adlı bir model içerir. Bu aynı zamanda Pentium III'ün ikinci revizyonu olarak markalanmıştır ('Katmai' çekirdeğinin yerini alır) ve şu bileşenlere sahiptir:
- 32 KiB L1 önbellek: Talimatlar için 16 KiB, veriler için 16 KiB arasında bölünmüştür.
- Entegre 128 KiB L2 önbelleği: Bu biraz garip, çünkü hazır Coppermine'nin 256 KiB L2 önbelleği bulunmaktadır . Aslında, Coppermine128 (Intel 'Celeron' markasında bulunan, düşük seviyeli Pentium alternatifi) aynı miktarda L2'ye sahiptir . Bu nedenle, bu muhtemelen üretim maliyetlerini düşürmek ve bu konsolu rekabetçi bir fiyatta tutmak için yapılmış olabilir.
- 133 MHz Front-side bus (Ön taraf veriyolu): Bu, L2 önbelleği ile bellek denetleyicisini bağlayan otobüstür, bununla ilgili daha fazla bilgiye daha sonra göz atacağız.
- Intel buna 'Front-side bus' adını verir, bu, L2 (harici önbellek) ile L1 (iç önbellek) arasında bağlantı kuran başka bir otobüsten ayırt etmek içindir. İkinci otobüs 'Back-side bus' olarak adlandırılır.
Coppermine ayrıca L2 önbelleğin orijinal uygulamasına iki 'geliştirme' ekler, bunlar Advanced Transfer Cache (Gelişmiş Transfer Önbellek) ve Advanced System Buffering (Gelişmiş Sistem Tamponlama)'dır. Özetlemek gerekirse, L2 önbellek çipte yer alır ve veriyolları daha geniştir, bu da Ön yüz veriyolunda olası darboğazları azaltmaya yardımcı olur.
Son olarak, çip, anakart üzerine takılan 'Micro-PGA2' soketini kullanır, ancak diğer tüm konsollar gibi, Xbox'un üzerine 'Ball Grid Array' veya 'BGA' ile lehimlenmiştir.
P6 ve Pentium numaralarının sonu
İşte biraz daha tarih. P6 yıllarının ardından Intel, 'NetBurst' mikromimarisini (Pentium IV'de kullanılan) başarılı bir şekilde takip etmeyi planladı. Ancak, ardıllık çizgisi de burada sona erdi. NetBurst birçok modern tekniği uygulamasına rağmen , aşırı güç tüketimi, ısı emisyonu (ortalama 85 W ) ve ölçeklendirilebilirlik sorunlarından dolayı sıkıntılar yaşamıştır - tüm bunlar tasarımın daha fazla devam etmesini engellemiştir.
Sonuç olarak, bu durum İsrail'deki Intel ekibini düşük güçlü P6 CPU'larını - 'Pentium M' - yeniden gözden geçirmeye ve daha güçlü bir ardıl geliştirmeye sevk etti. İlk sonuç Yonah çekirdeği idi, P6 tasarımının hafif bir gelişimi, Core Solo veya Core Duo olarak markalandı. Bununla birlikte, güç tüketimi makul rakamlara düştü (varyanta bağlı olarak 27 W ile 31 W arasında değişmektedir). Aylar sonra, Core mikromimarisi P6'nın (ve NetBurst'ün) amiral gemisi ardılı oldu ve yeterince kafa karıştırıcı bir biçimde raflara Core 2 işlemci serisi olarak ulaştı. Yıllar içinde, ardışık mikromimari gelişmeleri birçok yönü iyileştirdi, ancak aynı hataları tekrarlamadan NetBurst'ten unutulan unsurları yeniden dahil etmeyi başardı.
İlginç bir not olarak, Yonah çekirdeğinin isimlendirilmesinin Yunus Kitabı için bir metafor olup olmadığını merak ediyorum, özellikle de peygamberin sonunda Ninova şehrini kurtarmak için yolunu düzeltmeyi başardığı olayla bağlantılı olarak. Gerçi bunu fazla düşünüyor da olabilirim.
Anakart Mimarisi
PC tarihinin bir noktasında, anakartlar o kadar karmaşık hale geldi ki, yeni ihtiyaçları etkili bir şekilde ele almak için temelden tasarlanmış yeni tasarımlar geliştirilmek zorunda kaldı.
Geliştirilen yeni standart, çoğu anakart fonksiyonunu işlemek için iki ayrılmış yonga kullanmaya dayanıyordu. Bu yongalar şunlardır:
- Northbridge (Kuzey Köprüsü): Bellek denetleyicisi olarak hizmet verir ve GPU ile arayüz sağlar.
- Southbridge (Güney Köprüsü): Geri kalan I/O ile arayüz sağlar (örneğin USB, ATA/SATA, PCI vb.)
Bu yongaların birleşimi yonga seti olarak adlandırılır ve bir anakartın yeteneklerini ve performansını koşullandırmak için yeterince önemlidir. Xbox, bir PC'ye çok yakın olduğu için, iki yongayı da içerir: NV2A, Northbridge ve GPU'nun bir kombinasyonu; ve MCPX, geri kalan I/O'yu işler.
Her iki yonga da HyperTransport adlı özel bir otobüsü kullanarak birbirine bağlıdır. Bu teknolojiyi bazı PC anakartları da içeriyordu, sadece farklı bir marka ile (nForce MCP-D).
Bellek Düzeni
Xbox, toplamda 64 MiB DDR SDRAM içerir; bu tür RAM, rakiplerin sunduğuna göre çok hızlıdır. Ancak, bu RAM türü tüm sistem bileşenleri arasında paylaşılmıştır. Dolayısıyla, bir kez daha, karşımıza başka bir unified memory architecture (birleşik bellek mimarisi) veya 'UMA' düzeni çıkıyor.

Anahtarlama ağının temsili. GPU iki banka kullanırken, CPU farklı bir banka kullanır ve bu süreçte çatışmayı azaltır.
Daha önce ne kadar sorunlu olabileceğini görmüştük. Yine de, programlar verilerini belleğin farklı bankalarına yayarak bu sorunu ele alabilir. NV2A, farklı ünitelerin (CPU, GPU vb.) aynı anda bunlara erişmesini sağlayan bir anahtarlama ağı uygular .
Ayrıca, konsol dahili bir sabit disk içerir ve tesadüfen geçici depolama için ayrılmış 750 MiB'lik üç bölüm içerir. CPU, bazı verilerini ana RAM'den taşıyabilir ve gerektiğinde geri yükleyebilir. Ancak, bu manuel bir süreçtir ve sanal RAM içermez.

