BM-311 Bilgisayar Mimarisi



Benzer belgeler
BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

İşlemci Tasarımı ve Aşamaları

Bilgisayar Mimarisi ve Organizasyonu Giriş

Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi

Mikroçita. Mikroçita Rapor 2:

BM-311 Bilgisayar Mimarisi

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

BİLGİSAYAR MİMARİLERİ

Lecture 7. Assembler language nedir? Language in 3 seviyesi. Language 3 seviyesi. Nicin onu ogreniriz?

GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA YETERLİK SINAVI UYGULAMA ESASLARI

Mimari. risi. Yazar: İşlemci Mimar. bulunmasını istediğimiz. mimariyi. Şekil 1

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

BİLGİSAYAR MİMARİSİ. Komut Seti Mimarisi. Özer Çelik Matematik-Bilgisayar Bölümü

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

BM-311 Bilgisayar Mimarisi

BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ

Bölüm Bazı Temel Konseptler

Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.

MİKROİŞLEMCİLER 1 Ders 1

Mikrobilgisayar Sistemleri ve Assembler

MİKROİŞLEMCİ MİMARİLERİ

İşletim Sistemlerine Giriş

Görev Unvanı Alan Üniversite Yıl Prof. Dr. Elek.-Eln Müh. Çukurova Üniversitesi Eylül 2014

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR

2 İş Hattı (Pipeline)

BM-311 Bilgisayar Mimarisi

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler

2 İş Hattı (Pipeline)

Bilgisayar Mimarisi. Elektroniğe Giriş 1.1. Bilgisayar Mimarisi

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Embedded(Gömülü)Sistem Nedir?

Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Bilgisayar Mimarisi. Elektroniğe Giriş 1.1. Bilgisayar Mimarisi

CISC Complex Instruction Set Computers

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri

İşletim Sistemleri (Operating Systems)

Komutların Yürütülmesi

MİKROİŞLEMCİLER. Mikroişlemcilerde Kullanılan Yeni Teknolojiler ve Mikroişlemcilerin Rakipleri

Yrd.Doç.Dr. Celal Murat KANDEMİR

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME

Cache-Hızlı Hafıza Birimi. Bilgisayar Sistemi Bilgisayarların Anakart Organizasyonu

Ozet. Review pointers (in C) Memory Addressing

Ders - 1. BİL 221 Bilgisayar Yapısı GİRİŞ. Ders Hakkında. Ders İzlencesi

Pre-requisite : EE240

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

1. İŞLEMCİLER 1.2. İşlemcinin Görevi 1.3. İşlemcinin Yapısı

Bilgisayar Mimarisi Nedir?

Giris {\} /\ Suhap SAHIN

Mikrobilgisayar Mimarisi ve Programlama

Şekil -1 PowerPC 620 Mikroişlemci Diyagramı

BİLGİSAYAR MİMARİSİ. Mimariye Giriş. Özer Çelik Matematik-Bilgisayar Bölümü

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

Spatial locality nin getirdigi avantaji kullanmak

Gömülü Sistemler. (Embedded Systems)

ncü Bilgi İşleyen Makine Olarak Beyin Beyin 2005 Albert Long Hall, Boğazi

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

Şekil. 64 Kelimelik Yığıtın Blok Şeması

BLG2109 BİLGİSAYAR DONANIMI DERS 3. Öğr. Grv. Aybike ŞİMŞEK

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Çok Çekirdekli İşlemciler ve Paralel Yazılım Geliştirme Olanakları Hakkında Bir İnceleme

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

2. İş Hattı (Pipeline)

Bilgisayar Donanımı. Computer Organization Ders 1 - Giriş Kadir Atilla TOKER

İŞLETİM SİSTEMLERİ DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2006

Öğr. Gör. Özkan CANAY

Komut Seti Mimarisi (ISA)

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ ARM11 MİMARİSİ

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

Nesne Yönelimli Programlama

KOMUT, İŞÇİK VE BELLEK DÜZEYİNDE PARALELLİĞE YÖNELİK DERLEYİCİ TEKNİKLERİ

PC is updated PS güncellenir

1. İŞLEMCİLER. İlk İşlemci

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

YZM 3102 İşletim Sistemleri

Beşinci Kuşak İşlemciler

Yrd. Doç. Dr. Bülent ÇOBANOĞLU

Öğr. Gör. Özkan CANAY

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Transkript:

1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

2 Giriş Superscalar mimaride integer ve floating-point aritmetik komutlar, şartlı atlama komutları birbirinden bağımsız ve eşzamanlı çalıştırılır. Superscalar yapı RISC ve CISC mimarisinde kullanılmaktadır. RISC mimarisinde kullanımı daha yaygındır. Superscalar yapı komut seviyesinde paralel çalışmayı destekler. Superscalar işlemci birden fazla komutu eşzamanlı fetch eder ve birbirinden bağımsız olanları eş zamanlı paralel bir şekilde çalıştırır. Birbirine bağımlı olanların bağımlılıklarını ortadan kaldırmak için farklı yöntemler uygulanır.

