
AMD K8 (kod adı Hammer), AMD'nin Athlon (K7) mimarisinin ardılı olarak geliştirdiği mikroişlemci mimarisidir. Opteron sunucu işlemcisiyle 22 Nisan 2003'te tanıtılan K8, x86 buyruk kümesini 64 bite genişleten AMD64 uzantısının ilk uygulamasıdır. Masaüstü ve dizüstü bilgisayarlar için Athlon 64 aynı yılın eylül ayında çıktı; AMD bu işlemciyi Windows ile uyumlu ilk 64 bitlik x86 kişisel bilgisayar işlemcisi diye tanıttı.
K8'in yeniliklerinin çoğu çekirdeğin çevresindeydi. İşlemciyle aynı kırmıkta yer alan tümleşik bellek denetleyicisi, belleğe giden istekleri ayrı bir kuzey köprüsü üzerinden geçirmediği için bellek gecikmesini önceki kuşağa göre belirgin biçimde azalttı. İşlemcileri birbirine ve giriş/çıkış birimlerine bağlayan yüksek bant genişlikli HyperTransport bağlantıları, çok işlemcili sistemlerde ölçeklenebilirliği artırdı. Çekirdek başına 1 MB'a varan ikinci düzey önbellek ve SSE2 buyrukları da mimarinin öne çıkan özellikleri arasındaydı. İlk K8 işlemcileri 130 nm'lik SOI (yalıtkan üzerinde silisyum) süreciyle Dresden'deki fabrikada üretildi.:2, 11, 17
AMD, x86-64 adını verdiği 64 bitlik genişletmenin belirtimini 10 Ağustos 2000'de yazılım geliştiriciler için yayımladı. Belirtim x86'ya 64 bitlik adres ve veri alanı eklerken 32 bitlik yazılımın değiştirilmeden çalışmasını koruyordu. AMD bu yaklaşımı, Intel'in IA-64 stratejisine göre daha aşamalı bir geçiş yolu diye sundu; Sun Microsystems de aynı gün Solaris işletim sistemi için mimariyi desteklediğini açıkladı. Buyruk kümesi genişletmesi, Hammer çekirdeği ve bu çekirdekle kurulan çok işlemcili sistemler Ağustos 2002'de Hot Chips 14 konferansında üç ayrı sunumla anlatıldı.
Opteron, 22 Nisan 2003'te New York'ta düzenlenen bir etkinlikle piyasaya çıktı. İlk modeller iki işlemcili sistemler için 240, 242 ve 244'tü. Model numarasının ilk hanesi işlemcinin kurulabileceği en büyük sistemi gösteriyordu; 1 ile başlayan modeller tek işlemcili, 2 ile başlayanlar iki işlemcili, 8 ile başlayanlar sekiz işlemciye kadar çıkan sistemler içindi. 130 nm'lik kırmık 105,9 milyon transistör taşıyor ve 193 mm² yer kaplıyordu; transistörlerin önemli bir bölümü 1 MB'lık ikinci düzey önbelleğe ayrılmıştı. 1,8 GHz'lik Opteron 244 en çok 89 W güç harcıyordu. Athlon 64 ile Athlon 64 FX'in ilk çekirdeği ClawHammer da 1 MB ikinci düzey önbellekli, 130 nm'lik bir kırmıktı.:10:7
AMD, 2004 boyunca işlemci üretimini 90 nm'ye taşıdı; o yılın sonunda işlemcilerinin çoğu bu süreçle üretiliyordu. Aynı hız sınıfındaki Athlon 64'lerden 90 nm ile üretilenlere Winchester, 130 nm ile üretilenlere Newcastle adı verildi. 90 nm'ye geçiş, ana akım modellerin soğutma tasarım gücünü 89 W'tan 67 W'a indirdi.:1 Nisan 2005'te gelen E3 sürümlü Venice çekirdeği SSE3 buyruklarını ekledi ve dört bellek modülü takıldığında bellek denetleyicisinin uyumluluğunu iyileştirdi. 512 KB önbellekli kırmığın alanı Newcastle'daki 144 mm²'den 84 mm²'ye, 1 MB önbellekli kırmığınki 193 mm²'den 115 mm²'ye indi. 1 MB önbellekli 90 nm'lik çekirdek San Diego adını taşıyordu.
AMD, Ağustos 2004'te bir HP ProLiant sunucusunda iki çekirdekli Opteron işlemcileri çalıştırarak ilk çift çekirdekli x86 işlemcinin gösterimini yaptı. Çift çekirdekli Opteron Nisan 2005'te, masaüstü için Athlon 64 X2 Mayıs 2005'te çıktı. X2'nin iki çekirdeği vardı; Toledo her çekirdek için 1 MB, Manchester 512 KB ikinci düzey önbellek taşıyordu.:1, 7 İki çekirdekli tasarımda her çekirdeğin kendi ikinci düzey önbelleği vardır; çekirdekler bellek denetleyicisine ve HyperTransport bağlantısına kırmık içindeki ortak bir anahtar üzerinden ulaşır.:5 Toledo kırmığı 233,2 milyon transistör taşıyor ve 199 mm² yer kaplıyordu.:11
23 Mayıs 2006'da tanıtılan Socket AM2 ile AMD'nin bütün masaüstü işlemcileri DDR2 SDRAM'e geçti. Bellek denetleyicisi işlemcinin içinde olduğundan bu geçiş yeni bir çekirdek sürümü ve yeni bir soket gerektirdi; Athlon 64 ve Athlon 64 FX'te E sürümünün yerini F sürümü aldı.:2, 13 AM2 işlemcileri 940 bacaklıdır ama bacak dizilimleri Socket 940'lı Opteron'larınkiyle uyumlu değildir; Athlon 64'ler bu sürümle donanım destekli sanallaştırma desteği de kazandı. Ağustos 2006'da DDR2 bellek ve geliştirilmiş sanallaştırma desteği getiren yeni kuşak çift çekirdekli Opteron işlemciler çıktı; bu işlemcilerin yerine, aynı sokete takılan ve aynı soğutma tasarım gücü sınırında kalan dört çekirdekli işlemciler konabiliyordu. Aralık 2006'da AMD 65 nm ile üretilen Athlon 64 X2 işlemcilerini çıkardı ve Dresden'deki Fab 36'da bu süreçle üretime başladı. 65 nm'lik Brisbane çekirdeği 153 milyon transistörle 126 mm² yer kaplıyordu.:11 K8'in yerini, AMD'nin 2007'de dört çekirdekli Opteron ve Phenom işlemcileriyle tanıttığı K10 mimarisi aldı.:12
AMD'nin x86-64 için koyduğu hedefler, 64 bite geçişi var olan mimariden en az sapmayla ve buyruk kodlamasında en az değişiklikle yapmak, 32 bitlik uygulamalarla uyumluluğu korumak ve 64 bit kipte az kullanılan eski x86 özelliklerini ayıklamaktı. Genişletme genel amaçlı yazmaçları 64 bite çıkardı; genel amaçlı yazmaçların ve SSE yazmaçlarının sayısını sekizden on altıya yükseltti. Yeni yazmaçlar, var olan buyruk biçimi değiştirilmeden REX adlı bir önek baytıyla kodlanır; bu önek 64 bitlik işlenen boyunu da seçer. AMD'nin ölçümüne göre 64 bit kipte ortalama buyruk uzunluğu 0,4 bayt arttı.:4-5, 10-11
Genişletme, uzun kip (long mode) adlı yeni bir çalışma kipi tanımlar. Uzun kip, 64 bit kip ile eski 32 bitlik ve 16 bitlik uygulamaları değiştirmeden çalıştıran uyumluluk kipinden oluşur; böylece 64 bitlik bir işletim sistemi yeniden derlenmemiş 32 bitlik uygulamaları da çalıştırabilir. 64 bit kipte x86'nın eski bölütleme düzeni kullanılmaz ve programlar düz bir sanal adres alanı görür. Varsayılan veri boyu 32 bit, varsayılan adres boyu 64 bittir.:5-8, 12 Mimari 64 bitlik sanal ve 52 bitlik fiziksel adrese olanak tanır; Hammer çekirdeği bunların 48 bitlik sanal ve 40 bitlik fiziksel adres kısmını uygular. 48 bitlik sanal adres, sayfa tablosu yapısına eklenen dördüncü bir düzeyle çevrilir.:5, 13:8, 10 Chips and Cheese'in aktardığı AMD verisine göre 64 bit desteği, eşdeğer bir 32 bitlik tasarıma göre kırmık alanını yalnızca %2-3 büyüttü.

