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.
Genel bilgiler | |
---|---|
Tasarlayan | Intel |
Max. CPU | ilâ 3.33 GHz |
Mimari ve sınıflandırma | |
Teknoloji nodu | 45nm ilâ 32nm |
Komut seti | x86 |
Fiziksel özellikler | |
Çekirdekler |
|
Ürünler, modeller, varyantlar | |
Marka ad(lar)ı | |
Tarihçe | |
Öncül | |
Ardıl |
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, 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
- Intel Core i7 - Nehalem Architecture Dive. http://www.bit-tech.net/hardware/cpus/2008/11/03/intel-core-i7-nehalem-architecture-dive/7 13 Nisan 2013 tarihinde Wayback Machine sitesinde .
- Cache Organization and Memory Management of the Intel Nehalem Computer Architecture, Trent Rolf.
- First Look at Nehalem Microarchitecture.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Nehalem Intel firmasinin Eylul 2008 de piyasaya surulen Core i7 islemcisiyle birlikte kullanilmaya baslanmistir 2011 de Sandy Bridge mikromimarisi sunulana kadar Intel in en gelismis mikromimarisi olarak piyasada kalmistir Selefi Core mikromimarisine gore paralelligi ve saat frekansini arttirmis Core mikromimarisinde Intel in kullanmadigi fakat daha once NetBurst de kullanilan Hyper Threading teknolojisi Nehalem ile tekrar kullanilmaya baslamistir Nehalem le birlikte Core mikromimarisinde terkedilmis olan ucuncu seivye bir onbellek de yonganin icerisine eklenmistir Intel Nehalem ile ilk defa bellek denetim birimini islemci yongasinin icine koymus ve front side bus dan ayirmistir NehalemGenel bilgilerTasarlayanIntelMax CPUila 3 33 GHzMimari ve siniflandirmaTeknoloji nodu45nm ila 32nmKomut setix86Fiziksel ozelliklerCekirdekler2 8Urunler modeller varyantlarMarka ad lar iIntel CoreTarihceOnculArdilBellek OrganizasyonuNehalem Bellek Organizasyonu Nehalem in halefi olan Core mikromimarisinde NetBurst un bazi surumlerinde bulunan 3 seviye onbellek cikarilmistir ve bunun yerine genis bir ikinci seviye onbellek 2MB yerlestirilmistir Nehalem ise ucuncu seviye onbellegi yeniden kullanmistir ve boyutu da ilk uretilen Core i7 mikroislemcilerde 8 MB kadardir Nehalem birinci seviye onbellekte Core mikromimarisindeki yapiyi korumustur 32 KB buyruk ve 32 KB veri onbellegine sahiptir Ikinci seviye onbellekte kucultmeye giderek daha hizli erisim saglamaya calismistir Nehalem mikromimarisinde ikinci seviye onbellek 256 KB dir Birinci seviye buyruk onbellegi 4 yollu kumeli iliskili veri onbellegi 8 yollu kumeli iliskilidir Ikinci seviye onbellek 8 yollu kumeli iliskili ucuncu seviye onbellek de 16 yollu kumeli iliskilidir Ana bellek teknolojisinde de Nehalem DDR3 SDRAM destegini getirmistir DDR3 ana bellek denetleyici birimi 3 kanallidir Nehalem mikromimarisinde butun onbellekler kapsamlidir ing inclusive Yani 1 seviyede herhangi bir cekirdegin onbelleginde bulunan veri ayni cekirdegin 2 seviye onbelleginde de tutulur Ucuncu seviye paylasimli onbellekte ise butun cekirdeklerin birinci ve ikinci seviye onbelleklerinde bulundurdugu veriler tutulur Onbelleklerin kapsamli olmasi yuzunden ucuncu seviye onbellekte 1 26 MB lik bir alan tekrar edilen verilerden olusmaktadir Normalde olumsuz gibi gorunen bu durum cekirdekler arasindaki haberlesmede snoop filtresi ozelligini kazandirmaktadir Yani bir cekirdekte istenilen veri bir ve ikinci seviye onbelleklerde bulunamadigi zaman ucuncu seviye onbellege bakilmasi yeterli olacaktir cunku diger cekirdeklerin onbelleklerindeki veriler ucuncu seviye onbelleklerde de bulunmaktadir Nehalem mikromimarisinde birinci seviye onbellege erisim 3 saat vurusu ikinci seviye onbellege erisim 11 saat vurusu ve ucuncu seviye onbellege erisim 52 saat vurusu kadardir Boru Hatti AsamalariNehalem Mikromimari Detaylari Nehalem Core mikromimarisinde 12 14 olan boru hatti asama sayisini 20 24 e cikarmistir Genel olarak boru hatti asamalarini 4 ana bolge olarak tanimlamak gerekirse bunlar Getir Coz Yurut ve Yaz asamalaridir Buyruklarin Getirilmesi Nehalem mikromimarisinde buyruklar ilk once 32 KB lik buyruk onbelleginde aranir Burada bulunamadiklari takdirde sirasiyla ikinci seviye onbellek ve ucuncu seviye onbellekte aranir Burada da bulunamadigi takdirde ana bellege erisim gerekmektedir Nehalemde sanal bellek kullanildigi icin sanal adreslerin gercek adreslere donusturme islemine ihtiyac duyulmaktadir Bunun icin sanal adreslere karsilik gelen gercek fiziksel adreslerin tutuldugu bir sayfa tablosu vardir ve sayfa tablosu ana bellekte tutulmaktadir Her bir sayfa donusum islemi icin ana bellege gitmek zaman alicidir bu yuzden sayfa tablosunun bir kismi Etkin sayfalar onbelleginde ESO tutulur Nehalemde ESO daha onceki tek seviye uygulamalarin aksine iki seviyeli olarak gerceklestirilmistir Birinci seviye ESO buyruklar icin 7 128 adet buyruk tasiyabilecek sekilde veriler icin 32 64 adet veri tasiyabilecek sekilde tasarlanmistir Buyruklarin Cozulmesi IA 64 Karmasik komut setli bilgisayar ing CISC complex instruction set computing mimarisinde tasarlandigi icin buyruklar duzenli yalin degildir ve esit uzunlukta degildirler Bu yuzden buyruklarin cozulup fonksiyonun ve islenenlerin belirlenmesi birkac saat vurusu surmektedir Compile edilmis halde bulunan IA 64 buyruklari buyruk onbelleginden cekilirler ve Intel bunlara Macro Op ismini vermektedir Macro Op larin oncozme asamasinda uzunluklari belirlenir bir Makro Op 1 bayt da olabilir 17 bayt da Macro Op lar daha sonra buyruk kuyruguna ing Instruction Queue bellek hizalamasi ing Memory Alignment islemi uygulanarak yerlestirilirler Nehalem mikromimarisinde yurutme birimi Macro Op lari yurutecek sekilde tasarlanmamistir Bu yuzden Makro Op larin cozme asamasindan gecerek Micro Op lara donusturulmesi gerekir Nehalemde 3 adet basit kodcozucu ve 1 adet de karmasik kodcozucu bulunmaktadir ve bunlar paralel calisabilecek sekilde tasarlanmislardir Karmasik kodcozucuye 1 adet Makro Op tan 4 adet Micro Op cikarabilecek buyruklar girerler Daha basit buyruklar icin basit kodcozucu birimleri kullanilir Kodcozuculerden cikan Micro Op lar daha sonra cozulmus buyruk kuyruguna ing Micro Op Instruction Queue yerlestirilirler Cozulmus buyruk kuyrugunda bulunan Micro Op larin islenenleri yazmac adlandirma islemine sokulur ve aldiklari yeni yazmac isimleriyle yeniden siralama tamponundan ing re order buffer yer alirlar Ayni anda Micro Op lar yayin kuyrugundan ing issue queue da sira alirlar ve yurutulmek icin beklerler Buyruklarin Yurutulmesi Yayin kuyrugunda buyruklar onceki buyruklara bagimliliklari olduklari surece beklemede kalirlar Her bir saat vurusu sonrasinda yurutme biriminde sonuclari hazir olan yazmaclar yayin kuyrugunda bekleyen buyruklara adreslerini gonderirler boylece bekleyen islenenlerin hazir olup olmadigi kontrol edilir Eger bir buyrugun butun islenenleri hazir konumuna geldiyse buyruk yurutulecegi yurutme birimine gonderilir Nehalem de yayin kuyrugu alti portludur yani alti farkli yurutme birimi bulunmaktadir Bunlardan uc tanesi bellek islemleriyle ilgilidir ve bellek adresinin hesaplanmasindan sonra bu birimlere gelen yukle ve sakla buyruklari bellek duzenleme tamponuna ing memory order buffer aktarilir Bu tamponda sakla buyruklarindan yukle buyruklarina yonlendirme olup olmadigi kontrol edilir ve eger boyle bir durum varsa yukle buyrugu onbellege gitmeye gerek kalmadan boru hatti icerisinde istedigi veriyi elde edecektir Diger uc yurutme birimi ise aritmetik mantik birimi ve kayan nokta islemlerinin yapildigi birimlerdir Nehalem ile birlikte SSE 4 2 buyruk kumesi mimariye eklenmistir ve bircok yeni buyruk eklenmistir Mesela XML dosyalarini ayristirma parsing islemini hizlandirici ve 16 baytlik iki karakter dizisini tek seferde karsilastirma gibi buyruklar mimari kumesine eklenmistir Sonuclarin Yazilmasi Yurutme biriminde islenen buyruklarin sonuclari iki farkli yere yazilabilir Veri onbellegi ya da sonuc yazmaci Veri onbellegine yazilacak olan veri ilk olarak birinci seviye onbellekte aranir ve eger adres bulunursa buraya yazilir Adres bulunamazsa diger onbellekler ve ana bellekte aranip bulundugu takdirde yazilir Yazmac sonuclari ise hem bagimli buyruklarin cozulmesi icin yayin kuyruguna yollanir hem de yeniden duzenleme tamponuna yazilir Buyruk emekli olana kadar yeniden duzenleme tamponunda verisinin okunmasi icin bekletilir Buyruk emekli olduktan sonra yazmac bosa cikar ve baska bir buyrugun sonuc yazmaci icin kullanilabilir KaynakcaIntel Core i7 Nehalem Architecture Dive http www bit tech net hardware cpus 2008 11 03 intel core i7 nehalem architecture dive 7 13 Nisan 2013 tarihinde Wayback Machine sitesinde Cache Organization and Memory Management of the Intel Nehalem Computer Architecture Trent Rolf First Look at Nehalem Microarchitecture