3 Superscalar işlemciler Superscalar ilk defa 1987 yılında öne sürülmüştür. Superscalar yaklaşımın temeli, birbirinden bağımsız olan komutların ayrı pipeline larda eş zamanlı çalıştırılmasına dayanır. de fonksiyonel birimlerden birden fazla bulunur. Şekilde 2 integer, 2 floating-point işlem birimi ile 1 memory bulunmaktadır. Superscalar işlemciler Yapılan çalışmalarda görülen performans artışı aşağıdaki gibi tablodaki gibidir. Referans [TJAD70]* [KUCK72] [WEIS84] [ACOS86] [SOHI90] [SMIT89] [JOUP89b] [LEE91] Performans artışı 1.8 8 1.58 2.7 1.8 2.3 2.2 7 Performans değerlerindeki farklılıklar, simülasyon yapılan donanım ve yazılımların farklı oluşundan kaynaklanmaktadır. *Kaynaklar son sayfada verilmiştir.

4 Superscalar ve superpipeline karşılaştırması Performansı artırmak için uygulanan diğer yaklaşım superpipeline dır. Superpipeline ilk defa 1988 yılında ortaya atılmıştır. Superpipeline, birçok pipeline aşamasının bir clock cyle ın yarısından kısa sürede bitmesinden dolayı clock cyle hızını iki katına (2.derece) çıkartır. MIPS R4000 superpipeline yaklaşımını kullanmaktadır.

5 Superscalar ve superpipeline karşılaştırması Şekilde 4 aşamalı pipeline, 2.derece superpipeline ve superscalar yaklaşımları görülmektedir.

6 Paralel çalışmadaki problemler Superscalar yaklaşımı komutları paralel çalıştırmayı amaçlar. Instruction-level paralel çalışma, bir program komutlarının paralel çalıştırılmasını ifade eder. Paralel çalışma optimizasyonu compiler veya donanım tarafından yapılabilir. Paralel çalışma sırasında aşağıdaki problemler oluşabilir: True data dependency (write-read dependency) Procedural dependency Resource conflicts Output dependency (write-write dependency) Antidependency (read-write dependency) Paralel çalışmadaki problemler True data dependency (write-read dependency) Aşağıdaki programda true data dependency vardır. add r1, r2 ; r1 = r1 + r2 move r3, r1 ; r3 = r1 İkinci komut fetch ve decode edilir ancak birinci komut execute yapılıncaya kadar execute edilemez.

7 Paralel çalışmadaki problemler Procedural dependency Bir branch komutundan sonraki komut işlem sonucuna bağlıdır. Branch execute edilmeden çalıştırılamaz. Resource conflicts Kaynak çakışması birden fazla komutun aynı işlem birimini kullanmasından kaynaklanır. Kaynaklar hafıza, bus, cache, register-file port ve fonksiyonel birimlerdir (ALU toplayıcı gibi). Paralel çalışmadaki problemler No dependency, data denepdency, procedural dependency ve resource conflict durumları

8 Tasarım özellikleri Instruction-level parallelism ve Machine parallelism Komut seviyesinde paralellik bağımsız komutların eş zamanlı çalışmasını ifade eder. Soldaki kod parçasında üç komut bağımsızdır ve eş zamanlı çalışır. Sağdaki kod parçasında üç komutun sağ kısımları birbirine bağlıdır ve eş zamanlı çalıştırılamazlar. load r1, r2 add r3, 1 add r3, 1 add r4, r3 add r4, r2 store [r4], r0 Machine parallelism, birden çok komutun fetch ve execute edilmesi için birden fazla pipeline kullanır.

9 Komut çalıştırma kuralları Pipeline aşamalarından birden fazla kullanılması durumunda her aşamada birden çok komutun yönetilmesi gerekir. Instruction issue, bir komutun decode aşamasından execute aşamasına geçmesini ifade eder. Komutların fetch edilme (FI) sırası, execute edilme (EI) sırası ve register veya hafıza içeriğini değiştirme sırası (WO) önemlidir. Kullanılan yöntemler: In-order-issue with in-order-completion (sıralı alma ve sıralı tamamlama) In-order-issue with out-of-order-completion (sıralı alma ve sırasız tamamlama) Out-of-order-issue with out-of-order-completion (sırasız alma ve sırasız tamamlama)

