İçeriğe atla

Nehalem (mikromimari)

Nehalem
Genel bilgiler
TasarlayanIntel
Max. CPU saat hızıilâ 3.33 GHz
Mimari ve sınıflandırma
Teknoloji nodu45nm ilâ 32nm
Komut setix86
Fiziksel özellikler
Çekirdekler
  • 2-8
Ürünler, modeller, varyantlar
Marka ad(lar)ı
Tarihçe
ÖncülIntel Core (microarchitecture)
ArdılSandy Bridge

Nehalem, İntel firmasının Eylül 2008'de piyasaya sürülen Core i7 işlemcisiyle birlikte kullanılmaya başlanmıştır. 2011'de Sandy Bridge mikromimarisi sunulana kadar İntel'in en gelişmiş mikromimarisi olarak piyasada kalmıştır. Selefi Core mikromimarisine göre paralelliği ve saat frekansını arttırmış, Core mikromimarisinde İntel'in kullanmadığı fakat daha önce NetBurst'de kullanılan Hyper Threading teknolojisi Nehalem ile tekrar kullanılmaya başlamıştır. Nehalem'le birlikte Core mikromimarisinde terkedilmiş olan üçüncü seivye bir önbellek de yonganın içerisine eklenmiştir. İntel, Nehalem ile ilk defa bellek denetim birimini işlemci yongasının içine koymuş ve front-side bus dan ayırmıştır.

Bellek Organizasyonu

Nehalem Bellek Organizasyonu

Nehalem'in halefi olan Core mikromimarisinde NetBurst'ün bazı sürümlerinde bulunan 3. seviye önbellek çıkarılmıştır ve bunun yerine geniş bir ikinci seviye önbellek (2MB) yerleştirilmiştir. Nehalem ise üçüncü seviye önbelleği yeniden kullanmıştır ve boyutu da ilk üretilen Core i7 mikroişlemcilerde 8 MB kadardır. Nehalem, birinci seviye önbellekte Core mikromimarisindeki yapıyı korumuştur; 32 KB buyruk ve 32 KB veri önbelleğine sahiptir. İkinci seviye önbellekte küçültmeye giderek daha hızlı erişim sağlamaya çalışmıştır. Nehalem mikromimarisinde ikinci seviye önbellek 256 KB'dir. Birinci seviye buyruk önbelleği 4-yollu kümeli ilişkili, veri önbelleği 8-yollu kümeli ilişkilidir. İkinci seviye önbellek 8-yollu kümeli ilişkili, üçüncü seviye önbellek de 16-yollu kümeli ilişkilidir. Ana bellek teknolojisinde de Nehalem DDR3 SDRAM desteğini getirmiştir. DDR3 ana bellek denetleyici birimi 3 kanallıdır. Nehalem mikromimarisinde bütün önbellekler kapsamlıdır (ing. inclusive). Yani, 1. seviyede herhangi bir çekirdeğin önbelleğinde bulunan veri aynı çekirdeğin 2. seviye önbelleğinde de tutulur. Üçüncü seviye paylaşımlı önbellekte ise bütün çekirdeklerin birinci ve ikinci seviye önbelleklerinde bulundurduğu veriler tutulur. Önbelleklerin kapsamlı olması yüzünden üçüncü seviye önbellekte 1.26 MB'lık bir alan tekrar edilen verilerden oluşmaktadır. Normalde olumsuz gibi görünen bu durum, çekirdekler arasındaki haberleşmede snoop filtresi özelliğini kazandırmaktadır. Yani bir çekirdekte istenilen veri bir ve ikinci seviye önbelleklerde bulunamadığı zaman, üçüncü seviye önbelleğe bakılması yeterli olacaktır; çünkü diğer çekirdeklerin önbelleklerindeki veriler üçüncü seviye önbelleklerde de bulunmaktadır. Nehalem mikromimarisinde birinci seviye önbelleğe erişim 3 saat vuruşu, ikinci seviye önbelleğe erişim 11 saat vuruşu ve üçüncü seviye önbelleğe erişim 52 saat vuruşu kadardır.

Boru Hattı Aşamaları

Nehalem Mikromimari Detayları

Nehalem, Core mikromimarisinde 12-14 olan boru hattı aşama sayısını 20-24'e çıkarmıştır. Genel olarak boru hattı aşamalarını 4 ana bölge olarak tanımlamak gerekirse bunlar: Getir, Çöz, Yürüt ve Yaz aşamalarıdır.

Buyrukların Getirilmesi