Hammer çekirdeği, her çevrimde üç mikro işlemi yürütmeye gönderen, çoklu buyruk başlatımlı ve sırasız yürütümlü bir tasarımdır. Tamsayı buyrukları 12 aşamalı bir boru hattından geçer; ilk yedi aşama getirme ve çözme, sonraki beş aşama yürütme ve veri önbelleğine erişim içindir. Kayan nokta buyruklarında yürütme kısmı on aşamaya uzar. İkinci düzey önbellekten gelen veri 19. aşamada, ana bellekten gelen veri 32. aşama dolayında kullanılabilir.:3, 6, 12-15:2 K8'in çekirdeği büyük ölçüde K7'ninkini izler. Tamsayı bekleme kuyruklarının toplam kapasitesi 18'den 24 girişe, kayan nokta yazmaç öbeği 88'den 120 girişe çıktı ve TLB'ler iki katına büyüdü; Chips and Cheese bu yüzden K8'i K7'nin biraz geliştirilmiş bir sürümü sayar.
64 KB'lık birinci düzey buyruk önbelleği iki yollu kümeli ilişkilidir, 64 baytlık veri öbekleri kullanır ve çözücüye her çevrimde 16 bayt verir. Bulamama durumunda sıradaki veri öbeğini önceden getirir. Buyruklar önbelleğe yazılırken ön çözmeden geçer ve her bayt için buyruğun orada bitip bitmediğini gösteren bir bit saklanır. Dallanma öngörüsü, genel dallanma geçmişiyle dizinlenen 16.384 iki bitlik sayaçtan, 2.048 hedef tutan bir dallanma hedef ara belleğinden ve 12 girişlik bir dönüş adresi yığıtından yararlanır. AMD, öngörü doğruluğunun Athlon'a göre %5-10 arttığını bildirdi.:4-5
x86 buyrukları sabit uzunluklu mikro işlemlere çevrilir. İki ya da daha az mikro işleme dönüşen buyruklar donanımla doğrudan çözülür; daha uzun olanların mikro işlem dizisi mikrokod belleğinden okunur. Hammer'da Athlon'a göre daha çok buyruk doğrudan çözülür; örneğin paketli SSE buyrukları Athlon'da mikrokoda giderken Hammer'da donanımla çözülür. Mikrokodla çözülen buyrukların sayısı SPECint2000'de %8, SPECfp2000'de %28 azaldı.:6 Bellek işlenenli tamsayı buyrukları boru hattı boyunca tek birim hâlinde kalır; bu da yeniden sıralama kaynaklarının daha verimli kullanılmasını sağlar.
Tamsayı yürütme kısmı birbirine benzeyen üç kümeden oluşur; her kümede bir aritmetik mantık birimi, bir adres üretim birimi ve sekiz girişlik bir bekleme kuyruğu vardır. Veriyolları 64 bit genişliğindedir. 32 ve 64 bitlik toplama, çıkarma, kaydırma ve mantık işlemleri tek çevrimde biter; 32 bitlik çarpma üç, 64 bitlik çarpma beş çevrim sürer.:7 Çarpma yalnız ilk kümede yapılabilir; öteki tamsayı işlemlerinin çoğu üç kümeden herhangi birinde yürütülebilir.
Kayan nokta birimi x87, MMX, 3DNow!, SSE ve SSE2 buyruklarını işler. Toplama, çarpma ve öteki işlemler için üç ayrı birim, 36 girişlik ortak bir bekleme kuyruğundan beslenir; birim baştan sona boru hatlıdır.:3, 7 Yürütme birimleri 64 bit genişliğinde olduğundan 128 bitlik SSE işlemleri iki parçaya bölünür; kayan nokta toplama ve çarpmanın gecikmesi dört çevrimdir. Yürütmedeki buyrukları 72 girişlik bir buyruk denetim birimi izler.:3

