# Alpha 21064
Alpha 21064, Alpha(Alpha APX olarak ortaya çıkan) buyruk kümesi mimarisini(ISA) oluşturan Digital Equipment Corporation tarafından geliştirilmiş bir mikroişlemcidir. 1994 yılında ismi değiştirilmeden önce DECchip 21064 olarak bilinirdi.Ayrıca EV4 kod adıyla da bilinmektedir. 1992 şubat ayında tanıtılmış ve aynı yıl eylül ayında yeni sürüm olanağı sağlanmıştır.21064, ilk ticari Alpha ISA uygulamasıdır. Ayrıca Ekim 1993'te, 21064'ten türeyen Alpha 21064A ticari amaçla kullanılan ilk mikroişlemci olmuştur.


## Tarihçe.
İlk Alpha işlemcisi EV3 adında bir test çipiydi. Bu test çipi Digital'in 1.0-mikrometre(µm) CMOS-3 işlemini kullanarak üretildi.Test çipinin bir kayan nokta birimine(floating-point unit) ihtiyacı vardı ve sadece 1 KB önbelleğe sahipti. Test çipi girişken çevrim tasarımı tekniklerini teyit etme amaçlı kullanıldı. Test çipi(simülatör ve emülatörler yardımıyla) aynı zamanda donanım yazılımı geliştirmede ve şirketin desteklediği işletim sistemlerinde kullanıldı.İmal edilen ve EV4 adıyla bilinen çip Digital'in 0.75 µm CMOS-4 işlemini kullanarak üretildi.Dirk Meyer ve Edward McLellan mikro mimarlarıydı.EV3,EV4'ten önce Digital'in Alpha platformu içim yazılım geliştirmede kullandığı bir ilgisayar olan Alpha Development Unit(ADU)'de kullanılmıştır.
21064 1992 Şubat ayının ortalarında 39ncu ISSCC'da (International Solid-State Circuits Conference) tanıtıldı. 25 Şubat 1992'de ilan edildi, 150 MHz'lık bir örnek ise aynı gün ortaya çıkarıldı. 3375 dolar değerinde 100 adet, 1650 dolar değerinde 100 ila 1000 adet ve 1560 dolar değerinde 1000 adet üretim gerçekleşti. Seri üretimi Eylül 1992'de başladı.
1993 yılı Şubat ayı başlarında, 1000 adetten fazla 150 MHz sürümünün fiyatı 1559 dolardan 1096 dolara düşürülmüştür.
25 Şubat 1993 günü, 200 MHz'lık bir sürüm örnek kitlerle birlikte 3495 dolardan görücüye çıktı.10000 adetlik seri üretimin birim fiyatı 1231 dolardı.Haziran 1993'te siparişleri alınan bu sürümün teslimatı Ağustos 1993'te yapıldı.Bununla birlikte 150 MHz'lık sürümün fiyatı azaltıldı. Örnek kitin fiyatı Nisan 1993'te 3375 dolardan 1690 dolara düştü. Seri üretimdeyse Temmuz 1993'te 1355 dolardan 853 dolara düştü.
Alpha 21066 ve Alfa 21068'in 10 Eylül 1993 tarihinde tanıtımı ile Digital, mevcut 21064'lerin
konumlandırılması düzenledi ve 5000 adet civarında 499 dolar birim fiyatlı bir 166 MHz sürümünü tanıttı. Böylece 150 MHz sürümünün fiyatı, 5000 adet civarında olmak üzere birim başına 455 dolara düşürüldü.
6 Haziran 1994 tarihinde, 200 MHz'lık sürümünün fiyatı 60 MHz Pentium karşı % 31 azaltıldı ve 544 dolara düştü. Ayrıca 166 MHz'lık sürümünün fiyatında da 3 Şubat 1993 tarihinde %19'luk bir azalma oldu ve 404 dolara düştü.
Alpha 21.064, İskoçya'da bulunan Massachusetts ve Güney Queensferry'deki Digital's Hudson tesislerinde imal edildi.


### Kullanıcılar.
21064 çoğunlukla iş istasyonları ve sunucular gibi üst düzey bilgisayarlarda kullanıldı.
  - Aspen Systems Alpine iş istasyonlarında
  - Carrera Computers Hercules 150, Hercules 200 ve Pantera II iş istasyonlarında
  - Cray Research, Cray T3D süper bilgisayarlarda (150 MHz 21064)
  - Digital, DECpc AXP 150 giriş seviye iş istasyonlarında, DEC 2000 AXP giriş seviye sunucularda, DEC 3000 AXP iş istasyonları ve giriş seviye sunucularda, DEC 4000 AXP orta seviye sunucularda ve DEC 7000/10000 AXP üst düzey sunucularda
  - Encore Computer, Infinity R/T üst düzey gerçek zamanlı bilgisayarında