Nehalem mikromimarisinde, buyruklar ilk önce 32 KB'lık buyruk önbelleğinde aranır. Burada bulunamadıkları takdirde sırasıyla ikinci seviye önbellek ve üçüncü seviye önbellekte aranır. Burada da bulunamadığı takdirde ana belleğe erişim gerekmektedir. Nehalemde, sanal bellek kullanıldığı için, sanal adreslerin gerçek adreslere dönüştürme işlemine ihtiyaç duyulmaktadır. Bunun için, sanal adreslere karşılık gelen gerçek (fiziksel) adreslerin tutulduğu bir sayfa tablosu vardır ve sayfa tablosu ana bellekte tutulmaktadır. Her bir sayfa dönüşüm işlemi için ana belleğe gitmek zaman alıcıdır, bu yüzden sayfa tablosunun bir kısmı Etkin sayfalar önbelleğinde (ESÖ) tutulur. Nehalemde ESÖ daha önceki tek seviye uygulamaların aksine iki seviyeli olarak gerçekleştirilmiştir. Birinci seviye ESÖ buyruklar için 7-128 adet buyruk taşıyabilecek şekilde, veriler için 32-64 adet veri taşıyabilecek şekilde tasarlanmıştır.

Buyrukların Çözülmesi

IA-64, Karmaşık komut setli bilgisayar(ing: CISC(complex instruction set computing)) mimarisinde tasarlandığı için, buyruklar düzenli, yalın değildir ve eşit uzunlukta değildirler. Bu yüzden buyrukların çözülüp fonksiyonun ve işlenenlerin belirlenmesi birkaç saat vuruşu sürmektedir. Compile edilmiş halde bulunan IA-64 buyrukları buyruk önbelleğinden çekilirler ve İntel bunlara Macro-Op ismini vermektedir. Macro-Op'ların önçözme aşamasında uzunlukları belirlenir (bir Makro-Op 1 bayt da olabilir 17 bayt da). Macro_Op'lar daha sonra buyruk kuyruğuna (ing: Instruction Queue), bellek hizalaması (ing: Memory Alignment) işlemi uygulanarak yerleştirilirler. Nehalem mikromimarisinde yürütme birimi Macro-Op'ları yürütecek şekilde tasarlanmamıştır. Bu yüzden Makro-Op'ların çözme aşamasından geçerek Micro-Op'lara dönüştürülmesi gerekir. Nehalemde, 3 adet basit kodçözücü ve 1 adet de karmaşık kodçözücü bulunmaktadır ve bunlar paralel çalışabilecek şekilde tasarlanmışlardır. Karmaşık kodçözücüye 1 adet Makro-Op'tan 4 adet Micro-Op çıkarabilecek buyruklar girerler. Daha basit buyruklar için basit kodçözücü birimleri kullanılır. Kodçözücülerden çıkan Micro-Op'lar daha sonra çözülmüş buyruk kuyruğuna (ing: Micro-Op Instruction Queue) yerleştirilirler. Çözülmüş buyruk kuyruğunda bulunan Micro-Op'ların işlenenleri yazmaç adlandırma işlemine sokulur ve aldıkları yeni yazmaç isimleriyle yeniden sıralama tamponundan (ing: re-order buffer) yer alırlar. Aynı anda Micro-Op'lar yayın kuyruğundan (ing: issue queue) da sıra alırlar ve yürütülmek için beklerler.

Buyrukların Yürütülmesi

Yayın kuyruğunda buyruklar, önceki buyruklara bağımlılıkları oldukları sürece beklemede kalırlar. Her bir saat vuruşu sonrasında yürütme biriminde sonuçları hazır olan yazmaçlar yayın kuyruğunda bekleyen buyruklara adreslerini gönderirler böylece bekleyen işlenenlerin hazır olup olmadığı kontrol edilir. Eğer bir buyruğun bütün işlenenleri hazır konumuna geldiyse, buyruk yürütüleceği yürütme birimine gönderilir. Nehalem'de yayın kuyruğu altı portludur, yani altı farklı yürütme birimi bulunmaktadır. Bunlardan üç tanesi bellek işlemleriyle ilgilidir ve bellek adresinin hesaplanmasından sonra bu birimlere gelen yükle ve sakla buyrukları bellek düzenleme tamponuna (ing: memory order buffer) aktarılır. Bu tamponda sakla buyruklarından yükle buyruklarına yönlendirme olup olmadığı kontrol edilir ve eğer böyle bir durum varsa yükle buyruğu önbelleğe gitmeye gerek kalmadan boru hattı içerisinde istediği veriyi elde edecektir. Diğer üç yürütme birimi ise aritmetik mantık birimi ve kayan nokta işlemlerinin yapıldığı birimlerdir. Nehalem ile birlikte SSE 4.2 buyruk kümesi mimariye eklenmiştir ve birçok yeni buyruk eklenmiştir. Mesela XML dosyalarını ayrıştırma (parsing) işlemini hızlandırıcı ve 16 baytlık iki karakter dizisini tek seferde karşılaştırma gibi buyruklar mimari kümesine eklenmiştir.

