Categories
Computer Architecture

Final Sample Questions

RISC, CISC ISA

  • RISC-V işlemcisi komut seti hangi türdedir? Yaklaşık kaç komutu bulunmaktadır ve komutların özellikleri nelerdir?
  • X86 işlemcisi komut seti hangi türdedir? Yaklaşık kaç komutu bulunmaktadır ve komutların özellikleri nelerdir?
  • RISC ve CISC mimarileri arasındaki farklar nelerdir?

Cache’ler

  • Cache nedir?
  • Cache’ler neden kullanılmaktadır?
  • Bir bilgisayarın bellek hiyerarşisini çiziniz.
  • Cache hit ve miss ne anlama gelmektedir?
  • 256 Byte’lık bir ana bellek (RAM) ile CPU arasında bir Cache yerleştirilmek isteniyor. Bu cache 4 byte direct mapped, 1 byte block size türündedir. Cache’in index ve tag alanları kaç bitlik olmalıdır?
  • 64 Byte’lık bir ana bellek (RAM) ile CPU arasında bir Cache yerleştirilmek isteniyor. Bu cache 8 byte direct mapped, 1 byte block size türündedir.
    Sırasıyla CPU’a gelen;

    LOAD 101010
    LOAD 101011
    LOAD 101010

    komutlarına göre, Cache hit ve miss durumlarını açıklayınız. (Açıklama: LOAD 101010 komutu ana bellekteki 101010 adresindeki (42) değeri bir saklayıcıya yükler)
  • 32 Byte’lık bir ana bellek (RAM) ile CPU arasında bir Cache yerleştirilmek isteniyor. Bu cache 8 byte direct mapped, 2 byte block size türündedir.
    Sırasıyla CPU’a gelen;

    LOAD 11001
    LOAD 11110
    LOAD 11100

    komutlarına göre, Cache’i bir tablo halinde çizip, 3 adımda Cache’in içereceği verileri gösteriniz. Başlangıçta bellekteki adreslerde adres numarası değer olarak içermektedir. Yani 0. adreste 0, 1. adreste 1 … içerikleri bulunmaktadır.
  • Bir CPU’daki L1 Cache’de hit zamanı 1 ns;
    hit olmadığında L2 Cache’den çekilmesi 10ns;
    L2 cache’de de hit olmadığında ana bellekten getirilmesi 50 ns zaman almaktadır.

    Tamamı yükleme operasyonu olan bir uygulamada operasyonların %5’i L1 Cache’de bulunamamakta, kalanların %20’si de L2 cache’de bulunamamaktadır. Buna göre bu uygulama L2 cache olmadan koşturulduğunda kaç ns zaman sürecektir? L2 cache olduğunda kaç ns sürecektir?
  • Write-Through ve Write-Back mekanizmaları nedir? Aralarındaki farklar nedir?

Virtual Memory

  • Memory management unit (MMU)’nun görevi nedir?
  • Sanal adres ihtiyacı neden vardır?
  • Page table nedir? Ne amaç ile kullanılır?
  • Page Fault nedir?
  • Segmentation Fault nedir?

Paralelizm, Çok Çekirdek ve Senkronizasyon

  • Bir hesaplama cihazının çok çekirdekli olması her zaman performansının artacağı anlamına gelir mi? Örnekler vererek açıklayınız.
  • Static scheduling nedir?
  • Cache Coherency nedir? Hangi sorunlar ile karşılaşılmaktadır?
  • Cache Coherency sorununu çözmek için uygulanan bir tekniği açıklayınız.
Categories
Computer Architecture

Midterm Sample Questions