### Başarım.
21064 piyasaya çıktığında 1993 yılına kadar en yüksek başarıma sahip mikroişlemciydi. Daha sonra International Business Machines (IBM) POWER2'yu geliştirdi ve Ekim 1993'te 275 MHz 21064A ortaya çıkana kadar en yüksek başarıma sahip tek çip mikroişlemci unvanını elde etti.


## Açıklama.
21064 buyrukları düzenli olarak koşturan, süper boru hatlı, çift yürütümlü superscalar bir mikroişlemcidir. Her bir saat vuruşunda iki buyruğa kadar koşturumu şu dört fonksiyonel birime gerçekleyebilir: aritmetik mantık birimi, kayan nokta birimi, adres birimi, dallanma birimi. boru hattı yedi aşamalıdır, kayan nokta boru hattıysa on aşamalıdır. İki boru hattınında ilk dört aşaması aynıdır ve I-Box tarafından gerçekleştirilir.


### I-box.
I-box kontrol birimi, burukları getirir, yürütür ve çözerek boru hattını kontrol eder.İlk aşamada iki buyruk buyruk önbelleğinden getirilir. İkinci aşamada I-Box tarafından dallanma tahmini yapılır. Hem statik hem de dinamik tahmin kullanılır. Statik tahmin dallanma buyruğunun yerdeğişim alanındaki işaret bitini denetler.Eğer dallanma biti 1'se dallandığını tahmin eder.Dinamik tahmin 1 bit dallanma tahmin tablosunun sağladığı 2048 girdiyi inceler. Eğer girdi 1 içerisyorsa dallandığını tahmin eder.Eğer dinamik tahmin kullanıldıysa, çoğu programcı içindallanma tahmini %80 doğrudur.Dallanma yanlış tahmini dört çevrime mal olur.
Bu buyruklar üçüncü aşamada çözülür.Daha sonra I-box bu iki buyruğun ihtiyacı olduğu kaynakların uygunluğunu dördüncü aşamada kontrol eder.Eğer uygunsa buyruklar birlikte yürütülür. Hangi buyrukların eşlenebileceğini aritmetik mantık kayıt dosyasındaki okuma ve yazma portlarının sayısı belirler. 21064 bir aritmetik işlemle kayan nokta işlemini, herhangi bir yükleme/saklama buyruğuyla herhangi bir işlem buyruğunu,bir aritmetik işlemle aritmetik dallanmasını veya bir kayan nokta işlemiyle kayan nokta dallanmasını birlikte yürütebilir. İki birleşime izin verilmez; bir aritmetik işlemle kayan nokta yükü ve kayan nokta işlemiyle aritmetik yükü.Eğer iki buyruk birlikte yürütülemiyorsa, kalan buyruklar yürütülene kadar ilk dört aşama bu buyruklar için ertelenir.İlk dört aşama kaynak yetersizliği, bağımlılık gibi durumlar içinde ertelenebilir.
I-box'ın sanal adresleri gerçek adreslere dönüştürmek için iki adres dönüştürme önbelleği(ADÖ) içerir.Bu ADÖ'ler ITB'leri (instruction translation buffer) işaret eder. ITB'lerin önbellekleri son zamanlarda buyruk akışı için sayfa tablosu girdilerini kullanmaktadır. Sekiz girdilik bir ITP 8KB sayfalar, dört girdilik bir ITP 4MB sayfalar için kullanılır. Her ITB tam ilişkilidir ve son kullanılmış olmayan yerdeğiştirme algoritmasını kullanır.


### Yürütme.
Yürütme bütünbuyruklar için beşinci aşamada başlar. Kayıt dosyaları dördüncü aşamada okunur. Beşinci aşamadan başlayan boru hattı durdurulamaz.


#### Aritmetik Mantık Birimi.
Aritmetik mantık birimi (AMB) aritmetik buyruklarını yürütmekten sorumludur. AMB kayıt dosyaları(AKD) ve E-box'tan meydana gelir. AKD otuz iki 64-bit yazmaç, dört okuma portu ve AMB ile dallanma birimi arasında eşit olarak bölünmüş iki adet yazma portu içerir. E-box bir toplayıcı, bir mantık birimi,bir barrel kaydırıcı ve çarpıcı içerir. Çarpma, kaydırma ve bayt işleme buyrukları hariç, çoğu aritmetik buyruğu beşinci aşama sonunda tamamlanır, bu nedenle bir çevrim gecikme yaratır. Barrel kaydırıcı boru hatlanmıştır ama kaydırma ve bayt işleme buyrukları altncı aşama sonunda tamamlanmaz bu nedenle gecikmesi iki çevrimdir. Çarpıcı alandan kazanmak için boru hatlanmamıştır, bu nedenle çarpma buyrukları işleme göre değişkenlik gösteren 19 ila 23 çevrim arasında gecikmeye sebep olur.