Sonuçların Yazılması

Yürütme biriminde işlenen buyrukların sonuçları iki farklı yere yazılabilir: Veri önbelleği ya da sonuç yazmacı. Veri önbelleğine yazılacak olan veri, ilk olarak birinci seviye önbellekte aranır ve eğer adres bulunursa buraya yazılır. Adres bulunamazsa diğer önbellekler ve ana bellekte aranıp bulunduğu takdirde yazılır. Yazmaç sonuçları ise hem bağımlı buyrukların çözülmesi için yayın kuyruğuna yollanır, hem de yeniden düzenleme tamponuna yazılır. Buyruk emekli olana kadar yeniden düzenleme tamponunda verisinin okunması için bekletilir. Buyruk emekli olduktan sonra yazmaç boşa çıkar ve başka bir buyruğun sonuç yazmacı için kullanılabilir.

Kaynakça

İlgili Araştırma Makaleleri

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir.. İşlemcinin çalıştırdığı programı, lar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bellek üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

İşlemci önbelleği, CPU'nun hafızadaki verilere ulaşma süresini azaltan bir donanımdır. Ana belleğe(RAM) kıyasla küçük, hızlı ve işlemci çekirdeğine yakındır. Sık kullanılan veriler ya da en güncel veriler işlemci önbelleğinde saklanır. Günümüzde pek çok CPU, birden çok seviyede önbellek içerir, bu önbellekler verilerin yanı sıra komutları da bünyesinde tutar.

Boru hattı yöntemi bilgisayar mimarisi ve diğer sayısal ürünlerin tasarımında başarımı artırmak için uygulanan bir yöntemdir. Komutları, boru hattı yöntemi ile işleyip daha kısa süre içinde bitmesini sağlar. Asıl amacı saat sıklığını artırarak başarımı artırmaktır. Farklı kaynakları aynı anda, farklı işler tarafından kullanarak çalışır.

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

<span class="mw-page-title-main">Etkin sayfalar ön belleği</span> Bilgisayar bileşeni

Etkin sayfalar ön belleği (ESÖ) (Translation Lookaside Buffer ) sanal bellek kullanan işlemcilerde adres dönüştürme işleminin hızlandırılmasını sağlayan bir tekniktir.

Sırasız yürütüm ya da Düzensiz yürütme, bilgisayar mühendisliğinde, günümüz yüksek performanslı işlemcilerinde kullanılan, yüksek gecikmeler sebebiyle harcanan işlemci döngülerini kullanıma sunan bir talimat yürütme yaklaşımıdır.

Çok çekirdekli işlemci, ikiden fazla işlemciden (çekirdek) oluşan bir hesaplama birimi. Bilgisayarlarda temel komut kümesi işlemlerini gerçekleştirir.

<span class="mw-page-title-main">Yazmaç öbeği</span>

Yazmaç öbeği, bir merkezi işlem birimindeki işlemci yazmaçlarının bir dizisini ifade etmektedir. Modern tümleşik devre tabanlı yazmaç öbekleri genellikle çok portlu hızlı durağan rastgele erişimli bellekleri (SRAM) kullanılarak sistemlere tümleştirilmektedirler. Bu tür rastgele erişimli bellekleri kullandıkları okuma ve yazma girişlerine göre ayrılır, fakat normal çok portlu durağan rastgele erişimli bellekler okuma ve yazma işlemlerini aynı girişleri kullanarak gerçekleştirebilmektedirler.

<span class="mw-page-title-main">Çoklu kullanım</span>

Çoklu kullanım özelliğine sahip bilgisayarlar birden fazla iş parçacığını donanım desteği sayesinde çalıştırabilir. Çoklu işlem yapabilen sistemlerden gelişen bu yöntem tek bir çekirdeğin kaynaklarını paylaşmak zorundadır. Bu kaynaklar: aritmetik mantık birimi, yazmaçlar (registers), işlemci ön belleği ve adres dönüştürme ön belleğidir. Çoklu işlem yapabilen sistemlerde, işlem birimlerinin tamamı ayrı çekirdeklerde olmasına rağmen, çoklu kullanım tek bir çekirdeğin kullanılabilirliğini iş-parçacığı seviyesinde ve buyruk düzeyinde daha verimli hale getirir. Bu iki teknik birbirini tamamlayan tekniklerdir.

<span class="mw-page-title-main">Alpha 21064</span>

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.

<span class="mw-page-title-main">Alpha 21164</span>

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 Digital'in en çok satışı yapılan mikroişlemcisi Alpha 21064A'yı takiben 1995 yılı Ocak ayında tanıtılmıştır. Onu 1998 yılında 21264 izleyecektir.