Mantık Kapıları ve Aritmetiği

  1. 10’luk tabandaki 92 sayısını 16’lık tabanda (HEX) olarak ifade ediniz.
     
  2. 1110110110 sayısını 16’lık (HEX) tabanda ifade ediniz.
     
  3. -16 sayısını en az bit kullanarak 2’lik tümleyen (twos complement) formatında ifade ediniz.
     
  4. 1100111 2’lik tümleyen formatındaki sayıyı onluk tabana çeviriniz.
     
  5. İkilik tümleyen formatta olan 0001 ve 11 sayısını toplayınız.
     
  6. İkilik tümleyen gösterim formatının, işaret bitli gösterim formatına göre avantajı nedir? Neden dijital tasarım dünyasında bu gösterim tercih ediliyor?
     
  7. A ve B isminde 8 bitlik değeri bilinmeyen iki sayı olsun. Bu iki sayı XOR işlemi yapıldığında,

    A^B = 00110100
    Ve (AND) işlemi yapıldığında,
    A&B = 11001001

    sonuçları elde ediliyor. A + B sayısının toplam değeri nedir? İpucu: Bir bit Ve(AND)’lendiğinde sonuç 1 ise, her iki sayı kesinlikte 1’dir. Buradan yola çıkarak hem Ve (AND) hemde XOR’a bakarak sayıların ne olduklarını toplama yapabilecek kadar bulmanız mümkündür.
     
  8. Fixed Point ve IEEE Floating Point formatı ve farklarını birkaç cümle ile açıklayınız.
     
  9. 400 kişilik bir sınıfta, herkese farklı bir numara vermek için en az kaç bite ihtiyaç bulunmaktadır?
     
  10. Soru 8’de bulunan bit sayısı ile, bit sayısını arttırmaya gerek kalmadan kaç öğrenci daha sınıfa kabul edilebilir?
     
  11. 5 bit kullanarak, 7 ve -7 sayılarını ikilik tümleyen formatta ifade ediniz.
     
  12. 6 bit kullanarak ikilik tümleyen formatta -32 sayısını ifade ediniz.
     
  13. 101, 44, -128, 127 sayılarını ikilik tümleyen formatta 8 bit olarak ifade ediniz.
     
  14. Sayıyı bir bit sağa kaydırmak, sayıyı 2’e bölmek, bir bit sola kaydırmak ise sayıyı iki ile çarpmak ile aynı anlama gelmektedir. Bu nasıl olmaktadır? Bir kaç cümle ile açıklayınız.
     
  15. Aşağıdaki 4’bitlik ikilik tümleyen formatındaki sayıların toplama işlemlerinin hangileri taşma yapmaktadır?

    1100 + 0011
    1100 + 0100
    0111 + 0001
    0111 + 1001
     
  16. İkilik tümleyen formatında toplama işlemi yaparken hangi durumlarda taşma olmaktadır? Açıklayınız.
     
  17. Taşma yaratacak 9 bitlik işaretsiz ikilik tabanda iki sayı bulun.
     
  18. Aşağıdaki mantık işlemlerini hesaplayınız.

    01010111 OR 11010111
    101 OR 110
    NOT (1011) OR NOT(1100)
    NOT (1000 AND (1100 OR 0101))
    NOT (NOT (1101) )
    (0110 OR 0000) AND 1111
     
  19. Aşağıdaki doğruluk tablosunu verilen ifadeye göre doldurunuz.

