Okuma süresi: 9 dk

 

İşlemci veya işlem ünitesi, harici veri kaynağı üzerinde işlem yapan elektronik devredir. Bu devreler başta bilgisayarlar olmak üzere, birçok elektronik cihazın merkezi işlem gücünü oluşturur. Bu ünitelerin sayısının artması, işlem gücünün artması, yani bilgisayarların daha hızlı işlem yapması demektir. Elbette bilgisayarın işlem hızını etkileyen başka faktörler de vardır ama ana faktör işlemcidir.

 

Mikroişlemcilerin gelişimi

Günümüzde kullanılan işlemcilerin temeli, 1971’de Intel’in hesaplama işlemleri için kullanılmak üzere 4 bitlik* 4004 isimli mikroişlemciyi üretmesiyle atıldı. Sonrasında üretilen birçok işlemciden en çok iz bırakanı ise 8086 isimli mikroişlemciydi. IBM’in kişisel bilgisayarlar için kullandığı bu işlemci, günümüzde halen kişisel bilgisayarlarda kullanılan x86 mimarisinin (birçok intel işlemcinin) ilk örneğidir. Günümüzde yaygın olarak kullanılan çok çekirdekli işlemcilere ulaşma serüveninde pek çok ara basamak olsa da bu yazıda çok çekirdekli işlemcilerin çıkış noktasına ve ondan sonraki döneme odaklanacağız.

Mikroişlemciler gün yüzüne çıktığından bu yana gelişim gösteriyor. Bu gelişim genellikle performans artışı, enerji verimliliği, fiziksel boyut gibi alanlarda yaşandı ve halen bu süreç devam ediyor. Üretici şirketlerin pazar rekabeti dışında bu gelişmelerin ardındaki itici güç her gün kullandığımız uygulamaların performans ihtiyacıdır. Bilgisayarların gelişmesi, yeni uygulama alanlarının açılmasını; yeni uygulama alanlarının açılması ise daha yüksek hızlı bilgisayar ihtiyacını beraberinde getirdi. Yani sürekli birbirini besleyen bir döngü söz konusu. Örneğin, otonom araçlar, robot sistemleri, sağlık sistemleri, simülasyon sistemleri ve bulut sistemleri+ yüksek hızlı bilgisayarlara ihtiyaç duymaktadır. Bu ihtiyaç hem icra edilen işlemlerin karmaşıklık ve yoğunluğundan hem de üretilen ve işlenmesi gereken verinin büyüklüğünden kaynaklanmaktadır.

 

Silikon teknolojisindeki gelişmeler

Silikon teknolojisi ve işlemcilerin mimari yapılarındaki gelişmeler sayesinde işlemcilerin hızı sürekli olarak arttı. Silikon teknolojisindeki gelişmeler, işlemcilerin yapı taşları olan transistörlerin küçülmesine ve daha az enerji tüketmesine imkan sağladı. (Transistörleri oluşturmak için silikon atomları kullanılmaktadır. Silikon teknolojisindeki gelişim, daha az silikon atomu kullanarak transistörleri oluşturmayı sağlamaktadır. Transistörlerin küçülmesindeki sebep budur.) Bu imkan sayesinde çiplerin boyutunu değiştirmeden, içlerine, aynı anda daha fazla işlem yapabilmek için daha yüksek sayıda transistör yerleştirildi. Ayrıca transistörlerin küçülmesi işlemcilerin çalışma frekansının (clock rate) artmasının da önünü açtı. Mimari yapıdaki gelişmeler ise işlemcilerin programları daha akıllı bir şekilde çalıştırarak daha hızlı işlem yapmasını sağladı.

Transistörleri küçültme çalışmaları günümüzde halen devam ediyor ve bugünkü en küçük transistör 5nm boyundadır (Intel, Taiwan Semicondutor ve Samsung gibi üreticilerin 2022’de 3nm teknolojisini üretmesi beklenmekte). Transistörlerin küçülmesi, işlemcilerin içerdiği transistör sayısını arttırdığı için performansı arttıran bir etken. İşlemcilerin performansını arttıran en büyük diğer etmen olan frekans artışı, 2005 civarında ivmesini kaybetti. Bunun temel nedeni, işlemcilerin yüksek sayıdaki transistörler ve yüksek çalışma frekansı sebebiyle fazla enerji (elektrik) tüketip aşırı ısınmasıydı. (İşlemcinin enerji tüketimi transistör kapasitesi ve çalışma frekansıyla doğru orantılıdır. Frekans ve transistör sayısı arttıkça, enerji tüketimi artar.) Küçüldükçe transistörler daha az enerji tüketiyordu fakat belirli bir boyuttan sonra farklı fiziksel/elektriksel özellikler enerji tüketimini etkilemeye başladı. Bu konuda daha fazla bilgi için bkz Dennard’s Scaling [4].

 