64 KB'lık birinci düzey veri önbelleği iki yollu kümeli ilişkilidir, bankalara bölünmüştür ve iki kapılıdır; her çevrimde farklı bankalara iki 64 bitlik okuma ya da yazma yapılabilir. Yükle-kullan gecikmesi üç çevrimdir ve 8 baytlık sınırı aşan hizasız yüklemeler bir çevrim daha sürer. Önbellek tutarlılığı için MOESI durumları kullanılır.:8 İkinci düzey önbellek 1 MB'a kadar yapılandırılabilir ve 16 yollu kümeli ilişkilidir. Birinci ve ikinci düzey önbellekler aynı veriyi birlikte tutmaz. İkinci düzey önbellek buyrukların ön çözme ve dallanma bitlerini de saklar ve sekizi veri, ikisi buyruk önbelleğinden gelen on bulamama isteğini aynı anda izleyebilir.:9 Athlon 64'ler 1 MB, 512 KB ve 256 KB ikinci düzey önbellekle sunuldu.:1 Birinci düzeydeki buyruk ve veri TLB'leri 40'ar girişli ve tam ilişkilidir; ikinci düzeyde 512 girişlik, dört yollu kümeli ilişkili buyruk ve veri TLB'leri vardır.:10
Birinci düzey veri önbelleği, ikinci düzey önbellek ve etiketleri ile ana bellek hata düzeltme koduyla (ECC) korunur; ana bellek için chipkill ECC desteği de vardır. ECC korumalı diziler arka planda donanımla taranır ve bulunan hatalar düzeltilir. Buyruk önbelleği, etiketler ve TLB'ler gibi gerektiğinde yeniden yüklenebilen veriyi tutan diziler eşlik bitiyle korunur.:16