Kobinasyonel ve Ardışık Devreler

  1. Transistör nedir? Bir kaç cümle ile açıklayınız.
     
  2. Aşağıda örnek verilen bir transistörün “Base”, “Emitter”, “Collector” pinleri ne için kullanılmaktadır?


  3. Aşağıda NAND kapısının şeması verilmiştir. A ve B isminde iki giriş alıp, Out isminde bir çıkış vermektedir. NAND fonksiyonu Out = !(A & B) şeklinde ifade edilebilir. 



    Aşağıda verilen şekilde ise, NAND kapısının girişine sadece tek bir giriş bağlanmıştır. A isimli giriş ile Out çıkışını doğruluk tablosunu çiziniz (A’nın 0 ve 1 olduğunda Out’un ne olduğunu gösteren tablo). Tabloya bakarak Out çıkışının A girişine göre nasıl değiştiğini yorumlayınız. NAND ile elde edilmiş olan yeni mantık kapısının ismini yazınız.

  4. Aşağıdaki ifadeyi mantık kapıları ile çiziniz. Devreyi çizdikten sonra demorgan kuralı ile devreyi sadeleştirebildiğiniz kadar sadeleştirin. Sadeleşen devreyi çiziniz.


  5. Aşağıdaki şekilde gizli bir mantık kapısı içeren kombinasyonel devre verilmiştir. Devrenin A girişine göre ürettiği değerler doğruluk tablosunda verilmiştir. Tablodaki out çıktısının değerlerine göre, mantık kapısı yazan kutunun içerisinde hangi mantık kapısı olabilir?


  6. Çözücü (Decoder) Nedir? Nasıl çalışmaktadır?
     
  7. 5 girişli bir çözücünün (Decoder) kaç çıkışı bulunmaktadır?
     
  8. Seçici (Multiplexer) Nedir? Nasıl çalışmaktadır?
     
  9. 16 girişli bir seçicinin (Multiplexer) kaç çıktısı bulunmaktadır? Kaç adet seçme (select) bit’i bulunmaktadır?
     
  10. Aşağıdaki şekilde 2×1 multiplexer kullanılarak bir Ve (And) kapısı yapılmıştır. Yine 2×1 multiplexer kullanarak Veya (Or) kapısı yapınız.

  11. Aşağıda verilen doğruluk tablosuna (truth table) göre mantık kapıları ile eşdeğer devreyi çiziniz.


     
  12. Sadece 2×1 multiplexer’ler kullanarak 4×1 multiplexer yapınız.
     
  13. Verilen doğruluk tablosunu, aşağıdaki devreye göre tamamlayınız.


  14. Full Adder’lar kullanarak, 4 bitlik iki sayının toplamını yapabilecek bir devre çiziniz. Full Adder’ların iç yapısını çizmeyiniz.
  15. Aşağıda verilen kombinasyonel devrenin Verilog dilindeki gösterimini yazınız.
  1. Aşağıda verilen Verilog RTL kodunun karşılığı olan donanım’ın şematik çizimini yapınız.
  1. Aşağıda verilen devrenin Verilog gösterimindeki karşılığını yazınız. A, B, C, D ve Sel sinyalleri giriş, y sinyali ise çıkıştır
  1. D tipi tutucu (latch) ve D tipi saklayıcı (Register) nedir? Arasındaki farklar nedir? 
  2. Saat kristali nedir? 
  3. Clock sinyali nedir? Ne için kullanılır? 
  4. Periyodu 100 ns olan bir clock’un frekansı nedir? 
  5. Ardışık devreler neden kullanılır? Neden kombinasyonel devreler ile bazı işlemler gerçekleştirilemiyor?
  6. Aşağıda verilen D tipi yükselen kenar tetiklenen saklayıcıya gelen cp (clock) ve x sinyaline göre Q çıkışından çıkması gereken sinyali çiziniz.

  7. Aşağıdaki devrede 4 adet d tipi saklayıcı kullanılmıştır. Devre uzun bir süre d girişinden 0 verilerek çalıştırılmış ve başlangıçta q0, q1, q2 ve q3 0 olarak çıktı vermektedir. Devrenin girişi 1’e dönüştürüldüğü andan itibaren, aşağıdaki dalga formunu doldurunuz.
  • Aşağıda verilen ardışık devreye belirli bir giriş dizisi verildiğinde 1 değerini üretmektedir (Pattern Checker). Verilmiş olan 4 pattern’den hangisinin 1 değerini ürettirebileceğini tespit ediniz. Başlangıçta saklayıcıların değerlerini 0 olarak alınız.

A -) 0110
B -) 1001
C -) 0100
D -) 1101

  • Aşağıda verilen Verilog RTL kodunu sentezlendiği zaman ortaya çıkacak devreyi çiziniz.
  • Aşağıda verilen verilog kod parçacığı sentezlenince oluşacak donanım şematiğini çiziniz.

  • Aşağıda verilen devrenin Verilog gösterimini yazınız.

Sonlu Durum Makinaları

  • Aşağıda D tipi saklayıcı ve MUX barındıran bir devre bulunmaktadır.



    Yanında ise bu devrenin durum makinaları ile ifade edilmiş hali bulunmaktadır. Q0 durumu Q çıkışının 0 verdiği, Q1 durumu ise Q çıkışının 1 verdiği durumu temsil etmektedir. Q çıkışı 0 verir iken, w girişi ne gelmelidir ki Q yine 0 çıkmaya devam etsin? Bu durumu Q0’ın kendi üstüne ok ile döndüğü yerdeki w = yerine yazmalısınız. Bu mantık ile w= olan yerleri tamamlayınız.
  • Aşağıda verilen Mealy durum makinasının Verilog dilinde gerçekleyiniz.
  • Moore durum makinası gösterimi ile, ard arda 3 defa 1 girişi yakaladığında 1 çıktısı veren diğer durumlarda 0 veren yapıyı çiziniz.