İşlemci mimarilerinin önemi

İşlemci üreticileri, fiziksel sebeplerden dolayı işlemcilerin frekanslarını daha fazla arttıramayacaklarını anlayınca performans artımı için işlemci mimarisine yöneldi. İşlemci mimarisindeki gelişmelerle bir işi çok hızlı gerçekleştirip yüksek miktarda enerji tüketen tek büyük çekirdekli işlemcilerden, aynı anda birkaç işi yeterli hızda ve daha az enerji tüketerek yapan çok çekirdekli işlemcilere geçiş başlamış oldu. Aslında tek çekirdekli işlemciler de aynı anda birkaç işlemi gerçekleştirebiliyordu. Fakat paralel işlemlerin kısıtlı olması performansı etkiliyordu. Çok çekirdekli işlemcilerdeki her bir çekirdek ise tek başına bir işlemcinin görevini yürütebilmektedir.

Şekil 1 – Mikroişlemcilerin son 42 yıldaki değişimleri

 

Çok çekirdekli işlemcilerin evrimi

Şekil 1 çok çekirdekli işlemciye geçişin yanı sıra, zamanla değişen transistör sayısı, enerji tüketimi, işlemci frekansı ve tek iş parçacıklı koşum (single-threaded) performansını göstermektedir. Tek iş parçacıklı koşum, işlemcinin aynı anda sadece tek bir işlem yapması olarak değerlendirilebilir. Şekilde görüldüğü üzere frekans artışı zamanla yavaşlayıp dururken, bunun sonucu olarak tek iş parçacıklı (single-threaded) performans artışı yavaşlamaktadır. Frekans artışının durmasından hemen sonra ise, performans artışını devam ettirebilmek için, çok çekirdekli işlemcilere geçişin başladığı görülmektedir.

Çok çekirdekli işlemcilerin bu ilk örnekleri birbirinin aynısı olan çekirdeklerden oluşmaktaydı. Bu sebeple bu işlemcilere homojen çok çekirdekli işlemciler denmektedir. Zamanla birbirinden farklı çekirdekler içeren heterojen işlemciler de üretilmeye başlandı. Bunların en basit örneği olarak, Şekil 2’de görülen, ARM tarafından üretilen big.LITTLE mimarisi verilebilir. Şekilden de anlaşıldığı üzere, bu mimari, boyut olarak birbirinden farklı, her birinden ikişer tane kullanılan, 2 çekirdek türünden oluşmaktadır (A15 ve A7). Şekildeki CPU kutuları çekirdekleri, L2 cache kutuları bellek ünitelerini, interconnect kutusu ise bu çekirdekleri birbirine bağlayan sistemi temsil etmektedir. Daha sonra üretilen Cell ve Myriad mimarileri ise heterojenlik seviyesini arttırdı. Cell mimarisinde birbirinden tamamen farklı 2 işlemci çeşidi kullanılırken Myriad’ta birbirinden farklı 2 işlemci çeşidinin yanı sıra hızlandırıcı donanım üniteleri de kullanılmaktadır. Homojen işlemcilerde bütün çekirdekler verilen bir işi aynı sürede ve aynı enerjiyi tüketerek yaparlar. Heterojen işlemcilerde ise çekirdekler farklı özellikler gösterirler ve verilen işleri farklı sürelerde ve farklı miktarda enerji tüketerek yaparlar. Mesela Şekil 2’deki big. LITTLE mimarisinde, cortex A7 daha zayıf bir çekirdektir ve verilen işlemleri A15 çekirdeğinden daha yavaş yapar. Fakat daha küçük olduğu için ve/veya daha düşük frekansta çalıştığı için daha az enerji tüketir. Böylelikle, aciliyeti olmayan görevler bu çekirdekte çalıştırılıp enerji tasarrufu yapılabilir. Diğer heterojen mimarilerde kimi çekirdekler bazı görevler için özelleştirilmiş olabilir. Bu sayede o görevler daha hızlı yerine getirilebilir.

 