<span class="mw-page-title-main">Alpha 21264</span>

Alpha 21264 1996 yılı Ekim ayında Digital Equipment Corporation tarafından indirgenmiş komut takımı bilgisayarı(RISC) mikroişlemcisi olarak tanıtılmıştır. 21264 Alfa işlemcisi Komut kümesi ile tanımlanmıştır.

Önden yürütüm işlemcinin ön bellekte bulamama durumunda boşa harcayacağı çevrimlerin beklemekte olan buyrukların önceden yürütülmesi ile faydalı şekilde kullanılması esasına dayalı bir bilgisayar mimarisi tekniğidir. Bu şekilde önceden yürütülecek olan buyruklar ile gelecekte oluşacak olan önbellekte bulamama durumları tespit edilerek, işlemcinin boşta olan yürütüm kaynakları kullanılarak faydalı buyruk ve veri ön yüklemeleri yapılması sağlanır.

NetBurst, İntel'in 2000 yılında piyasaya sürdüğü Pentium 4 işlemci markasının mikromimarisine verilen isimdir. 2006 Temmuz'unda Core mikromimarisinin çıkışına kadar İntel işlemcilerin mikromimarisi olmuştur. Selefi P6 mikromimarisine göre en önemli özelliği derin boru hattı yapılanmasıyla avantaj sağladığı yüksek saat sıklığıdır. Temel olarak dört ana parçadan oluşmaktadır: Sıralı(ing. In-order) Ön-Uç(ing. Front-end), Sırasız(ing. out-of-order) yürütme birimi, Tam sayı ve kayan nokta yürütme birimleri ve bellek altdizgesi.

Clarksfield, ilk olarak mobil Intel Core i7 olarak satılmış bir Intel işlemcisinin kod adıdır. Bu işlemci, masaüstü işlemcisi Lynnfield ile yakından ilişkilidir; her iki işlemci de 45 nm Nehalem mikromimarisinden temel alan dört çekirdekli işlemcilerdir ve, entregre PCI Express ve DMI bağlantılarına sahiptir.

Rocket Lake, Intel'in 11. nesil Core mikroişlemcileri için kod adıdır. 30 Mart 2021'de satışa çıkarılan Rocket Lake, Sunny Cove'un Intel 14 nm üretim işlemine uyarlanmış bir versiyonu olan yeni Cypress Cove mikromimarisinden temel alır. Rocket Lake çekirdekleri, Skylake tabanlı Comet Lake çekirdeklerine kıyasla önemli ölçüde daha fazla transistör içerir.

Tremont; Intel tarafından yapılan yongada sistemlerde kullanılan düşük güç tüketen Atom, Celeron ve Pentium Silver markalı işlemcileri için bir mikromimaridir ve Goldmont Plus'un halefidir. Intel, 10 nm üretim işlemiyle üretilen Tremont çekirdeği bulunan Elkhard Lake platformunu 23 Eylül 2020'de resmen duyurmuştur. Intel, 10 nm üretim işlemiyle üretilen Tremont çekirdeği bulunan başka bir platformu Jasper Lake'i ise 11 Ocak 2021'de resmen duyurmuştur.

Clarkdale, Intel'in birinci nesil Core i5, Core i3 ve çift çekirdekli Pentium masaüstü işlemcilerinin kod adıdır. Bu işlemci ailesi, Arrandale mobil işlemci ailesiyle yakından ilişkilidir; her iki işlemci ailesinde de 32 nm üretim işlemiyle üretilen Westwere mikromimarisinden temel alan çift çekirdekli işlemci bloğu ve; dahili entegre grafik işlemci, PCI Express ve DMI bağlantısı bulunur.

Bloomfield, Intel'in Core i7-9xx üst seviye masaüstü işlemcileri ve Xeon 35xx adıyla neredeyse aynı özelliklerle satılan tek işlemcili server işlemcileri için kod adıdır ve önceki Yorkfield işlemcilerinin yerini almıştır. Bloomfield, aynı şekilde 0106Ax CPUID değerine sahip olan ve aynı soketi kullanan çift işlemcili Gainestown ile yakından ilişkilidir. Bloomfield, Intel Core i7 markasına sahip olan ve aynı şekilde 45 nm Nehalem mikromimarisinden temel alan sonraki bazı Lynnfield ve Clarksfield işlemcilerinden farklı bir soket kullanmaktadır.

Gracemont, Intel tarafından üretilen yongada sistemlerde kullanılan düşük güç tüketimli işlemciler için bir mikromimaridir ve Tremont'un halefidir. Gracemont, selefi gibi hibrit tasarımlardaki düşük güç tüketimli çekirdekler olarak kullanılmaktadır; buna Alder Lake ve Raptor Lake örnek gösterilebilir.