Bellekler

  1. Bir RAM’in 100 adresi ve her bir adreste 32 bitlik saklama alanı bulunuyorsa, toplam RAM’in boyutu nedir?
  2. RAM (Random Access Memory) nedir? Bir kaç cümle ile açıklayınız.
  3. Bir RAM’in 16 bitlik adres girişi var, ve toplam boyutu 4 MB (Mega Byte) ise bir adreste kaç bitlik veri saklanıyordur?
  4. Bir RAM’in 16 bitlik adres girişi var, ve toplam boyutu 4 Mb (Mega bit) ise bir adreste kaç bitlik veri saklanıyordur?
  5. Statik ve Dinamik RAM’lerin karşılaştırınız.
  6. Tri-State buffer nedir? Ne amaç ile kullanılır?
  7. SRAM ve DRAM’in farkı nedir?

RISC-V İşlemcisi

  1. RISC-V işlemcisi Harvard Mimarisi ile geliştirilmiştir. Bu mimarinin getirdiği avantaj nedir?
  2. RISC ve CISC mimarileri nedir? Aralarındaki farkları anlatınız.
  3. Fetch, Decode, Execute, Memory Access ve WriteBack adımlarında hangi işlemler yapılmaktadır?
  4. RISC-V işlemci komut setinde (Instruction Set) aritmetik, bellek ve kontrol komutları bulunmaktadır. Bu komutlar aşağıda verilen tabloda özetlenmiştir. Komutların bit gösterimleri de ikinci tabloda verilmektedir. Tabloya göre maddelerdeki soruları yanıtlayınız.
  • add rd, rs1, rs2 ne işlemi yapmaktadır?
  • Saklayıcı 5: 9
    Saklayıcı 3: 2
    Saklayıcı 1: 10

    başlangıç değerleri ile, add 5, 3, 1 işlemi sonucunda saklayıcı değerleri ne olacaktır?
  • add 5, 3, 1 operasyonu için 32 bitlik RISC-V komutunu binary olarak gösteriniz.
  • Saklayıcı 20: 10
    Saklayıcı 21: 11
    Program counter: 20

    başlangıç değeri için

    beq 20, 21, 100 operasyonu sonucunda program counter değeri ne olur?

    bltu 20, 21, 100 operasyonu sonucunda program counter değeri ne olur?
  • slli 15, 21, 3 operasyonu için 32 bitlik RISC-V operasyon gösterimini yazınız.
  • Saklayıcı 15: 3
    Saklayıcı 21: 15

    başlangıç değerleri için, slli 15, 21, 3 işlemi sonucunda, değişim gösteren saklayıcılar hangi(leri) ve değerleri ne olduğunu gösteriniz.

Pipelining ve Performans

  1. Pipelining nedir?
  2. Bir işlemcinin CPI değeri 1.2, 100 MHz ile koşmaktatır. İkinci işlemci ise CPI değeri 1.05 ve 90 MHz de koşmaktadır. Hangi işlemci saniyede daha fazla işlem yapabilmektedir?
  3. Bir programda kullanılan komutların oranı ve kaç cycle sürdüğü bilgisi aşağıda verilmektedir.

    %15 dallanma (5 Cycles / Instruction)
    %45 aritmetik (3 Cycles / Instruction)
    %40 belleğe yükleme (4 Cycles / Instruction)

    Buna göre bu işlemci;

    Tek cycle’da işlemleri yaptığı modda 10 MHz’de
    Çok cycle’da (pipelined) modda ise 20 MHz’de koşabiliyor.

    Her iki durum içinde saniyede kaç milyon işlem yapabildiğini (MIPS) hesaplayınız.
  4. Bir işlemci 400 MHz’de, CPI = 2.3 değeri ile 500 milyon işlem yapabilmesi için kaç saniye zaman gereklidir?