Şekil 2- ARM tarafından üretilen big.LITTLE mimarisi

Günümüz işlemcilerinin gelişimine bakarak, kuantum teknolojisine geçene kadar, performans arttırmanın temel yolu olarak çok çekirdekli işlemciler ve bunların paralel bir şekilde işlem yapması görünüyor dememiz yanlış olmaz. Yakın zamanda yüzlerce çekirdekli işlemciyi kişisel bilgisayarlarda veya mobil cihazlarda görmemiz mümkün. Fakat transistörler fiziksel limitlerine ulaştıklarında bilgisayarların performansını arttırabilmek için kuantum işlemcileri gibi çığır açan yeni teknolojilere ihtiyacımız olacak.
Çok çekirdekli işlemciler günlük hayatımıza gireli uzun zaman olsa da yüzlerce veya binlerce çekirdek kullanan işlemciler henüz tam anlamıyla genel kullanıma açılamadı. Bu durumun ana sebebi bu işlemcilerin tasarımının ve programlanmasının zor olması. Fakat, süper bilgisayarlarda bu engeller aşılarak milyonlara ulaşan sayıda çekirdek kullanımı mümkün hale geldi. Bu bilgisayarlar, binlerce veya milyonlarca işlemcinin benzer rakamlardaki bellek üniteleriyle birbirine bağlanmasıyla elde edilmektedir. Genel olarak bilimsel programları çalıştırmak için kullanılmaktadırlar (ör: iklim simülasyonları, matematiksel modellerin testi, nükleer reaksiyonlar, kozmozun evrimi, şifreleme vs.). İlk 500’deki süper bilgisayar listesine bakacak olursak 2021 haziran ayı itibariyle ilk sırada Fujitsu tarafından, RIKEN Bilgisayar Bilimleri Merkezi için üretilen 7.630.848 çekirdekli, Fugaku isimli bilgisayarı görmekteyiz [5]. İkinci ve üçüncü sıradaki bilgisayarlar da milyonlarca çekirdek içermekte ama tüm bu çekirdekler aynı çip üzerinde yer almamaktadır.  Bunun için çok büyük bir çipe ihtiyaç duyulurdu ama öyle bir çipin üretilememesi adına birçok sebep bulunmaktadır. En basit sebep, o büyüklükte bir çip üretecek aletlerin olmamasıdır. Diğer bazı sebepler olarak, o büyüklükte bir çipi geliştirmenin aşırı karmaşık olacak olması, çok fazla enerji tüketip aşırı ısınıp ve yanacak olması gösterilebilir.

Bu yazıda çok geçmişe gitmedik ama işlemcilerin genel tarihini okumak isteyen okurlar bu kaynaklara göz atabilir [1-3].

*Bit, depolama veya işlem yapmada kullanılan veriyi temsil eden en küçük, temel ünitedir. Bir bitin değeri 0 veya 1’dir. 4 bitlik işlemci, verileri 4 bit halinde işleyen ve kaydeden işlemci demektir. Ör: 2’li tabanda 1 = 0001,  5 = 0101, 8 = 1000.
+Bulut sistemi; bilgisayar, telefon, tablet ve sunucu gibi tüm cihazlar arasında zaman ve mekân kısıtlaması olmadan veri paylaşımına olanak sağlayan, internet tabanlı bir veri depolama hizmetidir.

 

Yazar: Süleyman Savaş

Editörler: Tuba Bucak, Güney Akbalık, Bilge San

 

Kaynakça

[1] https://www.chip.com.tr/forum/islemcilerin-gelisimi_t215974.html (Türkçe)

[2] http://sercanbote2.blogspot.com/2010/11/islemcilerin-tarihcesi.html (Türkçe)

[3] https://en.wikipedia.org/wiki/History_of_general-purpose_CPUs (İngilizce)

[4] Robert H Dennard, Fritz H Gaensslen, V Leo Rideout, Ernest Bassous,and Andre R LeBlanc. Design of ion-implanted mosfet’s with very small physical dimensions. IEEE Journal of Solid-State Circuits, 9(5):256-268, 1974.

[5] https://www.top500.org/lists/2019/11/

Kapak görsel kaynak: https://stock.adobe.com/images/artificial-intelligence-ai-with-machine-deep-learning-and-data-mining-and-another-modern-computer-technologies-ui-by-hand-touching-cpu-icon/298508606?prev_url=detail&asset_id=298508606