Kırmıkta, AMD'nin tümleşik kuzey köprüsü dediği bir bölüm vardır. Tümleşik kuzey köprüsü sistem istek kuyruğunu, bir anahtarı, bellek denetleyicisini ve HyperTransport bağlantılarını içerir; işlemciden ve giriş/çıkıştan gelen istekleri belleğe ya da giriş/çıkışa yönlendirir, işlem sırasını ve önbellek tutarlılığını yönetir. Çekirdekle aynı saat sıklığında çalıştığı için bellek gecikmesi işlemci hızı arttıkça kısalır; AMD bu düzenin Athlon'un dış kuzey köprülü yapısına göre yaklaşık %20 hız kazancı getirdiğini bildirdi. DDR bellek denetleyicisi 8 ya da 16 baytlık arayüzle, yazmaçlı ya da yazmaçsız bellek modülleriyle çalışır; 16 baytlık arayüz sekiz yazmaçlı modüle doğrudan bağlanabilir.:11
İlk Opteron'lar 940 bacaklı bir paketle geldi; iki kanallı DDR bellek denetleyicisi ve her biri 6,4 GB/s olmak üzere toplam 19,2 GB/s'lik üç HyperTransport bağlantısı taşıyordu. İlk Athlon 64'ler ise 754 bacaklı paketle, tek kanallı bellek denetleyicisi ve tek HyperTransport bağlantısıyla geldi.:17 AMD'nin veri sayfasına göre Socket 754 işlemcileri 72 bitlik DDR arayüzüyle en çok üç modül, Socket 939 işlemcileri 144 bitlik arayüzle en çok dört modül destekler; Socket 939'da HyperTransport bağlantısı 1 GHz'e ve her yönde 4 GB/s'ye çıkar. Socket AM2 işlemcileri ise 144 bitlik DDR2 denetleyicisiyle 400 MHz'e kadar çalışır.:1-2 Chips and Cheese'in ölçümünde iki çekirdekli Athlon 64 FX-62'nin bellek gecikmesi 60 ns dolayındaydı; belleğe yonga seti üzerinden ulaşan NetBurst mimarili Pentium Extreme Edition 965'te bu süre 94 ns'yi aşıyordu.

