Alpha 21164

Alpha 21164, aynı zamanda Alpha buyruk kümesi mimarisini geliştirmiş olan Digital Equipment Corporation tarafından geliştirilmiş, EV5 kod adıyla da bilinen bir mikroişlemcidir. Alpha 21164 Digitalin en çok satışı yapılan mikroişlemcisi Alpha 21064Ayı takiben 1995 yılı Ocak ayında tanıtılmıştır. Onu 1998 yılında 21264 izleyecektir.
Tarihçe
Alpha 21164ün ilk silikonu şubat 1994te üretildi ve OpenVMS, Digital UNIX and Windows NT işletim sistemleri başarıyla üzerinde çalıştırıldı. 1994 yılı sonlarına doğru denendi ve 1995 yılı ocak ayında 266 MHzlık sürümüyle tanıtımı yapıldı. Mart 1995te 300 MHzlık bir sürümü tanıtıldı. Son Alpha 21164, örnek değerlere uygun 333 MHzlık bir sürümdü ve 2 Ekim 1995te tanıtıldı. Alpha 21164 Digitalin en çok satan mikroişlemcisi unvanını 1996 yılında 400 MHzlik Alpha 21164Aya devretti.
Kullanıcılar
Digital Alpha 21164ü çeşitli saat sıklıklarıyla AlphaServers sunucularında ve AlphaStation iş istasyonlarında kullandı. Digital Alpha 21164ü ayrıca Alpha VME 5/352 ve Alpha VME 5/480 tek kartlı bilgisayarlarda ve AlphaPC 164, AlphaPC 164LX anakartlarında da kullandı. Alpha ortağı Cray Research T3E-600 süper bilgisayarlarında 300 MHzlık Alpha 21164 kullandı. Ayrıca DeskStation da Alpha 21164 kullanarak iş istasyonları kurdu.
Başarım
21164 başarısını 275 MHzlık Alpha 21164A ile sürdürdü ta ki Intel Pentium Pronun 1995 yılı Kasım ayında tanıtılması ve 200 MHzlık sürümünün Alpha 21164ün 300Mhzlık sürümüne göre SPECint95_base değerlendirmesinde daha iyi sonuçlar vermesine kadar. Ancak 21164 kayan nokta başarımını sürdürdü. Sonraki yıl 333 MHzlık 21164ün başarımı Pentium Proyu geçse de aynı sene içerisinde MIPS Technologies R10000 ve Hewlett-Packard PA-8000ın gerisinde kaldı.
Açıklama
Alpha 21164, tek çevrimde ikisi aritmetik mantık ve diğer ikisi kayan nokta birimine olmak üzere toplam 4 buyruk koşturabilen 4 yollu superscalar bir mikroişlemcidir. Aritmetik boru hattı yedi aşamalı, kayan nokta boru hattı ise on aşamalıdır. 21164 43-bit sanal adres ve 40-bit fiziksel adres gerçekleştirebilmektedir. Dolayısıyla 8TB sanal bellek ve 1TB fiziksel adres adresleyebilmektedir.
Aritmetik Mantık Birimi
Aritmetik mantık birimi iki aritmetik boru hattı ve iki aritmetik yazmaç öbeğinden oluşmaktadır. İki boru hattı; toplama ve çarpma boru hattı özdeş değildir. Her ikisi de genel amaçlı toplama, mantık, yükleme, karşılaştırma ve şartlı buyrukları koşturmasına rağmen her biri farklı buyrukları koşturmakla yükümlüdür. Çarpma boru hattı kaydırma, saklama ve çarpma buyruklarını koşturur.
Dallanma, şart ve çarpma hariç diğer bütün buyruklar bir çevrimlik gecikme içerisinde beşinci aşamada çalıştırılma işlemlerini tamamlarlar. Dallanma ve şart buyrukları altıncı aşamada çalıştırılır böylece sonucuna bağlı oldukları karşılaştırma buyruğuyla koşturulabilirler.
Aritmetik yazmaç öbeği otuz ikisi Alpha Mimarisi tarafından özelleştirilmiş ve sekizi PALcode tarafından bloknot bellek olarak kullanılan kırk adet 64-bit yazmaç içermektedir. Yazmaç öbeği iki boru hattı arasında eşit bölünmüş dört okuma portu ve iki yazma portuna sahiptir.
Kayan Nokta Birimi
Kayan nokta birimi iki kayan nokta boru hattı ve iki kayan nokta yazmaçtan oluşmaktadır. İki boru hattı özdeş değildir birisi çarpma burukları hariç diğer bütün kayan nokta buyruklarını koştururken diğeri sadece çarpma buyruklarını koşturur. Her iki boru hattıda dört aşamalıdır. Boru hattı kullanmayan kayan nokta bölücüsü toplama boru hattına bağlanmıştır. Bölme hariç diğer bütün kayan nokta buyrukları dört çevrimlik gecikmeye sahiptir. Bölme gecikmeleri ondalık sayının hassaslığına bağlı olarak değişmektedir. Tek duyarlı bölmeler 15 ila 31 çevrim gecikmeye neden olurken çift duyarlı bölmeler 22 ila 60 çevrim gecikmeye neden olabilmektedir.
Önbellek
Alpha 21164, ikisi katman üzerinde ve biri harici ve opsiyonel olmak üzere üç seviyeli önbelleğe sahiptir. Önbellek 7.2 milyon transistör içermektedir.
Birincil önbellek buyruklar ve veri için ayrı önbelleğe ayrılmıştır; I-cache ve D-cache. Doğrudan ilişkili, 8KB ve 32 bayt önbellek satırı boyutuna sahiplerdir. D-cache performansı arttırma amaçlı çift portludur. İleri yazma ve on-read yerleştirme tutumunu izler.
S-cache olarak bilinen ikincil önbellek kart üzerinde ve 96KB kapasiteye sahiptir. İkincil önbellek 21164ün daha fazla bantgenişliği ve daha fazla buyruk ve veri temin etme ihtiyacına karşılık vermiştir. İkincil önbelleğe iki çevrimde erişim gerçekleşmektedir. Başarımı arttırma amaçlı önbellek boru hatlanmıştır. İkincil önbelleğin bir diğer faydası ise kolayca çok yollu önbellek olarak tanımlanabilmesi, dolayısıyla 3 yollu kümeli ilişkili olabilmesi ve doğrudan ilişkili önbelleğe göre çok daha iyi bulma oranına sahip olabilmesidir. S-cache, gerekli büyük fiziksel alanından dolayı, I-box, E-box, F-box ve M-box kanadında uygulanmış ve yarıya indirilmiştir. Böylece önbellek veriye iki çevrimde erişebilmektedir.
B-cache olarak da bilinen üçüncül önbellek harici SRAMlerle tanımlanmıştır. B-cache opsiyoneldir ve bazı Alpha 21164 kullanan sistemlerde yoktur. B-cache kapasitesi 1 ila 64 MB arasındadır daha küçük kapasiteli olanları ikincil önbellek desteklemez. Geri yazma ve on-write yerleştirme tutumunu izler ve doğrudan ilişkilidir. B-cache kart üzerinde harici arayüz tarafından kontrol edilir. B-cache asenkron ya da senkron SRAMlerle oluşturulabilir. B-Cache erişimi sistem yoluyla sağlanır.
Harici Arayüz
Harici arayüz, 128-bitlik bir sistem yoludur. Sistem yolu harici saat sıklığı 3 ila 15 kat daha düşük bir sıklıkta ya da 300 MHz dahili saat sıklığıyla birlikte 20 ila 200 MHzda işlem yapar. Sistem yolu saat işareti mikroişlemci tarafından üretilir.
Saat
Alpha 21164 dahili saat sıklığının iki katı büyüklüğünde harici saat sıklığına ihtiyaç duyar. Örneğin 300 MHz Alpha 21164 600 MHz harici saat sıklığı gerektirir.
Üretim
Alpha 21164 16.5e 18.1 mmlik (299 mm2) 9.3 milyon transistör içerir. Katman Digitalin beşinci nesil CMOS (CMOS-5) yöntemiyle üretilmiştir. 21164 3.3-volt V güce ihtiyaç duyar.
Paket
Alpha 21164 57.40e 57.40 mmlik 499-pin IPGA ile paketlenmiştir. Paket, soğutucunun tutturulduğu iki adet çiviyle sabitlenmiş bir ısı dağıtıcıya sahiptir.
Mikroişlemciler