Professional Documents
Culture Documents
Bilgisayar Yapıları
2021-2022 Güz
Mekatronik Mühendisliği
Bilgisayar Yapıları
Giriş
Bölüm -1-
Temel Kavramlar - Giriş
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Bilgisayarın tanımı
Elektronik Beyin (TDK)
Bu elektronik beyin, aritmetiksel ve mantıksal işlemlerden
oluşan bir işi, önceden verilmiş programa göre yapıp
sonuçlandıran elektronik bir araçtır. (”TDK”, 2015)
Özel amaçlı bilgisayarlar (Özel bir amaç için tasarlanmış ve
sadece o amaç için kullanılan bilgisayarlar, klasik hesap
makineleri, bankamatikler (ATM), tıpta ve endüstride
kullanılan çeşitli bilgisayar)
Genel amaçlı bilgisayarlar (Farklı yazılımları çalıştırabilen, farklı
amaçlarla kullanılabilen bilgisayarlar )
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
İlk Bilgisayar
Bugünkü bilgisayarların temeli John William Mauchly
tarafından 1945’de geliştirilen ENIAC’dır.
70.000 adet direnç, 10.000 adet kondansatör, 600 adet
anahtar, 19.000 adet elektron lambası, 50 ton ağırlık, 5 milyon
el ile yapılmış lehim
Saniyede 5.000 işlem, Hafızasında 200 sayı tutabiliyordu
Eşitlikleri karşılaştırabiliyor, çarpabiliyor, bölebiliyor,
toplayabiliyor, çıkartabiliyor ve karekökleri hesaplayabiliyordu
8 yıl hizmet (1947-1955)
Hidrojen bombası hesaplamalarında kullanıldı.
Delikli kartlardan veri okunması
Programlaması zor (6 operatör tarafından programlanıyor)
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
İlk Bilgisayar
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Bilgisayar ve Donanım
Bilgisayarın fiziksel ve elektronik yapısını oluşturan ana
birimlerin ve çevre birimlerin tümüne donanım denir
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Ana Donanım Birimleri
Anakart (Motherboard, mainboard)
İşlemci (CPU)
RAM
Sabit Disk (Harddisk)
Ekran Kartı (Graphics Card) vb?
Ek Donanım Birimleri
Ses Kartı
Ağ Kartı (Ethernet Kartı)
Yazıcı, Tarayıcı
Web Kamerası, Hoparlör, Mikrofon vb?
Bilgisayar Yapıları
Giriş
Donanım
Anakart
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Anakart, bir bilgisayarın tüm parçalarını üzerinde barındıran ve
bu parçalar arasındaki iletişimi sağlayan elektronik devredir.
İşlemci, kendisine gelen komut ve bilgileri uygun şekilde
işleyerek çıktıları ilgili birimlere aktarır. Bilgisayarda beyin
görevi görür.
İntel, AMD
i5, i7, i9, Xeon, Atom
32-bit, 64-bit
Hyper treading (çekirdek sayısının sanal olarak arttırılması)
Turbo boost (emniyet sınırları içerisinde çekirdek hızlarının
arttırılması)
RAM, işletim sistemi de dahil olmak üzere bilgisayarda aktif
olarak çalışan uygulamaların tutulduğu bellektir
Ana bellek, geçici bellek
512 MB, 1 GB, 2 GB, 4 GB
DDR2 - DDR3 - DDR4
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
ROM (Read Only Memory) ,sadece okunabilir bellek.
Üretici firma tarafından hazırlanır. Bilgileri okunabilir fakat
üzerinde değişiklik yapılamaz.
Bu bilgiler makineyi kapatma veya elektrik kesintisinden
etkilenmez veya silinmezler.
Farklı özelliklere sahip ROM bellekler kullanılmaktadır.
(PROM, EPROM, EEPROM)
BIOS (Basic Input Output System), bilgisayarın ilk açılma
işlevini yerine getiren yazılımdır
Donanım özelliklerini denetler ve işletim sisteminin doğru
yüklenmesini sağlar.
BIOS yazılımı eski model kartlarda ROM bellek üzerinde,
günümüzde EEPROM belleklerde tutulur
Bilgiler elektrik gittiği zaman bile silinmez.
BIOS pili, Award BIOS, Phoenix BIOS
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Sabit Disk, (Harddisk, HDD) işletim Sistemi de dahil olmak
üzere tüm bilgilerin kalıcı olarak depolandığı aygıttır.
Elektromekanik yapıdadır.
İkincil bellek olarak da adlandırılır.
Kapasitesi GB (Gibabyte) ve TB (Terabyte) gibi kavramlarla
ölçülür.
Dönüş hızları: 5400, 7200, 15000 rpm
SSD Disk (Solid State Disk) mekanik olmayan veri depolama
aygıtı.
Çok daha hızlı okuma ve yazma,
Daha dayanıklı,
Daha az elektrik, Daha az ısınma,
Yüksekfiyat ve kısıtlı kapasite
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Yongaseti (chipset), işlemci, önbellek, sistem veriyolu, çevre
birimleri gibi bilgisayar içindeki bütün bileşenler arasındaki veri
akışını denetler.
Chipset bir tip işlemcidir.
Kuzey köprüsü RAM, CPU ve ekran kartı arasındaki veri
iletişimini sağlar.
Güney köprüsü ise anakartın diğer arabirimlerini denetler.
(BIOS, IDE, SATA, USB vb.)
Bilgisayar Yapıları
Giriş
Donanım
Yongaseti
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Ekran Kartı (Graphics Card) işlemciden alınan verileri
monitöre görüntü sinyali olarak gönderen donanım.
256 MB, 512 MB, 1 GB, 2 GB
Paylaşımlı - Paylaşımsız
Onboard
Ati, Nvidia
Çıkış portları:
VGA (Video Graphics Array),
DVI (Digital Video Interface),
HDMI (High Definition Multimedia Interface)
DisplayPort (Yeni nesil görüntü aktarma teknolojisi)
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Monitörde görüntünün kaç piksel ile oluşturulduğu
çözünürlükle ilgilidir. Yüksek çözünürlüklerde piksel boyutu
küçülmekte ve görüntü detayları artmaktadır.
Çözünürlük dpi (dot per inch) ile ifade edilir ve bir inçlik alana
düşen nokta sayısıdır
Yine görüntülerin oluşturulmasında kullanılan renk detayları
da kullanılan bit sayısı ile belirlenmektedir
Ekran Boyutu: Köşegen uzunluğu ile ölçülür ve birimi inch’tir.
Frekans: ekranda görüntülenen bir görüntünün saniyede kaç
kez tekrarlandığını ifade eder, birimi Hertz (Hz)’dir.
Monitör (CRT, LCD, LED, IPS)
Teknoloji, güç tüketimi, tepki süresi, görüntüleme, fiyat
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Cache Bellek (Önbellek), çalışmakta olan programa ait
komutların ve verilerin geçici olarak saklandığı yüksek hızlı
hafızalardır.
1 MB, 2 MB, 4 MB, 8 MB ?
Yüksek maliyet
Bir uygulamayı ikinci kez çalıştırdığımızda, ilk açılışından çok
daha hızlı açılması (?)
Güç Kaynağı (Power Supply, PSU) 220 V şebeke gerilimini
sistemin çalışabilmesi için gerekli olan 5V - 12V gerilim
değerine dönüştürür
Arkasında soğutucu fan bulunur, 300 - 600 Watt
Kasa, bilgisayar bileşenlerini fiziksel etkilere karşı korumak,
bileşenlerin yerleştirileceği yuvalar içermek
Desktop, mini tower, midi tower, high tower, mount rack
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Ses Kartı (Sound Card) bilgisayarda analog ve dijital ses
işlevlerini yerine getiren elektronik birimdir.
Ağ Kartı (Network Interface Card ? NIC ) bilgisayarları ve
diğer cihazları ağa bağlamada kullanılan karttır. Ethernet kartı
olarak da bilinir.
Flash Bellek (USB Bellek) güç kesintisinde dahi içerdiği
bilgileri kaybetmeyen ve tekrar tekrar yazılıp silinebilen bir
bellek çeşididir
Yapısı RAM’lere, kullanımı Harddisk’lere benzer
Sessiz, hafif, hızlı erişim
USB 2.0 - USB 3.0
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Sistem Yolu (BUS), Anakart üzerinde bulunan ve bileşenlerin
birbiriyle haberleşmesini sağlayan tüm devrelere sistem yolu
adı verilir
3 kısımdan oluşur: adres yolu, veri yolu ve kontrol yolu.
Farklı veri yolları ana kart üzerinde farklı boyut ve farklı
renkleri ile birbirinden ayırt edilebilecek şekilde üretilmektedir
ISA (Industry Standard Architecture)
PCI (Peripheral Component Interconnect)
AGP (Advanced Graphics Port)
PCI Express
SATA (Serial Advanced Technology Attachment)
USB (Universal Serial Bus)
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayarın Performansı)
İşlemci hızı ve ön bellek miktarı
Ana kart hızı
RAM bellek türü ve büyüklüğü
Sabit disk kapasitesi ve hızı
Ekran kartı türü ve büyüklüğü
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayarın Çeşitleri)
Ana Bilgisayarlar (Sunucu, Server)
Kişisel Bilgisayarlar (PersonalComputer? PC)
Dizüstü Bilgisayar (Notebook)
Tablet Bilgisayar
Mini Bilgisayarlar (Netbook)
Bilgisayar Yapıları
Giriş
Donanım
Bilgisayar ve Donanım
Mikroişlemci
Sadece CPU
Genel amaçlı, çok yönlü
Pahalı
ROM, RAM, I/O ile tasarlanır
Mikrodenetleyici
CPU, RAM, ROM, I/O, Timer bulunur
Özel amaçlıdır
Ucuz
Tasarım gerekmez
Alarmlı saat, mikrodalga fırın, bulaşık makinası, buz dolabı,
ABS, dijital kamera vb
Bilgisayar Yapıları
Giriş
Yazılım
Bilgisayar Yazılım
Elektronik aygıtların belirli bir işi yapmasını sağlayan
programların tümüne yazılım denir.
Sistem Yazılımları
İşletim Sistemleri (Operating Systems)
Aygıt Sürücüleri
Derleyiciler (Compilers)
BIOS
Uygulama Yazılımları
MS Office,
Photoshop,
Winamp,
Öğrenci İşleri Otomasyonu?
Bilgisayar Yapıları
Giriş
Yazılım
İşletim Sistemi
Bilgisayar kullanıcısı ile bilgisayarı oluşturan donanım
arasındaki iletişimi sağlayan, aynı zamanda diğer uygulama
yazılımlarını çalıştırmaktan sorumlu olan sistem yazılımı.
Aygıt yönetimi
Bellek yönetimi
İşlem yönetimi
Dosya yönetimi
Bilgisayar Yapıları
Giriş
Yazılım
Bit-Byte Kavramları
1 Byte= 8 bit
1 Kilobyte(KB) = 1024 Byte
1 Megabyte(MB) = 1024 KB
1 Gigabyte(GB) = 1024 MB
1 Terabyte(TB)= 1024 GB
Petabyte, Exabyte, Zettabyte, Yottabyte?
Bilgisayar Yapıları
Giriş
Yazılım
Dosyalar
İsim olarak 2 parçadan oluşur.
Dosya adı
Dosya uzantısı (Dosyanın türünü belirler)
Dosya adları Windows’ta 255 karakter uzunluğunda olabilir,
uzantılar ise genelde 3 karakter uzunluğundadır
Bilgisayar Yapıları
Giriş
Yazılım
Bilgisayar Yapıları
2021-2022 Güz
Mekatronik Mühendisliği
Bilgisayar Yapıları
Giriş
Bölüm -1-
Temel Kavramlar - Giriş
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Ders Konuları
Bilgisayar Mimarisi
Bilgisayarın bileşenleri
İşlemci, veri yolu ve kontrol birimi
Önbellek
Komut kümesi özellikleri
Komut kümesi adresleme modları
Mikroişlemci organizasyonu
CISC ve RISC mimarisi
Pipelining
Komut seviyesinde paralel çalışma
Kontrol birimi
Multicore işlemciler
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Bilgisayar
Bilgisayar bir veri işleme makinesidir ve aşağıdaki işlevleri
yerine getir.
Veri işleme
Veri depolama
Veri iletişimi
Kontrol
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Bilgisayar
Bilgisayarın temel bileşenleri:
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Bilgisayar Mimarisi
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Harvard Mimarisi
Komutlar ve veriler için ayrı hafıza adresleri kullanır.
Komutlar ve veriler için aynı anda aktarım yapılmasına izin
veren ayrı taşıtları vardır.
İşlemcinin bir komutu tamamlamak için bir saat döngüsüne
ihtiyac duyar.
İki taşıt olduğu için kontrol ünitesi daha karmaşıktır ve bu da
tasarımı ve geliştirmeyi zorlaştırır, maliyet artar.
Veri aktarımı ve komut getirme işlemleri aynı anda
gerçekleştirilebilir.
Mikrodenetleyici ve sinyal işlemede kullanılır.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Moore Yasası
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Register
CPU’nun komutları yerine getirebilmek için çalışma (geçici
depolama) alanlarına ihtiyaç duyar.
Bu depolama birimleri register olarak adlandırılır.
Resgisterlar bellek hiyerarşisindeki en üst düzey bileşenlerdir.
Resgisterların sayısı ve işlevleri bilgisayarlar arasında değişiklik
gösterir.
Register organizasyonu en önemli tasarım kararlarından biridir.
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Komutlar
CPU, makine kodunu yalnızca makine formatı olarak
adlandırılan ikili formatta çalıştırabilir.
Bir makine komutu aşağıdaki bilgileri belirtir:
Ne yapılması gerekiyor (operasyon kodu)
İşlemin kime uygulandığı (kaynak işlenenler)
Sonuç nereye gidecek (hedef işlenen)
İşlem bittikten sonra nasıl devam edilir (bir sonraki komutun
adresi).
Makine komutları dört tiptir:
Aritmetik ve mantıksal işlemler.
Veri Hareket Komutları (Data Movement Instructions)
Bellek ve CPU kayıtları arasında veri aktarımı.
G/Ç aktarımı.
Kontrol Komutları
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Makine Kodu
İşlemciler mimarileri gereği sadece ikili sayı sistemi ile
gönderilen komutları anlamaktadır.
Dolayısıyla işlemciler yüksek seviyeli diller (C, C++, Pascal,
vb.) ile yazılmış komutları işletemezler.
İşlemcilere ikili sayı sistemi ile gönderilen komutlara makine
kodu adı verilir.
Her işlemcinin gerçekleştirebileceği belirli sayıda komut
bulunmaktadır.
Bu komutların bütününe Komut Seti adı verilir
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Assembly Dili
İkili sayı sistemi bizlerin çalışması için uygun değildir.
Onun yerine anlamlı kelirmeleri tercih ederiz.
Örneğin bir hafıza hücresindeki veriyi başka bir hücreye
taşımak için move, toplama işlemi için add, çarpma işlemi için
mul, çıkarmada ise sub kelimelerini kullanırız.
Bu temsili komutların hepsi Assembly (Sembolik) dilini
oluşturur.
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Assembler
Bu dil ile program yazmak makine diline göre çok daha
kolaydır.
Fakat işlemci sembolik dil ile yazılmış olan komutları
anlayamaz.
İşlemciye gönderilmeden önce assembly dili ile yazılmış olan
kodların makine diline çevrilmesi gerekir.
Assembly dilini makine koduna çeviren programlara Assembler
adı verilir.
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Genel Bilgiler
İşlemci hızı ve bilgisayar hızı farklı kavramlardır.
Hesaplama hız birimi işlem/saniye
Hesaplamak çok zordur, komutların sayısı çok olduğu için
hangi komut seçilecek???
Toplama işleminde A işlemcisi B’den, çarpma işleminde B
işlemcisi A’dan hızlı olabilir.
Günümüzde yaygın olarak FLOPS (FLoating-Point Operations
PerSecond) kullanılmaktadır.
Yöntemler:
Gibson Yöntemi
Knight Yöntemi
Benchmark Problem
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Gibson Yöntemi
Y.C.Gibson bilgisayarda çözülen problemin türünün,
bilgisayarın hızını etkilediğini belirlemiş ve buna göre
bilgisayarda çözülecek olan problemleri belli türlere (1959)
ayırmıştır.
Bilimsel-teknik, istatistik, mantıksal vb. gibi problemler
Bu problem alanlarının her biri bazı işlemlerin çok, diğerlerinin
ise az kullanılması ile farklılaşmaktadır
Örneğin bilimsel-teknik problemler daha çok aritmetik ve
mantık işlemleri kullanır,giriş ve çıkış işlemleri burada az
kullanılmaktadır. İstatistiksel problemler alanında ise giriş-çıkış
işlemlerinin belirli ağırlığı mevcuttur.
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Gibson Yöntemi
Bilgisayarın çalışama süresinde bütün işlemlerin yürütülmesi
toplam ihtimali %100 kabul edilir
Ayrı ayrı işlemlerin ağırlıkları her bir problem alanı için
hesaplanabilir.
Örneğin bilimsel ve teknik problem alanında toplama/çıkarma
işleminin ağırlığı 0.33,çarpmanın ki 0.6 ve bölmenin ki 0.02’dir.
Bu ağırlıklar her bir problem alanı için önceden belirlenmiştir.
ti , i. işlemin komutu yerine getirmek için harcanan süredir ve
bilgisayar üreticisi tarafından hazırlanan el kitabında belirtilir.
gi , Gibson Karışımı, yani işlemin ağırlığı ve n ise bilgisayarın
yaptığı işlemlerin sayısıdır.
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Knight Yöntemi
K.E.Knight bilgisayar hızını basit bir şekilde hesaplamak için
bir takım denklemler geliştirdi(1966).
Yöntem, tipik bir problemin tipik bir programa
dönüştürülmesini ortalama olarak yansıtır.
Fakat bu yöntem, programcıya ve programın bilgisayarın iç
mimarisine ne kadar uygun olarak hazırlandığına bağlıdır.
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Benchmark Problem
Küçük standart programların kullanılması olarak bilinir.
Bu programlar bilgisayar kullanıcıları komitesi (SPEC, System
Performance Evalnation Cooperative) tarafından belirlenir ve
Benchmark standart programları olarak adlandırılırlar.
Örneğin bir işlemcinin tamsayı ile çalışma performansını
belirlemek için SPECint92 , SPECint95; kayan noktalı çalışma
performansı için ise SPECfl92 veya SPECfl95 Benchmark
programları kullanılmaktadır.
Benchmark yönteminde hız belli bir ölçüde yazılıma bağlıdır
Programlama dili (assembly, yüksek seviyeli diller)
İşletim sistemi
Derleyici (compiler), yorumlayıcı (interpreter)
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Benchmark Problem
The complexity of the algorithm is reflected by (Tb2 − T 1)/T 0
T 1 is the time needs to evalute function F for 200000 times
T 2 is the time taken by algorithm to solve function F with
200000 function evaluations
T 0 is the time calculated by running the following test
problem:
f or i = 1 : 1000000
x = 0.55 + (double)i; x = x + x; x = x/2; x = x ∗ x;
x = sqrt(x); x = log(x); x = exp(x); x = x/(x + 2);
end;
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Boole Cebri
Bilgisayar Yapıları
Giriş
CPU ve Komut Yürütme
Özet
Bir bilgisayar, ana belleğinde saklanan bir dizi yönergeyi
(program adı verilen) tekrarlar.
Programlar tarafından belirtilen veri işleme işlemlerini
gerçekleştirir.
İnsan müdahalesine gerek kalmadan programları otomatik
olarak çalıştırır.
İşlemleri çok yüksek hızlarda gerçekleştirebilir.
Çok miktarda veri saklayabilir ve kullanabilir.
Verimli bir şekilde iletişim kurabilir.
Program ve verileri aynı şekilde temsil eder, bu da esnekliğe
yol açar.
Bilgisayar Yapıları
Bilgisayar Yapıları
2021-2022 Güz
Mekatronik Mühendisliği
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
CISC Mimariler
Bu mimaride temel ideoloji, her bir problemi minimum sayıda
komut kullanan programla çözmektir.
Temel işlemler için gereken komutlarla birlikte, düşünülen
uygulama alanında yoğun olarak karşılaşılması olası ve
nispeten karmaşık işlemler için de komutlara sahiptirler.
En basit CISC işlemcilerin bile kullandığı komut sayısı 100
civarındadır. Genel amaçlı CISC işlemcilerin komut sayıları ise
birkaç yüze ulaşabilmektedir
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
RISC Mimariler
Bu mimaride temel ideoloji, yalnızca en temel lojik,
matematik, kontrol ve transfer işlemlerini gerçekleştirebilecek
minimal bir komut kümesi kullanılmasıdır.
Her bir komutun basit donanımla ve yüksek hızlarda
gerçekleştirilebilmesine dikkat edilir.
Komutların derleyiciler için kolay olması önemlidir.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Adres Sayısı
0, 1, 2 ve 3 işlenenli komutlar kullanılabilir.
İlk işlenen genellikle hedef olur. (intel ve motorola ters)
Genelde, üç işlenen kullanıldığında, en az biri register olur.
Eğer iki adresli buyruklar kullanılıyorsa, bir adres genellikle bir
register olur. (OP mem, mem) şeklinde bir kullanım geçerli
değildir. Bir bellek bölgesinde başka bir bellek bölgesine veri
aktarımı yoktur.
Sabit bir değer doğrudan Segment Registerine atanamaz.
Aritmetik ve mantık komutları daha çok adrese ihtiyaç duyar.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Adresleme Modları
Adresleme Modları, bir register’ın veya bellek alanının adresini
belirleyecek olan bilgilerin, başvurulan komutun adres
alanlarında gösterilebilme biçimlerini tanımlar.
Adresleme Modları, farklı bilgi işlem ortamları için bilgi
adresleme esnekliği sağlamak amacıyla geliştirilmiş
mekanizmalardır
Değişik adresleme modları kullanmakla, adresleme yöntemleri
esnekleştirilir ve adreslenebilen bellek alanı genişletilebilir.
Fakat bunun bedeli olarak adres hesaplama için gereken
donanım ve zaman artar. Bu nedenle, bir mikroişlemci için
adresleme modları seçilirken, hangi modun maliyet ve
performans açısından ne getirip ne götüreceğini ciddi bir
şekilde değerlendirmek gerekir.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Komut Türleri
Komut türleri genel olarak 3 grupta düşünülebilir:
Veri Hareket Komutları (Data Movement Instructions)
Aritmetik ve Lojik Komutlar
Kontrol Komutları
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Kontrol Komutlar
Komutların çalıştırıldığı sıralamayı değiştirmek için kullanılır.
Şartlı Atlama,
Şartsız Atlama,
Çağırma formlarındadır
Program Counter (PC) değerini değiştirirler.
PC, her zaman bir sonraki erişilecek komut adresini tutar.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Kontrol Komutlar
Taşıma, her biri n basamaklı olan iki işaretsiz sayı
toplandığında sonuç n yada n+1 basamak olabilir. n+1
basamak olduğunda taşıma biti 1 olur.
Am, Am-1,..., A1, A0 ile Bm, Bm-1,..., B1, B0 ile parça parça
toplandığında Ai,Bi toplamından kalkmış olan taşıma
Ai+1,Bi+1 toplamında elde olarak kullanılır.
Taşma, her biri n basamaklı işarette dahil iki sayı toplama
yapıldığında sonuç n yada n+1 olabilir. n+1 olduğunda taşıma
n. değil (n-1). bitten kalkmış olur.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Bilgisayar Yapıları
2021-2022 Güz
Mekatronik Mühendisliği
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Motivasyon
Neye ihtiyacımız var?
İşlemciyle karşılaştırılabilir bir hızda çalışan, çok büyük
programları ve verileri saklamak için bir hafızaya
Gerçek:
Bir hafıza ne kadar büyükse, o kadar yavaş olur;
Daha hızlı bir hafızada bit başına düşen maliyet artar.
Çözüm:
Birleşik bir bellek sistemi kurmak
Yani küçük ve hızlı bir belleği büyük ve yavaş bir bellekle
birleştirerek büyük ve hızlı bir bellek gibi davranmasını
sağlamak
Bu iki seviyeli ilke, birçok seviyeden bir hiyerarşiye
genişletilebilir.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Bellek Hiyerarşisi
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Bellek Hiyerarşisi
Kapasite artar
Erişim süresi artar
Bit başına maliyet düşer
CPU tarafından erişim sıklığı azalır.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Bellek Hiyerarşisi
İşlemci ile aralarındaki temas şekillerine göre:
İşlemci ve ana bellek ile direkt temasta olan Önbellek (Cache)
İşlemci, önbellek ve yardımcı bellekle direkt temasta olan Ana
bellek (Esas bellek, Main Memory)
Yalnız Ana bellekle direkt temasta olan Yardımcı bellek
5 ayrı bellek çeşidi, 3 ayrı bellek alt sistemi:
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Ön Bellek
Önbellek, ana bellek ile CPU arasına yerleştirilen çok hızlı bir
bellektir.
Programın ana bölümlerini ve verilerini tutmak için kullanılır.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Önbellek Tasarımı
Kopyalanan bloğun boyutu ve niteliği, önbellek dolu olduğunda
hangi bloğun kaldırılacağı dikkatlice tasarlanmalıdır.
Önbellek blok boyutu (çizgi boyutu).
Toplam önbellek boyutu.
Haritalama işlevi.
Yedek yöntem.
Yazma politikası.
Önbellek sayısı ve biçimi:
Tek, iki veya üç seviyeli önbellek.
Birleştirilmiş ve bölünmüş önbellek.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Önbellek Organizasyonu
Önbellek kullanılırken bir verinin önbellek üzerinde nereye
yazılacağını belirleyen farklı yöntemler bulunmaktadır:
Direkt Haritalama (Direct Mapping), veri önbellek üzerinde tek
bir yere yazılabilir.
Asosyatif Haritalama (Associative Mapping), veri önbellek
üzerinde birden fazla yere yazılabilir.
Grup Asosyatif (Set Associative), veri önbellekteki her yere
yazılabilir. Bu iki yöntemin bir araya getirilmesinden oluşan ve
önbellek uygulama şartlarını gerek hız gerekse donanım sarfiyatı
açısından karşılayabilen ve en yaygın olarak kullanılan yöntem.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Direct Mapping
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Associative Mapping
Hash tablosuna bilgi yerleştirme gibi çalışır.
Lineer, Quadratic, Double hashing
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Önbellek Organizasyonu
Önbellek stratejileri, merkezi işlemcinin Bellekten Okuma /
Belleğe Yazma işlemlerinde önbellekle çalışmasının nasıl
gerçekleşeceğini belirlerler. Bu stratejiler 3 gruba ayrılır:
Okuma Stratejisi
Yazma Stratejileri
Hemen Yazma Stratejisi
Geri Yazma Stratejisi
Yenileme Stratejileri
Okuma Stratejisi çok basittir. İşlemci bellekten okuma için
önce önbelleğe başvurur. Aradığı bilgiyi bulduğunda (Cache
Hit) ana belleğe başvurmaksızın işini devam ettirir. Aradığı
bilgiyi önbellekte bulamadığında ise (Cache Miss), ana
bellekten okuma yapar ve bir sonraki başvurular için okumuş
olduğu bilginin bir kopyasını da önbelleğe koyar. Bu yolla
önbellek doldurulur.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Ana Bellek
İşlemci ile direkt (önbellek kullanılmadığında) veya önbellek
üzerinden temastadır.
Sadece Okunabilir Bellek (Read Only Memory : ROM)
Rasgele Erişimli Belleği (Random Accsess Memory : RAM)
Hem ROM bellek hem de RAM bellek rasgele erişimli
belleklerdir.
Rasgele Erişimli ifadesi, ana belleği oluşturan hücrelerin
herhangi birine herhangi bir anda direkt olarak
başvurulabileceği anlamına gelmektedir.
Okuma ve yazma süresi bütün hücreler için aynıdır.
Ana bellekler aslında Dinamik RAM’lerdir. Dinamik RAM’ler:
Statik RAM’e kıyasla daha yavaş
Kapasiteleri yüksektir
Az enerji tüketirler.
Birim boyuta kapladıkları alan azdır.
Yenilemeye ihtiyac duyarlar.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Sanal Bellek
RAM belleklerde o anda aktif olarak çalışan programlara ait
dosyalar saklanır. Eğer o anda çok sayıda program aktif olarak
kullanılıyor ve RAM kapasitesi bunlara yetmiyorsa, RAM
öncelikli olarak üzerinde çalışılmakta olan programlara ait
dosyaları üzerinde tutarken açık fakat o anda kullanılmayan
programlara ait dosyaları Hard Disk’e yönlendirir (Paging).
Böylece Hard Diskin belli bir bölümünü RAM olarak kullanır
ve bu bölüm Sanal Bellek olarak isimlendirilir.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Veri Transferi
İşlemci < −− > Önbellek (Komut/Operant)
Önbellek < −− > Ana bellek (Blok)
Ana bellek < −− > Yardımcı bellek (Sektör/Sayfa/Segment)
Yardımcı bellek < −− > Arşiv bellek (Dosya)
Ana bellek ile önbellek arasında veri aktarımı her zaman bir
blokta yapılır.
Bilgisayar Yapıları
Giriş
Bellek Sistemi
Bilgisayar Yapıları
2021-2022 Güz
Mekatronik Mühendisliği
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Veri Taşıtları
Adres Taşıtı, hangi birimin (bellek alanlarından birisinin mi
veya çevre birimlerinin portlarından birisinin mi) işlemci ile
bilgi iletişimine gireceğini bildiren adresleri taşır. Diğer bir
tanımla, CPU ile ana hafızayı birbirine bağlayan ve ana
hafızadaki belirli adresleri tanımlamak için kullanılan iletken
teller adres taşıtını oluşturur.
Veri Taşıtı, adres taşıtı ile belirlenmiş olan birimle işlemci
arasında veriyolu oluşturur.
Kontrol Taşıtı, adreslenmiş olan birimin (SLAVE) ne
yapacağını bildiren sinyaller taşır. Bu sinyallere göre söz
konusu birim, merkezi işlemci (CPU) veya başka bir yöneten
birim (MASTER) tarafından veri taşıtına koyulmuş olan bilgiyi
alır (Yazma-Write) veya kendi içerisindeki bilgiyi veri taşıtına
koyar (Okuma-Read).
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Veri Taşıtları
DMA (Direct Memory Access-Doğrudan Belleğe Ulaşım): Bir
çevre birimi ile RAM bellek arasında büyük gruplar halinde
bilgi transferi yapılması gerektiğinde, bu işi genellikle merkezi
işlemcinin yerine DMA birimi yapar.
Bu durumda, işlemci ile çevre birimleri arasında dönmesi
gereken olaylar DMA ile çevre birimleri arasında döner
Sistem taşıtları PCI mimarisinde yapılmakta olan günümüz
modern bilgisayarlarının ana kartlarında kullanılmakta olan
daha geliştirilmiş ve gerektiğinde MASTER gerektiğinde ise
SLAVE olarak davranabilen DMA’lar, Busmaster veya Ultra
DMA olarak tanımlanmaktadırlar.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Veri Taşıtları
Kontrol Kodu: İşlemcinin çevre birimlerine gönderdiği veri, her
zaman operant tipi (üzerinde işlem yapılmakta olan) veri
olmayabilir. Bazen çevre birimlerinin neleri nasıl yapacakları
hakkında kontrol bilgileri de veri taşıtı üzerinden iletilir. Bu
tür bilgiler, Kontrol Kodu olarak isimlendirilir.
Bazen özel durumlar oluştuğunda işlemci, çevre biriminin
Durum Kodunu da veri taşıtı üzerinden alır.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Taşıt Bağlantıları
Taşıt bağlantıları iki temel prensibe göre gerçekleştirilmelidir
Bütün birimler lojik olarak birbirine bağlanabilmelidirler
Değişik tipteki birimler farklı bağlantı şekillerini gerektirebilirler
Değişik birim tipleri, aşağıdaki sınıflara bölünebilir,
Esas bellek
Giriş/Çıkış (Çevre Birimleri)
Merkezi İşlemci
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Taşıt Bağlantıları
Veri taşıtları genellikle çift yönlü (Bidirectional) olarak
yapılandırılırlar.Hher bir zaman diliminde aşağıdaki yönlerden
birisinde bilgi taşır,
Girişten belleğe (İşlemci veya DMA üzerinden)
Bellekten çıkışa (İşlemci veya DMA üzerinden)
Bellekten işlemciye veya DMA’ya
İşlemciden veya DMA’dan belleğe
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Taşıt Bağlantıları
Bellek Bağlantısı, belleğin MASTER’dan (bilgi transferini
yöneten birimden - İşlemci veya DMA) adres almak, kontrol
sinyalleri almak, veri almak ve MASTER’a veri göndermek
görevlerini destekler
Giriş/Çıkış Bağlantısı, çevre birimleri portlarının MASTER’dan
adres almak, kontrol sinyalleri almak, MASTER’dan veri alıp
çevre birimlere vermek, çevre birimlerden veri alıp MASTER’a
vermek ve gerektiğinde işlemciden kesme yolu ile hizmet
istemek görevlerini destekler
İşlemci Bağlantısı, İşlemcinin; bellekten komut almak,
bellekten ve çevre birimlerin portlarından veri almak, çevre
birimlerden kesme sinyalleri almak, belleğe ve çevre birimlerin
portlarına adres, veri ve kontrol sinyalleri göndermek gibi
faaliyetleri destekler.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Fonksiyonel Birimler
Çevre Birimi, giriş veya çıkış işlemini yerine getiren fonksiyonel
birimdir
Çevre Birimi Kontrolörü, çevre birimini yöneten ve merkezi
işlemci ile bilgi (komut, veri, kontrol, durum) alışverişini
gerçekleştiren yerel kontrol devresidir.
Port Grubu, her bir çevre birimi işlemci ile iletişimde
bulunabilmek için Giriş, Çıkış, Kontrol ve Durum portlarına
sahip olmalıdır. Bazen bu portların yerine aynı amaca yönelik
registerlar kullanılır. Bu durumda iletişim tek bir port
üzerinden yapılır. Söz konusu porta gelen bir bilginin hangi
registera gönderileceği ise bu porta ilave edilmiş olan adres
bitleri ile veya başka bir porta verilen adres kodu ile belirlenir.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Fonksiyonel Birimler
Çevre Biriminin Giriş Portu, işlemcinin veri taşıtı üzerinden
gönderdiği bilgiyi almak için kullanılır. İşlemci taşıta yeni veri
koyduğunu çevre birimine bildirir. Çevre birimi bu veriyi kendi
portuna alır. Bazı sistemlerde veriyi porta yazma işlemini de
işlemci gerçekleştirir.
Çevre Biriminin Çıkış Portu, çevre biriminden işlemciye veri
taşıtı üzerinden veri göndermek için kullanılır. Çevre Birimi
Kontrolörü porta yeni veri koyduğunu işlemciye bildirir.
İşlemci bu bilgiyi veri taşıtından ve porttan alır.
Giriş/Çıkış Portu, modern mikroişlemcilerde hem giriş hem de
çıkış için çift yönlü portlar kullanılmaktadır. Bu durum ise,
sisteme çok büyük bir uygulama esnekliği kazandırır.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Giriş/Çıkış Portları
Paralel Port
Seri Port
USB Port
PS/2 Port
VGA Monitor Port
Ethernet Port
Modem RJ-11 Port
Firewire IEEE 1394 Port
Audio Portu
S-Video Port
DVI Monitor Port
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Fonksiyonel Birimler
Kontrol Portu, İşlemci, çevre biriminin ne yapması gerektiğini
bildiren kontrol kodunu bu registera gönderir veya yazar.
Kontrol portu da aslında bir giriş portudur.
Durum Portu, işlemci ile uyumlu bir şekilde çalışabilmesi için,
çevre biriminin gerekli çalışma koşullarını sağlıyor olması
gerekir. Bu nedenle, çevre biriminin kontrolörü ait olduğu
birimin durumunu durum portuna yazar. Genellikle işlemci, bir
çevre birimi ile alışverişe başlamadan önce onun durum
portunu okur ve çevre biriminin gereken durumda
bulunduğuna emin olduktan sonra veri aktarımına başlar. Aksi
halde hata mesajı verir, örneğin, Klavye bağlı değil, Yazıcıda
kağıt yok, Boş disk alanı yok?v.s. Durum portu da aslında bir
çıkış portudur.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Taşıt Hakemliği
Genellikle taşıtın kontrolünü sadece merkezi işlemci değil,
başka diğer birimlerde üstlenebilmektedir. Bunlardan en çok
bilineni DMA birimidir.
Eğer bir sistemde birkaç DMA varsa, bu DMA’lar taşıtların
kullanımı hususunda gerek işlemci ile gerekse birbirleri
arasında rekabete girerler.
Bu durumun önlenmesi için, Taşıt Hakemliği denilen bir
mekanizma kullanılır.
Taşıt Hakemi, bütün MASTER’lardan gelen talepleri kabul
eder. Fakat herbir zaman diliminde yalnızca bir MASTER’ın
taşıtı kontrol etmesine müsaade eder ve bunu yaparken
MASTER’ın öncelik seviyesini dikkate alır.
Bilgisayar Yapıları
Giriş
Kavramlar ve Tanımlar
Bilgisayar Yapıları
2021-2022 Güz
Mekatronik Mühendisliği
Bilgisayar Yapıları
Merkezi İşlemci Birimi
Kontrol Birimi
CPU’nun kontrol birimi, bilgisayardaki bütün işlemleri kontrol
eden birimdir.
Kontrol birimi, gerçekleştireceği işleme ait komutları esas
bellekten alır; bu komutları çözer ; gerçekleştirilecek görevlerin
neler olduğunu anlamak için komutları yorumlar; ve komutların
gerçekleştirilmesine yardımcı olacak bilgisayarın diğer
birimlerine uygun kontrol sinyallerini gönderir.
CPU ile CPU’nun çevre birimleri (hafıza dahil) arasındaki veri
akışını kontrol eder.
Bütün işlemler için, ihtiyaç duyulacak olan zamanlama ve
kontrol sinyallerini üretir.
Bilgisayar Yapıları
Merkezi İşlemci Birimi
Register
Bir CPU, herhangi bir program çalışmaya devam ederken
verilerin geçici olarak depolanacağı registerlar içerir.
İhtiva edilen register sayısı her bir işlemcide farklı
olabilmektedir.
Üç gruba ayrılır:
Genel amaçlı registerlar
Akümülatör
Özel amaçlı registerlar
Bilgisayar Yapıları
Merkezi İşlemci Birimi
Register (Akümülatör)
Akümülatör, çoklu fonksiyonlara sahip olan en önemli genel
amaçlı registerdır.
Veri transferlerinde, aritmetik ve lojik işlemlerde en verimli
registerdır.
CPU ile diğer birimler/portlar arasındaki veri transferi
Akümülatör vasıtasıyla gerçekleştirilir.
Bilgisayar Yapıları
Merkezi İşlemci Birimi
Status Register
Carry, 8bit işlem sonucu 9 bit ortaya çıkarsa
Zero, aritmatik veya mantıksal işlemin sonucu sıfır ise
IRQ, Kesme yetkisizliği, kesmeleri dikkate alma.
Desimal, işlemler BCD yada ikili modda yapılacak
Break, Program durduğunda
Overflow, işlem -128,+127 aralığını geçiyorsa
Negative,sonuç negatif ise
Bilgisayar Yapıları
Merkezi İşlemci Birimi
Belleğe Yazma
Bilgisayar Yapıları
Merkezi İşlemci Birimi
Bellekten Okuma
Bilgisayar Yapıları
Bilgisayar Yapıları
2021-2022 Güz
Mekatronik Mühendisliği
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Motivasyon
Bilimsel hesaplama ve mühendislik alanlarında ortaya çıkan
problemlerin karmaşıklıkları devamlı olarak artmaktadır.
Performansı daha yüksek olan bilgisayar arayısı devam
etmektedir
Neden mikroişlemci üreticileri daha hızlı tek işlemci
üretmiyorlar?
Neden paralel hesaplama sistemleri yapılıyor?
Neden seri olarak yazdığımız programlar çoklu işlemcileri
kullanacak şekilde paralel programlara çevrilmiyor?
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Genel Bilgiler
1986 dan 2002 ye kadar mikroişlemci performans her yıl
ortalama olarak %50 artarken 2002’den sonra bu artış %20’ye
düşmüştür.
2005’ten sonra bir den fazla çekirdeğe sahip mikroişlemciler
üretilmeye başlanmıştır.
Bir den fazla çekirdeğe sahip mikroişlemciler seri olarak
gerçekleştirilen programlar üzerinde ciddi performans artışı
göstermeyecektir.
Çünkü programlar tek işlemci üzerinde çalışmak üzere
planlanmıştır. Sistemde bir den fazla işlemci olması
performansı artırmayacaktır.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Örnek
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Örnek
Toplam 24 sayının toplanacağını ve sekiz çekirdeğimiz
olduğunu varsayalım.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Örnek
Çekirdeklerden bir tanesi master core olmak zorundadır.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Örnek
Aynı örneği farklı bir şekilde yapabiliriz.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Örnek
İki şekilde yapılan örneği dikkate alırsak birinci yöntemde n-1
adımda, ikinci yöntemde de yaklaşık 2n adımda
gerçekleştirildiği görülmektedir.
1000 çekirdekli bir makine ile işlemleri gerçekleştirdiğimizi
düşünürsek birinci yöntemde 999 adet veriyi alma ve toplama
işlemi yaparken ikinci yöntemde 10 adımda bitecektir. Arada
100 kat fark vardır.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Moore Yasası
1965 yılında Gordon Moore tarafından formüle edilmiştir.
Bu yasaya göre devre karmaşıklığı ve işlemci performansları
her 18 ay iki kat artmaktadır.
İşlemci performanslarını
Saniyedeki Komut Sayısı, Instructions Per Second (IPS)
Saniyede gerçeklestirilen Kayan Nokta Sayılı işlem Sayısı,
Floating-Point Operations Per Second (FLOPS)
Gerçek uygulamalar üzerinde ölçmeye çalışan güçlü benchmark
yazılımları
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Flynn Taksonomisi
Michael J. Flynn tarafından 1966 yılında ortaya konan
sınıflandırma
Bilgisayar mimarileri komut ve veri olmak üzere iki bağımsız
boyut üzerinden sınıflanırlar
Bu boyutlardan her biri tek veya çok olmak üzere iki olası
durumda olabilir.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Paralel Bilgisayarlar
Paralel bilgisayarlar olarak adlandırılan günümüz süper
bilgisayarları Flynn’nın sınıflandırmasına göre SIMD ve MIMD
olarak iki temel prensipte tasarlanmaktadır.
Bu sistemler çok çekirdekli işlemciler, ortak ağa bağlı birçok
bilgisayar, özel bir donanım veya bunların herhangi bir
kombinasyonu olabilir.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
İşlemcilerin Organizasyonu
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Paralel Algoritmalar
Algoritma, verilen bir problemi çözmek için uygulanan bir
yöntem ve izlenecek adımlardır.
Giriş, Çıkış, Sonlu, Doğru, Genel, Açık ve Verimli olmalı
Gerçekleştirimleri, çalışma alanları, karmaşıklıkları gibi farklı
özelliklerine göre sınıflandırılabilirler.
Seri ve paralel algoritmalar şeklinde yapılan sınıflandırma
algoritmaların gerçekleştirimlerine göre yapılmaktadır.
Seri algoritmalar seri hesaplama sistemleri üzerinde, paralel
algoritmalar paralel hesaplama sistemleri üzerinde bir
problemin çözümünü gerçekleştiren işlem adımlarıdır.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Paralel Algoritmalar
İlk olarak çözümün paralelleştirmeye uygun olup olmadığına
bakılmalı
Daha sonra eş zamanlı çalışacak işlem adımları belirlenmeli
İşlemciler arası senkronizasyon planlanmalı
Mümkün olduğunca işlemciler arası haberleşmelerden
kaçınılmalı
En uygun işlemci sayısı belirlenmelidir
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Bölümleme (Partitioning)
Verilen bir problemi hemen hemen eşit büyüklükte özdeş
olmayan birkaç alt probleme parçalayan ve bu alt problemleri
eş zamanlı olarak çözen bir metottur.
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Amdalh Yasası
Amdalh yasasına göre bir programın paralelleştirilmesi ile elde
edilecek hızlanma o programın seri kısımlarının programda ne
kadar yer kapladığına bağlıdır.
Eşitlikte ψ hızlanma, p işlemci sayısı, f programın
paralelleştirilemeyen kısmının programın toplam çalışma
zamanına oranıdır ve 0 ≤ f ≤ 1 arasında bir değerdir. Amdalh
yasasına göre paralelleştirme sadece az sayıda işlemci için ya
da f ’in çok küçük olduğu problemlerde kullanışlıdır. Bu
yüzden paralel programlama ile f değeri mümkün olduğu
kadar küçük tutulmaya çalışılır.
1
ψ≤ 1−f
(3)
f+ p
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Amdalh Yasası
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Gustafson Yasası
Yeterince büyük bir problemin verimli bir biçimde
paralelleştirilebileceğini öngörmektedir
Bu yasa paralel işlemciler üzerindeki sabit hesaplama yükünü
kaldırarak yerine ölçekli hızlanmayı sağlayan sabit zaman
kavramını getirmektedir.
Eşitlikte ψ hızlanma, p işlemci sayısı, s programın
paralelleştirilemeyen kısmıdır.
ψ ≤ p + (1 − p)s (4)
Bilgisayar Yapıları
Temel Kavramlar - Giriş
Genel Bilgiler
Mekatronik Mühendisliği
Harici Bellek (External Memory)
Bellek Organizasyonu
Harici Bellek (External Memory)
Manyetik Disk
Disk mıknatıslanabilir bir malzeme ile kaplanır
Diskin kendisi, alüminyum veya alüminyum alaşımı ile yapılırdı
Şimdi cam kullanılıyor
Daha güvenli
Daha dayanıklı
Okuma yazma hataları daha az
Daha yüksek depolama kapasitesi ve hız
Harici Bellek (External Memory)
Disk
Harici Bellek (External Memory)
Örnek: 7200 RPM disk bir turunu 8.3 ms’de tamamlar. Buna
göre ortalama dönüş gecikmesi yaklaşık 4.16ms?dir. 10000
rpm: 3ms, 15000 rpm: 2ms
1 saniye =1000 milisaniye
Harici Bellek (External Memory)
RAID
RAID: (Redundant Array of Independent/Inexpensive Disks)
Fazlalıklı Bağımsız/Ucuz Diskler Dizisi
Amaç: Performansı ve güvenirliği arttırmak.
Paralel ve bağımsız diskler performansı arttırır.
Fazlalık bilgi, hataları sezmek ve düzeltmek için kullanılır.
Düzeyler (RAID 1 - RAID 7): 7 değişik düzey ve bunların
bileşiminden oluşan bileşik düzeyler vardır
Ayrıca tam bir RAID düzeyi olmamakla birlikte konuyu
anlamak için kullanılan RAID 0 En çok RAID 3 ve 5 kullanılır.
Harici Bellek (External Memory)
RAID 0
Fazlalık ve eşlik biti yok. Hatalar düzeltilemez.
Tam bir RAID sistemi değildir.
Veriler paralel erişilebilen fiziksel disklere dağıtılır, performans
artımı sağlanır
Harici Bellek (External Memory)
RAID 1
Veriler aynalanır (mirroring). Her veri iki ayrı diske yazılır.
İki disk paralel (aynı anda) okunmaya başlanır. Daha hızlı
olandan veri alınır.
Yazarken veri iki diske de paralel yazılır. Bu durumda daha
yavaş olan disk beklenir.
Bir disk bozulduğunda veri diğerinden alınır. Fiziksel olarak
hangi diskin bozulduğu bellidir.
Fazla disk kullandığı için pahalı bir yöntemdir.
Harici Bellek (External Memory)
RAID 2
Hata sezme/düzeltme için eşlik bitleri eklenir.
Hata sezme için Hamming kodu kullanılır.(Hamming kod.
belleklerde ve iletişimde hata sezme/düzeltme için kullanılır.)
Diskler senkrondur, tüm disklerdeki kafalar aynı yere konumlan
Küçük strip’ler kullanılır. Sürekli ve büyük blok erişimlerinde
avantajlı.
4 bitlik veriye hata sezme için 3 bitlik eşlik eklenmiştir.
Disklerin fiziksel olarak bozulduğunu anlamak mümkün olduğu
için disklerde Hamming kodlaması gereksiz yere karmaşıklığı
arttırmakta ve maliyeti yükseltmektedir.
Harici Bellek (External Memory)
RAID 3
RAID 2’de olduğu gibi diskler senkron çalışır, tüm disklerdeki
kafalar aynı yere konumlanır.
Küçük strip’ler kullanılır. Sürekli ve büyük blok erişimlerinde
avantajlı.
Hata sezme/düzeltme için daha basit bir kodlama kullanılır ve
tek eşlik biti eklenir.
Eşlik (parity) biti, veri bitleri ”ya da”lanarak belirlenir. X0-X3
veri sözcükleri, X4 ise eşlik sözcüğü olmak üzere eşlik bitleri
aşağıdaki gibi hesaplanır. Burada 1’lerin toplam sayısı çift olur.
Harici Bellek (External Memory)
RAID 3
Normalde bu eşlik yöntemi sadece tek sayıdaki hataları
sezebilir ama düzeltemez. Ancak fiziksel olarak hangi diskin
bozulduğu belli ise eşlik bilgilerinden yararlanılarak o diskteki
bilgiler yeniden oluşturulabilir.
Örneğin 1 numaralı disk bozulursa:
X1(i) = X0(i) ⊕ X2(i) ⊕ X3(i) ⊕ X4(i)
Her yazmada eşlik diskine de erişmek gerekir.
Diskler senkron çalıştığı için bağımsız olarak disklerin farklı
bölgelerine erişmek mümkün değildir.
Sık, bağımsız erişimlerde performans düşer
Harici Bellek (External Memory)
RAID 4
Diskler bağımsız çalışır (senkron değil).
Büyük strip’ler (blok) kullanılır. Sık ve bağımsız okuma
erişimlerinde avantajlı.
Hata sezme/düzeltme için eşlik biti eklenir.
Tek bir eşlik diski vardır.
Okumada eşlik diski okunmaz ancak yazma işlemlerinde
disklerin farklı yerlerine aynı anda yazmak mümkün olmaz
çünkü eşlik diski tektir, beklemek gerekir.
Harici Bellek (External Memory)
RAID 4
Yazma cezası (write panalty): Bir diske yazılırsa, örneğin disk
1, eşlik hesaplanırken:
X4’(i) = X0(i) ⊕ X1’(i) ⊕ X2(i) ⊕ X3(i)
Bu durumda 3 diskten okumak (X0,X2,X3), 2 diske yazmak
(X4,X1) gerekir.
Biraz kolaylaştırmak için sağ tarafa ⊕ X1(i) ⊕ X1(i) eklenir.
X4’(i) = X4(i) ⊕ X1’(i) ⊕ X1(i) olur
Bu durumda eşlik hesabı yapabilmek için iki okuma iki yazma
gereklidir. Değiştirilecek verinin ve eşlik bitlerinin eski
değerleri okunur yeni değerleri yazılır.
Harici Bellek (External Memory)
RAID 5
RAID 4’e benzer. Diskler bağımsız çalışır (senkron değil).
Büyük strip’ler (blok) kullanılır. Sık ve bağımsız okuma
erişimlerinde avantajlı.
Hata sezme/düzeltme için eşlik biti eklenir.
RAID 4’ten farklı olarak eşlik bilgileri disklere dağıtılır.
Böylece her yazma işleminde aynı eşlik diskinin beklenmesi
önlenmiş olur.
Harici Bellek (External Memory)
RAID 6
İki eşlik bilgisi kullanılır böylece hata sezme miktarı arttırılmış
olur.
Fazladan bir diske gerek vardır.
Harici Bellek (External Memory)
Mekatronik Mühendisliği
İş Hattı (Pipeline)
Hızlanma (Speedup)
k: İş hattındaki segman sayısı
tp : saat periyodu (En yavaş birime göre ayarlanır)
n: İş sayısı (işin tekrar sayısı)
tn :İş hattı kullanılmasaydı bir işin süresi
1.iş için k adet saat darbesi gerekli T (1) = k.tp
Kalan n − 1 işin tamamlanması içi (n − 1) çevrim gereklidir.
Gerekli süre:(n − 1)tp
Is hatti olmadan gereken sure
Hizlanma(S) = (2)
Is hatti ile gerekli olan sure
n.tn
S= (3)
(k + n − 1).tp
İş Hattı (Pipeline)
Hızlanma (Speedup)
İş sayısı çok artarsa
limn→∞
tn
S= (4)
tp
Dallanma ve Kesmeler
İş hattında komutlar paralel olarak yürütüldüğünden bir
dallanma komutu işlenirken bellekte ondan sonra gelen ancak
dallanma nedeniyle yürütülmeyecek olan komut (veya
komutlar) da iş hattına alınmış olur.
Eğer önlem alınmazsa programın mantığı gereği
yürütülmemesi gereken komutlar da yürütülmüş olur.
İş Hattı (Pipeline)
Dallanma ve Kesmeler
Koşulsuz dallanma komutu JUMP işlenirken Komut 3 de iş
hattına girmiş olur. Programın yanlış çalışmasını önlemek için
iş hattını durdurmak (stall) ve Komut 3 çalışmadan önce iş
hattını boşaltmak gerekir.
İş Hattı (Pipeline)