Categories
Computer Architecture

Labs

LabKonuTarihİndirme
1Kombinasyonel ve Ardışık Devreler5.03.2021 
2Sonlu Durum Makinaları11.03.2021 
3Bellekler20.03.2021 
4RISC-V İşlemci Tasarımı8.04.2021 
5System Verilog for Synthesis I30.04.2021 
6System Verilog for Synthesis II7.05.2021
Categories
Computer Architecture

Homeworks

ÖdevKonuTarihSon Teslim TarihiTeslim YöntemiİndirmeÇözüm
1Kombinasyonel ve Ardışık DevrelerYazılı Olarak Ders Sınıfında Teslim  
2Sonlu Durum MakinalarıYazılı Olarak Ders Sınıfında Teslim  
3RISC-V İşlemci TasarımıYazılı Olarak Ders Sınıfında Teslim  
Categories
Computer Architecture

Project

RISC-V Tabanlı İşlemci Tasarımı: Bu proje kapsamında başlangıç tasarım verilen bir RISC-V işlemcisinin ALU ve instruction decoder blokları temel SystemVerilog dili özellikleri kullanılarak tasarım ve doğrulama çalışmaları yapılacaktır.

Proje detayları için tıklayınız.

Categories
Computer Architecture

Lecture Notes

HaftaKonuİndirme
1Giriş
2Mantık Kapıları ve Aritmetiği
3Kombinasyonel ve Ardışık Devreler
4Sonlu Durum Makinaları
5Bellekler
6RISC-V İşlemcisi
7Pipelining ve Performans
8Vize
9RISC-V İşlemci Tasarımı
10Resmi Tatil
11RISC, CISC ISA
12Cache’ler
13Virtual Memory
14Paralelizm, Çok Çekirdek ve Senkronizasyon
15Final
Categories
Computer Architecture

Syllabus

HaftaKonuTarih
1Giriş
2Mantık Kapıları ve Aritmetiği
3Kombinasyonel ve Ardışık Devreler
4Sonlu Durum Makinaları
5Bellekler
6RISC-V İşlemcisi
7Pipelining ve Performans
8VizeSınav Haftası
9RISC-V İşlemci Tasarımı
10Resmi Tatil
11RISC, CISC ISA ve Çağrılmalar, Assembler, Linker ve Loader’lar
12Cache’ler
13Virtual Memory, Sistem Çağrıları ve Interrupt’lar
14Paralelizm, Çok Çekirdek ve Senkronizasyon
15FinalSınav Haftası
   
Categories
Computer Architecture

Detailed Course Description

Ders Açıklaması

Bu ders temel mantık kapıları, kombinasyonel ve ardışık devreler, sonlu durum makinaları, bellekler, RISC-V işlemci komut seti, pipelining ve performans, RISC, CISC, ISA, assembler, linker, loader, cache’ler, sanal bellek, interruptlar, paralelizm, giriş ve çıkış elemanları konularını içermektedir. Ders kapsamında başlangıç tasarım verilen bir RISC-V işlemcisinin kontrol ve ALU blokları temel SystemVerilog dili özellikleri kullanılarak tasarım ve doğrulama çalışmaları yapılacaktır. 

Ders Saatleri (Teorik + Lab)

Cuma 9.00-13.00

Öğretim Elemanları ve Ofis Saatleri

Dr. Öğr. Üyesi Vecdi Emre Levent, Ofis 311 – Cuma 16.00-17.00

Arş. Gör. Uğur Özbalkan, Ofis 311 –  Salı 16.00-17.00

Ön Gereksinimler

Yok

Yardımcı Kaynaklar

Dersin referans kaynakları aşağıda listelenmektedir.

  • Computer Organization and Design RISC-V Edition, David A. Patterson, Morgan Kaufmann, 2017
  • Digital Design and Computer Architecture: ARM Edition, Sarrah Harris, Morgan Kaufmann, 2015
  • Digital Design and Computer Architecture, David Harris, Morgan Kaufmann, 2012
  • Modern Computer Architecture and Organization: Learn x86, ARM, and RISC-V architecture, Jim Jedin, Packt Publishing, 2020

Yazılımlar

Xilinx Vivado 2019.1