#### Adres Birimi.
Adres Birimi A-box olarak da bilinir ve yükleme/saklama buyruklarını yürütür. Adres birimi ve AMB'yi birlikte etkin kılmak için adres birimi, AMB'nin toplayıcısını kullanmak yerine sanal adresleri hesaplamada kullandığı kendi toplayıcısını kullanır.32 girdili bir tam ilişkili TLB sanal adresleri gerçek adreslere dönüştürmerde kullanılır.Bu TLB data translation buffer'a (DTB) işaret eder. 21064 43-bit sanal adres ve 34-bit gerçek adresle gerçekleştirilmiştir. Bu nedenle 8 TB sanal bellek ve 16 GB gerçek bellek adresleme yeteneğine sahiptir.


#### Kayan Nokta Birimi.
Kayan nokta birimi kayan nokta kayıt dosyası(KKD) ve R-box'tan oluşur.KYD otuz iki 64-bit yazmaç, üç okuma portu ve iki yazma portuna sahiptir. F-box bir kayan nokta boru hattı ve çevrim başına bir biti dışlayan boru hatlanmamış bölme birimi içerir.Dördüncü aşamada kayan nokta kayıt dosyası okunur ve veri biçimlendirilir.
Beşinci ve altıncı aşamalarda uyum ya da bir normalleşme kayması ve yapışkan bit hesaplamaları toplama ya da çıkarma için yapılır. Çarpma buyrukları bir boru hattı içinde radix-8 Booth algoritması ile gerçekleşir. Sekizinci aşamada yuvarlamaya paralel olarak son ekleme gerçekleşir.Kayan nokta işlemleri onuncu aşamada sonuçlarını KKD'ye yazarlar.
Boru hattında yürütülen buyrukların altı çevrim gecikmesi vardır. Boru hatlanmamış birimde yürütülenler 31 ila 61 çevrim arası gecikmeye neden olur.


### Önbellekler.
21064'te iki adet öncelikli önbellek bulunmaktadur. Bunlardan biri ileri yazma politikasını benimsemiş 8 KB veri önbelleği diğeri ise 8 KB buyruk önbelleğidir. İki önbellekte
doğrudan ilişkilidir ve 32 bayt satır boyuna sahiptir. Bu önbellekler 98 µm2 alana sahip 6 SRAM hücresinden meydana gelir. Önbellekler 1024 hücre genişliğinde ve 66 hücre uzunluğundadır. İlk iki satır yedeklemeye ayrılmıştır.
İsteğe bağlı harici ikinci bir önbellek (B-Cache), 128 KB ila 16 MB arasında bir kapasiteyle desteklenmiştir.B-cache doğrudan ilişkilidir ve daha geniş miktarlara yapılandırılabilen 128 baytlık satır boyutuna sahiptir.B-cache'e sistem veriyoluyla erişilir.


### Harici Arayüz.
Harici arayüz 128-bitlik veriyoludur.Veriyolunun genişliği ayarlanbilir. 21064 kullanan sistemler 64-bitlik harici arayüze sahiptir. Harici arayüz ayrıca 34-bit adres yolununda içermektedir.


### Üretim.
21064 1.68 milyon transistör içermekteydi. Orijinal EV4, 0.75 µm boyutu ve 3 seviye alüminyum bağlantı içeren CMOS4 süreciyle Digital'de üretildi.EV4 ölçüleri 13.9 mm'ye 16.8 mm'di ve alanı 233.52 mm2'ydi. Sonraki EV4S CMOS-4S'de üretildi, bu CMOS4'ün %10 küçültülmüş halini aldı 0.675 µm'ye inmiş oldu. Bu sürümün ölçüleri 12.4 mm'ye 15.0 mm'di ve alanı 186 mm2'di.
21064 3.3 Volt güç tedarik etmekteydi.EV4 200 MHz'da en fazla 30W harcamaktaydı.EV4S 150 MHz'da en fazla 21W, 166 MHz'DA 22.5W ve 200 MHz'da 27W harcamaktaydı.


### Paket.
21064, 61.72 mm'ye 61.72 mm 431-pin alimunia-ceramic PGA'de paketlendi. 461 pinin 291'i işaret 140'ı güç ve topraklamaiçindi.Soğutucu doğrudan pakete yerleştirildi