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
Digital Design

Feedback

Ders hakkında geri bildirimleriniz önemlidir.

Kayıtlı öğrencilerin her hafta geri bildirimleri için LMS sistemi üzerinden “Geri Bildirim Formu” açılacaktır. 

Her doldurulan geribildirim için 0.5 puan sene sonu notuna eklenecektir.

Anonim olarak geri bildirimde bulunmak için aşağıdaki linki kullanabilirsiniz.

https://docs.google.com/forms/d/e/1FAIpQLSd23R8gvWSKOiA5h3YC6Cdgq9iZ-En9I-5Y1wR9AwKhAXGaTA/viewform?vc=0&c=0&w=1

Categories
Digital Design

LMS and Piazza

Öğrencilerin soru sorup yanıt alabileceği bir soru cevap sistemi sunulmaktadır. Ders duyuruları, öğrenci soruları ve cevapları için bir platformdur. Aşağıdan erişebilirsiniz. 

https://piazza.com/class/kjey5mxezcj2n6

LMS (Learning Management System), bazı ödevlerin teslimi için LMS sistemi üzerinden olması istenecektir.

Categories
Digital Design

Tools

Araç AdıİçerikAdres
Von Neumann Mimari SimulatörüVon Neumann mimarisinin simulatör aracıdır.http://levent.tc/files/courses/tools/vonneumann/
IEEE-754 İkilik – Onluk Dönüştürme AracıVerilen ondalıklı bir sayıyı IEEE-754 formatına dönüştürücü araçtır.http://levent.tc/files/courses/tools/floatbin/
Ondanlık, İkilik ve Onaltılık Sayı DönüştürücüOndanlık, ikilik ve onaltılık sayı formatında verilen bir sayıyı, diğer formatlara dönüştüren bir araçtır.http://levent.tc/files/courses/tools/hexdecbin/
Devre SimulatörüJavascript temelli bir devre simulasyon aracı sunulmaktadır. Aşağıdaki adresten erişebilirsiniz.Kullanım;Araç kutusundan bir öğe seçin ve sağ tarafa gidin.Sürükleme işlemi ile ekleniş öğeleri birbirlerine bağlayın.Bağlantısını kesmek için bir giriş düğümüne tıklayın.Eklenmiş öğeyi silmek için, öğeyi tutup araç kutusuna sürükleyin.Öğenin adını düzenlemek için bir etiket bölümüne çift tıklayınhttp://levent.tc/files/courses/tools/devresimulatoru/
Devre Simulatörü 2Çok kapsamlı bir devre simulatörüdür.  Kullanım kılavuzuna 
http://levent.tc/files/courses/tools/devresimulatoru2/devreSimulatoruKullanimKilavuzu.pdf 
adresinden erişebilirsiniz.
http://levent.tc/files/courses/tools/devresimulatoru2/
Bit Mantık İşlemleri Hesap MakinesiBit bazında işlem gerçekleştiren bir hesap makinesidir. Bu uygulama bit bazında yapılan işlemlerin öğrenilmesinde faydalıdır. Ve, veya, xor, değil ve kaydırma işlemleri desteklenmektedir. http://levent.tc/files/courses/tools/bitislemleri/
Categories
Digital Design

Exams and Sample Questions

Vize

Final

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