Dersler

Dersin haftalık 2 saat teorik, 2 saat laboratuvar bölümü bulunmaktadır. Öğretim üyesi tarafından verilen ders materyallerinin ders öncesi incelenip, ders sonrasında ise tekrar edilmesi beklenmektedir. 

Öğrenim Çıktıları

  • Boruhattı ile Performansa Dayalı Tasarım
  • RISC, CISC Mimarileri
  • Bilgisayar Organizasyonu
  • RISC-V İşlemcisi Tasarımı

Quizler

Dönem içerisinde iki adet quiz yapılacaktır. 30 dk süre verilecektir. Quiz tarihi bir hafta önceden duyurulacaktır. 

Notlandırma

Derslere %80 oranında devam zorunludur.

Dönem notu; vize, lablar, ödevler, proje ve final sınavı ile belirlenecektir. Değerlendirme yüzdeleri aşağıdaki tabloda verilmiştir.

FaaliyetlerOranlar
Vize%20
Ödev/Quiz%10
Lab%15
Proje%25
Final%30
Bonus5 Puan’a kadar

Ödev ve quizlerin teslim saati üzerinden her geçen saat için 5 puan kesilecektir.

Dönem sonu notunun karşılık geldiği ağırlık ve harf notu aşağıdaki tabloda verilmiştir.

Dönem NotuAğırlıkHarf Notu
90-1004.00AA
85-893.50BA
80-843.00BB
75-792.50CB
65-742.00CC
50-641.50DC
45-491.00DD
0 -440FF

Beklenen Efor

Öğrencinin dönem içinde göstermesi beklenen efor tablosu aşağıda verilmiştir.

İçerikSaatKaç DefaAra Toplam
Derse Hazırlık21428
Ders Tekrarı21428
Ödev4624
Proje48148
Sınıf Dersi41456
Ara Sınav ve Final24248


Öğrenciler dersten başarılı olmak için dönem boyunca ortalama 232 saat harcamaları beklenmektedir.

Kodlama Ödevleri

Kodlama ödevlerinin notlandırılması, kodun doğruluğu, kalite ve algoritmik gerçeklemedeki detayları incelenerek yapılacaktır.

Doğruluk

Verilecek her bir ödev için test girişi ve beklenen çıkışlar paylaşılacaktır. Ancak ödev kontrolü yapılırken sizinle paylaşılmamış başka test durumları da denenecektir. Çalışma zamanı, beklenenden çok uzun süren kodlar yanlış olarak değerlendirilebilir.

Teori

Kod, istenen algoritmanın tasarımı olmalıdır. En optimum çözüm beklenmemektedir. Ancak bellek ve çalışma zamanı beklenenden çok fazla olmamalıdır.

Yazılı Ödevler

Ödev kendi el yazınız ile yazılmalıdır. Ödev cevap kağıtının üzerinde, dersin adı, öğrenci adı ve soyadı, öğrenci numarası ve tarih bulunmalıdır. 

Akademik Dürüstlük

Ödevin amacı, ders hakkında derinlemesine araştırma yapmayı öğrenmek ve pratik bilgiler kazanmayı sağlamaktır. Verilen ödevler hakkında, diğer öğrenciler ile birlikte çalışma teşvik edilmektedir. Çalışma grubu oluşturan öğrenciler, kendi başına çalışan öğrencilere göre sınavlarda daha başarılı olmaktadırlar. 

Ancak bir ödevi çözmek için başkaları ile birlikte çalışsanız bile, her bir sorunun çözümünü yardım almadan kendiniz yapmalısınız. Çözümünüzü bir araştırma yolu ile elde ederseniz (örn. bir internet araması), çözümü kendi cümle ve/veya kodunuz ile ifade etmelisiniz. Çözümü sözlü olarak sorulduğunda, öğrencinin açıklayabilmesi beklenmektedir. 

Verilen ödev bir kod ise, kendinizin yazması gerekmektedir. Hata ayıklamada başkalarından yardım alabilirsiniz. Kodda intihal tespiti için manuel ve otomatik mekanizmalar kullanılacaktır. İntihal, sınav içi kopya ve benzeri davranışlar disiplin yönetmeliğine göre cezalandırılır.