Course Description: Bu ders elektronik devrelerin analog ve dijital boyutlarını içermektedir. Ders analog ve dijital olarak iki bölümden oluşmaktadır. İlk bölüm olan analog kısımda temel elektronik devre elemanları anlatılmaktadır. İkinci bölümde popüler dijital tasarım dillerinden olan SystemVerilog ile tasarım ve doğrulama konuları üzerinde çalışmalar yapılmaktadır. Ders projesi kapsamında FB-CPU isimli bir işlemci tasarımının SystemVerilog dili ile otonom kontrolünü yapan bir doğrulama ortamı geliştirilecektir.
Author: EmreLevent
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.
Midterm Sample Questions
Mantık Kapıları ve Aritmetiği
- 10’luk tabandaki 92 sayısını 16’lık tabanda (HEX) olarak ifade ediniz.
- 1110110110 sayısını 16’lık (HEX) tabanda ifade ediniz.
- -16 sayısını en az bit kullanarak 2’lik tümleyen (twos complement) formatında ifade ediniz.
- 1100111 2’lik tümleyen formatındaki sayıyı onluk tabana çeviriniz.
- İkilik tümleyen formatta olan 0001 ve 11 sayısını toplayınız.
- İ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?
- 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.
- Fixed Point ve IEEE Floating Point formatı ve farklarını birkaç cümle ile açıklayınız.
- 400 kişilik bir sınıfta, herkese farklı bir numara vermek için en az kaç bite ihtiyaç bulunmaktadır?
- Soru 8’de bulunan bit sayısı ile, bit sayısını arttırmaya gerek kalmadan kaç öğrenci daha sınıfa kabul edilebilir?
- 5 bit kullanarak, 7 ve -7 sayılarını ikilik tümleyen formatta ifade ediniz.
- 6 bit kullanarak ikilik tümleyen formatta -32 sayısını ifade ediniz.
- 101, 44, -128, 127 sayılarını ikilik tümleyen formatta 8 bit olarak ifade ediniz.
- 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.
- 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
- İkilik tümleyen formatında toplama işlemi yaparken hangi durumlarda taşma olmaktadır? Açıklayınız.
- Taşma yaratacak 9 bitlik işaretsiz ikilik tabanda iki sayı bulun.
- 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
- Aşağıdaki doğruluk tablosunu verilen ifadeye göre doldurunuz.

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

- 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.
- 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.

- 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?

- Çözücü (Decoder) Nedir? Nasıl çalışmaktadır?
- 5 girişli bir çözücünün (Decoder) kaç çıkışı bulunmaktadır?
- Seçici (Multiplexer) Nedir? Nasıl çalışmaktadır?
- 16 girişli bir seçicinin (Multiplexer) kaç çıktısı bulunmaktadır? Kaç adet seçme (select) bit’i bulunmaktadır?
- 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.

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

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

- 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.
- Aşağıda verilen kombinasyonel devrenin Verilog dilindeki gösterimini yazınız.

- Aşağıda verilen Verilog RTL kodunun karşılığı olan donanım’ın şematik çizimini yapınız.

- 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

- D tipi tutucu (latch) ve D tipi saklayıcı (Register) nedir? Arasındaki farklar nedir?
- Saat kristali nedir?
- Clock sinyali nedir? Ne için kullanılır?
- Periyodu 100 ns olan bir clock’un frekansı nedir?
- Ardışık devreler neden kullanılır? Neden kombinasyonel devreler ile bazı işlemler gerçekleştirilemiyor?
- 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.

- 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
- Bir RAM’in 100 adresi ve her bir adreste 32 bitlik saklama alanı bulunuyorsa, toplam RAM’in boyutu nedir?
- RAM (Random Access Memory) nedir? Bir kaç cümle ile açıklayınız.
- Bir RAM’in 16 bitlik adres girişi var, ve toplam boyutu 4 MB (Mega Byte) ise bir adreste kaç bitlik veri saklanıyordur?
- Bir RAM’in 16 bitlik adres girişi var, ve toplam boyutu 4 Mb (Mega bit) ise bir adreste kaç bitlik veri saklanıyordur?
- Statik ve Dinamik RAM’lerin karşılaştırınız.
- Tri-State buffer nedir? Ne amaç ile kullanılır?
- SRAM ve DRAM’in farkı nedir?
RISC-V İşlemcisi
- RISC-V işlemcisi Harvard Mimarisi ile geliştirilmiştir. Bu mimarinin getirdiği avantaj nedir?
- RISC ve CISC mimarileri nedir? Aralarındaki farkları anlatınız.
- Fetch, Decode, Execute, Memory Access ve WriteBack adımlarında hangi işlemler yapılmaktadır?
- 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
- Pipelining nedir?
- 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?
- 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. - Bir işlemci 400 MHz’de, CPI = 2.3 değeri ile 500 milyon işlem yapabilmesi için kaç saniye zaman gereklidir?
Labs
Homeworks
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.
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.
Tools
| Araç Adı | İçerik | Adres |
|---|---|---|
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ın | http://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 Makinesi | Bit 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/ |
Exams and Sample Questions
Vize
- Vize için örnek sorular
- Vize Soruları
- Vize Cevapları
Final
- Final için örnek sorular
- Final Soruları
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.
Von Neumann Mimari Simulatörü
Devre Simulatörü