10 Komut çalıştırma kuralları In-order-issue with in-order-completion Komutlar bulundukları sırada alınırlar ve alındıkları sırada tamamlanırlar. Pipeline 2 komutu aynı anda fetch ve decode ediyorsa ve 3 fonksiyonel birime sahipse (2 integer, 1 floating-point) ve 2 write-back aşamasına sahipse aşağıdaki çalışma gerçekleşir. Aynı kaynak I1 execute için 2 cycle gerektirir. I3 ve I4 arasında aynı fonksiyonel birime ihtiyaç duydukları için resource conflict oluşur. I5 komutu I4 komutunun sonucuna bağımlıdır. I5 ve I6 arasında resource conflict oluşur. U1 U2 U3 Aynı kaynak Data bağ. Komut çalıştırma kuralları In-order-issue with out-of-order-completion I2 komutu I1 komutunun execute edilmesini beklemeden execute edilir. Böylece I3 komutu da daha erken tamamlanır. Bu çalışmada output dependency (write-write dependency) oluşabilir. I1: r3 r3 op r5 I2: r4 r3 + 1 I3: r3 r5 + 1 I4: r7 r3 op r4 I2 komutu I1 execute edilmeden execute edilemez (true data dependency). I4 komutu I3 komutunu beklemek zorundadır (true data dependency). I3 komutu I1 komutu execute edilmeden execute edilemez (output dependency). Aksi halde I4 komutunun sonucu yanlış olur.

11 Komut çalıştırma kuralları Out-of-order-issue with out-of-order-completion In-order-issue yöntemlerinde resource conflict oluşursa yeni bir komut decode edilmemektedir. Out-of-order issue yönteminde instruction window kullanılarak decode edilen komutlar bekletilir. Window içindeki komutlardan beklediği kaynak boşalan execute edilir. Bu komutun execute aşamasındaki komutlarla kaynak veya data bağımlılığı olmamalıdır. Burada I5 ile I4 arasında bağımlılık vardır. I6 ile I4 arasında bağımlılık yoktur. Komut çalıştırma kuralları Antidependency (read-write dependency) Out-of-order-issue with out-of-order-completion yönteminde antidependency oluşabilir. I1: r3 r3 op r5 I2: r4 r3 + 1 I3: r3 r5 + 1 I4: r7 r3 op r4 I2 ile I3 arasında antidependency vardır. I3 komutu I2 komutundan önce execute edilmez.

12 Register renaming Read-write veya write-write dependency oluştuğunda pipeline önceki komutu bekler. yönteminde register lar dinamik olarak atanır. Renaming yapılan register programın kalan kısmında komple değiştirilir. I1: r3b r3a op r5a I2: r4b r3b + 1 I3: r3c r5a + 1 I4: r7b r3c op r4b I3 komutu ile I2 komutu arasındaki antidependency (readwrite) (r3b-r3c) ve I3 komutu ile I1 komutu arasındaki output (write-write) (r3b-r3c) dependency giderilmiştir.

13 Makine paralelliği Kaynak sayıları artırılarak, out-of-order issue ve register renaming ile paralel çalışmadaki performans artırılabilir. Out-of-order issue yönteminde window size önemlidir. Base makinede kaynaklar tektir ancak out-of-order issue yapılmaktadır. Sırasıyla ld/st birimi, alu ve ld/st ile ALU birimlerinin ikisinin de iki adet olduğu durumlarda window boyutu arttıkça performans artmaktadır. yöntemi uygulandığında performans artışı daha yüksektir.

14 Branch prediction Intel 80486 işlemci, hem sonraki hem de target adresteki komutun fetch edilmesini (speculatively) gerçekleştirir. RISC makineler delayed branch yöntemini uygular. klasik branch prediction yöntemlerini uygular.

15 Superscalar çalışma komutları branch prediction yöntemlerini de kullanarak fetch eder. Instruction dispatch birimi komutları bağımlılıklarına göre execution window a aktarır. Komutlar yeniden sıralanmış bir şekilde execute edilir.

16 Kaynaklar TJAD70, Tjaden G.S., Flynn M.J., "Detection and Parallel Execution of Independent. Instructions". IEEE Transactions on Computers, Vol. C-19 (October 1970), pp. 889-895. KUCK72, Kuck D.J., Muraol Y., Hen S.C., "On the Number of Opera. Lions Simultaneously Executable in Fortran-like Programs and Their resulting Speedup". IEEE Transactions on computers, Vol. C-21 (December 1972), pp. 1293-1310. WEIS84, Weiss S., Smith J.E., "Instruction Issue Logic in Pipelined Supercomputers, IEEE Transaction s on Computers, Vol. C-33 (November 1984), pp. 1013-1022. ACOS86, Acosta R.D., Kjelstrup J., Torng H.C., An instruction issuing approach to enhancing performance in multiple functional unit processors, IEEE Transactions on Computers, v.35 n.9, p.815-828, Sept. 1986. SOHI90, Sohi G.S., Instruction Issue Logic for High-Performance, Interrumpible, Multiple Functional Unit, Pipelined Computers, IEEE Trans. on Computer, 39(3), pp. 349-359, 1990 SMIT89, Smith J.E., "Dynamic Instruction Scheduling and the Astronautics ZS-I" IEEE Computer, July 1989, pp. 21-35. JOUP89, Jouppi N.P., Wall D.W., "Available Introduction-Level Parallelism for Superscalar and Superpipelined Machines," in ASPLOS-III, Boston, MA, April 1989. LEE91, Lee R., Kwok A., Briggs F., The Floating Point Performance of a Superscalar SPARC Processor, Proceedings, Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, April 1991. Ödev Çok işlemcili mimariler hakkında detaylı bir araştırma ödevi hazırlayınız.