Etiket sadeleştirme: Uyandırma mantık devresinde karmaşıklığı azaltarak güç kazanımı
Tag simplification: Achieving power efficiency through reducing the complexity of the wake up logic
Yazar: VEHBİ EŞREF BAYRAKTAR
Danışman: YRD. DOÇ. DR. OĞUZ ERGİN
TOBB Ekonomi ve Teknoloji Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar ve Bilişim Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2011
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Program sırasını dağıtan işlemcinin, program sırasını yeniden düzeltmeye yarayan yeniden sıralama belleği dışında, en önemli yapısı yayın kuyruğudur. İşlemci, buyrukları bellekten getirip çözdükten ve diğer bazı dönüşüm işlemlerini yaptıktan sonra çözülmüş buyrukları yayın kuyruğuna atar. Bu kuyrukta buyruklar okuyacakları kaynak verilerinin hazır olmasını bekler. Her iki kaynağı da hazır olan buyruklar yürütülmek üzere işlem birimlerine atanır, işlemlerin tamamlanmasının ardından sonuçlar yazmaç birimine yazılır. Her sonuç üreten buyruk, ürettiği sonucun yazmaç numarasını kendisinden sonra gelen ve bu değere bağımlı olan buyruklara bildirmek için yayın kuyruğuna gönderir. Yayın kuyruğundaki tüm buyruklar, bekledikleri kaynak verilerinin yazmaç numaralarını yayınlanan bu numaralarla bir karşılaştırıcı devre kullanarak karşılaştırır ve numaraların aynı olması durumunda kaynağın hazır olduğunu belirten bir biti birler. Her bir saat vuruşunda çok sayıda karşılaştırma, yazma ve okuma işleminin yapıldığı yayın kuyruğu güncel mikroişlemci çekirdeklerindeki en çok güç tüketen bileşenlerden biridir. Sayısal devrelerde iki tür güç tüketimi vardır: devingen (dinamik) güç tüketimi ve durağan (statik) güç tüketimi. Devingen güç tüketimi işlemlerin yapılması sırasında transistörlerin açılıp kapanması, ara düğümlerdeki sığaların yükle dolup boşalması nedeniyle oluşur. Durağan güç tüketimi ise, işlemcide hiçbir işlem yapılmasa da, transistörlerin, kaynak gerilimi ve toprak arasında, akım sızdırması nedeniyle oluşur. Gittikçe küçülen transistör boyutları sızdırma akımından kaynaklanan durağan güç tüketiminin toplam güç tüketimi içindeki oranını artırmış, yüksek sıcaklıklarda bu güç tüketiminin oranı neredeyse %50 düzeyine gelmiştir.Çok yollu işlemciler dallanma tahmini gibi teknikler kullandığında işlemci hatalı bir tahmin sonucunda olmaması gereken bir duruma düşer. Yanlışlıkla işlenilmeye başlanan buyrukların yazmaçlarının yeniden adlandırmaları bir şekilde geri alınmalı ve doğru duruma dönülmelidir.Bu tezde işlemcinin en fazla güç tüketen yapılarından birisi olan yayın kuyruğunun devingen ve durağan güç tüketiminin azaltılması için yöntemler önerilmektedir. Önerilen yöntemler yayın kuyruğunun hem adres karşılaştıran karşılaştırma devrelerinin karmaşıklığını işlemci boru hattının daha önceki aşamalarına aktararak devingen güç tüketimini azaltmaktadır. Devingen güç tüketiminin artırılması için yayın kuyruğunda saklanan yazmaç numaraları gruplanacak ve yazmaç kuyruğu birden fazla sayıda parçaya bölünerek her bir parçada yalnızca belirli bir genişlikte yazmaç numaralarının karşılaştırılması sağlanacaktır. Bu şekilde yayın kuyruğunda önemli sayıda transistör ve bit kaldırılmakta, güç tüketimiyle birlikte gecikme de azaltılmaktadır. Burada kaldırılan karmaşıklık, güç tüketimi ve gecikme işlemcinin daha rahat işlem yapabileceği ön tarafına aktarılmaktadır.

Abstract:
The most important structure of an out of order processor, besides the reorder buffer which reorganizes the program flow, is the issue queue. The processor places the instructions in the issue queue after fetching them from memory, decoding them and applying other transformations. In this queue, instructions wait for their source data to be ready. Instructions which have both sources ready are assigned to execution units, and their results are written to the register file after their execution completes. Each result producing instruction broadcasts the register number of its result to the issue queue to inform following instructions that depend on this value. Every instruction in the issue queue compares their unavailable source operands with these broadcasted register numbers using a comparator and sets a ready bit for the source if the comparator matches. The issue queue, which handles many comparison, write and read operations every clock cycle, is one of the most power consuming components in a contemporary microprocessor core. Digital circuits have two types of power consumption: dynamic power consumption and static power consumption. Dynamic power consumption occurs due to transistors turning on and off and capacitors in the intermediate nodes being charged and discharged. Static power consumption occurs due to current leakage between the input voltage and ground of transistors, even when no operation occurs in the processor. Gradually shrinking transistor dimensions have increased the static power consumption due to current leakage, increasing the ratio of static power consumption to almost 50% at high temperatures.This thesis proposes techniques to reduce the dynamic and static power consumption of the issue queue, one of the most power consuming components in the processor. The proposed methods move the complexity of the adress comparison circuits of the issue queue to the earlier stages of the pipeline to reduce dynamic power consumption. Register numbers stored in the issue queue will be grouped and the register queue will be divided into more than one piece to compare only a certain width of register numbers within that piece to decrease dynamic power consumption. Using this method, a significant number of transistors and bits can be removed from the issue queue, decreasing both power consumption and latency. The complexity, power consumption and latency is moved to the front of the processor where they could be done faster.