Opteron, iki ile sekiz arasında işlemciyi ek yonga gerektirmeden bağlayabilecek biçimde tasarlandı. Her işlemcinin kendi bellek denetleyicisi ve belleği vardır. İşlemciler birbirine önbellek tutarlılığını taşıyan HyperTransport bağlantılarıyla, giriş/çıkış birimlerine ise tutarlılık taşımayan HyperTransport bağlantılarıyla bağlanır; her bağlantı 16 bit genişliğindedir ve her yönde 3,2 GB/s taşır. Fiziksel adres alanı düz ve tümüyle tutarlıdır, yazılım sistemi simetrik çok işlemcili bir makine gibi görür.:3-7
Sistem, donanım bakımından tekdüze olmayan bellek erişimine dayanır; uzak belleğe ulaşmak bir ya da iki işlemci atlaması gerektirir. AMD, dört işlemcili sistemde uzak ve yakın bellek gecikmelerinin oranını 1,4'ün altında tutmayı ve aradaki farkı DRAM'de sayfa bulma ile sayfa çakışması arasındaki fark düzeyinde bırakmayı hedefledi. Önbellek tutarlılığı yayına dayalı bir protokolle korunur. Bir okuma isteği belleğin bağlı olduğu işlemciye giderken öteki işlemcilerin önbellekleri gözetlenir ve bu gözetleme DRAM erişimiyle aynı anda yürür; böylece dizin tabanlı sistemlerdeki sıralı bekleme ortadan kalkar.:5-6, 12-22 AMD'nin tasarım hedeflerine göre iki işlemcili sistemde yüksüz ortalama bellek gecikmesi 120 ns'nin, dört işlemcili sistemde 140 ns'nin altında kalacaktı; toplam okuma bant genişliği iki işlemcide 7 GB/s, dört işlemcide 10 GB/s olacaktı. Sekizden çok işlemci için dışarıda bir HyperTransport anahtarı gerekir.:28-29
K8 mimarisine dayanan başlıca işlemciler Athlon 64, Opteron ve Sempron'dur. Athlon 64 FX üst sınıf masaüstü, Turion 64 dizüstü sürümüdür; bu ürünler genellikle yalnız bellek denetleyicisinin düzeninde, önbellek boyunda ve kullandıkları bellek türünde ayrılır.:10 Turion 64 Mart 2005'te çıktı; Sempron işlemcilerinin bir bölümü de AMD64 tabanlıdır. Çok çekirdekli işlemci desteği sonraki adımda aynı kırmıkta iki çekirdek taşıyan çift çekirdekli sürümlerle geldi.
Socket 939 ve AM2 işlemcilerinde bellek denetleyicisi iki kanallı, Socket 754 işlemcilerinde tek kanallıdır.:1-2
| Kod adı | Ürün | Çıkış yılı | Üretim süreci | Çekirdek sayısı | Çekirdek başına ikinci düzey önbellek | Bellek | Soket | Transistör (milyon) | Kırmık alanı (mm²) | Kaynak |
|---|---|---|---|---|---|---|---|---|---|---|
| SledgeHammer | Opteron | 2003 | 130 nm | 1 | 1 MB | DDR | 940 | 105,9 | 193 | :17 |
| ClawHammer | Athlon 64, Athlon 64 FX | 2003 | 130 nm | 1 | 1 MB | DDR | 754, 939 | 105,9 | 193 | :10:7 |
| Newcastle | Athlon 64 | 130 nm | 1 | 512 KB | DDR | 939 | 68,5 | 144 | ||
| Winchester | Athlon 64 | 2004 | 90 nm | 1 | 512 KB | DDR | 939 | |||
| Venice | Athlon 64 | 2005 | 90 nm | 1 | 512 KB | DDR | 939 | 76 | 84 | |
| San Diego | Athlon 64 | 2005 | 90 nm | 1 | 1 MB | DDR | 939 | 114 | 115 | |
| Toledo | Athlon 64 X2 | 2005 | 90 nm | 2 | 1 MB | DDR | 939 | 233,2 | 199 | :11 |
| Manchester | Athlon 64 X2 | 2005 | 90 nm | 2 | 512 KB | DDR | 939 | :1, 7 | ||
| Windsor | Athlon 64 X2, Athlon 64 FX | 2006 | 90 nm | 2 | 1 MB ya da 512 KB | DDR2 | AM2 | 227,4 | 230 | :13 |
| Orleans | Athlon 64 | 2006 | 90 nm | 1 | 512 KB | DDR2 | AM2 | 81,1 | 103 | :10 |
| Brisbane | Athlon 64 X2 | 2006 | 65 nm | 2 | 512 KB | DDR2 | AM2 | 153 | 126 | :11 |