20
Carnegie Mellon 1 Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Bölümü Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides of the textbook: http://csapp.cs.cmu.edu/

Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Carnegie Mellon

1Adapted from the slides of “Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective” book by Asst. Prof. Dr. Fatih Gökçe

Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği BölümüSüleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Bölümü

Bilgisayar Sistemlerine Genel Bakış

BIL-304: Bilgisayar Mimarisi

Dersi veren öğretim üyesi:

Dr. Öğr. Üyesi Dr. Fatih Gökçe

Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/Adapted from slides of the textbook: http://csapp.cs.cmu.edu/

Page 2: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Merhaba!

#include <stdio.h>

int main()

{

printf("Merhaba,Dunya\n");

return 0;

}

Page 3: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

ASCII Tablosu

Page 4: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Önişleyici(cpp)

Derleyici(cc1)

Çevirici(as)

merhaba.o Bağlayıcı(ld)

merhaba

Kaynak

program

(text)

Modifiye

edilmiş

kaynak

program

(text)

Assembly

program

(text)

Yeniden

yerleştirilebilir

programlar

(binary)

Çalıştırılabilir

program

(binary)

printf.o

merhaba.i merhaba.smerhaba.c

linux> gcc –o merhaba merhaba.c

Page 5: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Pre-

processor(cpp)

hello.i Compiler(cc1)

hello.s Assembler(as)

hello.o Linker(ld)

hellohello.c

Source

program

(text)

Modified

source

program

(text)

Assembly

program

(text)

Relocatable

object

programs

(binary)

Executable

object

program

(binary)

printf.o

Page 6: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Ana

HafızaI/O

köprüsüVeri yolu arabirimi

ALU

Kaydedici dosyası

CPU

Sistem veriyolu Hafıza veriyolu

Disk

kontrolcü

Grafik

bağdaştırıcı

USB

kontrolcü

Fare Klavye Ekran

Disk

I/O veriyoluAğ bağdaştırıcı gibi

diğer cihazlar için

genişleme slotları

merhaba çalıştırılabilir

programı diskte kayıtlı

PC

Page 7: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Ana

HafızaI/O

köprüsüVeri yolu arabirimi

ALU

Kaydedici dosyası

CPU

Disk

kontrolcü

Grafik

bağdaştırıcı

USB

kontrolcü

Ekran

Disk

Ağ bağdaştırıcı gibi

diğer cihazlar için

genişleme slotları

PC

"merhaba"

Kullanıcı

"merhaba"

yazar

Sistem veriyolu Hafıza veriyolu

I/O veriyolu

Fare Klavye

Page 8: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Ana

HafızaI/O

köprüsüVeri yolu arabirimi

ALU

Kaydedici dosyası

CPU

Disk

kontrolcü

Grafik

bağdaştırıcı

USB

kontrolcü

Disk

PC

merhaba kodu

"Merhaba,Dunya\n"

Sistem veriyolu Hafıza veriyolu

Fare Klavye Ekran

I/O veriyoluAğ bağdaştırıcı gibi

diğer cihazlar için

genişleme slotları

merhaba çalıştırılabilir

programı diskte kayıtlı

Page 9: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Ana

HafızaI/O

köprüsüVeri yolu arabirimi

ALU

Kaydedici dosyası

CPU

Disk

kontrolcü

Grafik

bağdaştırıcı

USB

kontrolcü

Diskmerhaba çalıştırılabilir

programı diskte kayıtlı

PC

"Merhaba,Dunya\n"

Sistem veriyolu Hafıza veriyolu

Fare Klavye Ekran

I/O veriyoluAğ bağdaştırıcı gibi

diğer cihazlar için

genişleme slotları

merhaba kodu

"Merhaba,Dunya\n"

Page 10: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Ana

HafızaI/O

köprüsüVeri yolu arabirimi

ALU

Kaydedici dosyası

CPU entegre çipi

Sistem veriyolu Hafıza veriyolu

Önbellekler

Önbellek

Page 11: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Kaydediciler

L1 önbellek

(SRAM)

Ana Hafıza

(DRAM)

Yerel ikincil depolama

(yerel diskler)

Daha büyük,

daha yavaş ve

daha ucuz

(byte başına

maliyet

açısından)

depolama

cihazları

Uzak ikincil depolama

(dağıtık dosya sistemleri, Web sunucular)

Yerel diskler, uzak ağ

sunucularında bulunan

disklerden alınan

dosyaları tutar.

Ana hafıza, yerel diskten alınan

disk bloklarını tutar.

L2 önbellek

(SRAM)

L1 önbelleği, L2 önbelleğinden alınan

verileri tutar.

CPU kaydedicileri, önbellekten alınan

verileri tutar.

L2 önbelleği, L3 önbelleğinden

alınan verileri tutar.

L0:

L1:

L2:

L3:

L4:

L5:

Daha küçük,

daha hızlı ve

daha pahalı

(byte başına

maliyet

açısından)

depolama

cihazları

L3 önbellek

(SRAM)L3 önbelleği, ana hafızadan alınan

verileri tutar.

L6:

Hafıza Hiyerarşisi

Page 12: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Uygulama programları

İşlemci Ana hafıza I/O cihazları

İşletim sistemi

Yazılım

Donanım

Donanım İşletim Sistemi

Tarafından Yönetilir

Page 13: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

İşlemci Ana hafıza I/O cihazları

İşlemler

Dosyalar

Sanal hafıza

Abstraction-Soyutlama

Page 14: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

A işlemi B işlemi

Kullanıcı kodu

Çekirdek kodu

Kullanıcı kodu

Çekirdek kodu

Kullanıcı kodu

Zaman

Başka işleme

geçiş

Başka işleme

geçiş

read

Disk kesmesi

read den

geri dönüş

İşletim sisteminin bir işlemden

başka işleme geçişi

(Context Switch)

İş parçacığı, yani Thread?

Page 15: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Çekirdek sanal hafızası

Paylaşımlı kütüphaneler için

bellek haritalı alan

Çalışma zamanı bellek alanı(malloc tarafından oluşturulur)

Kullanıcı yığını(çalışma zamanında oluşturulur)

0

Kullanıcı kodu

tarafından erişilemeyen

hafıza bölgesi

Oku/yaz veri

Salt okunur kod ve veri

merhaba çalıştırılabilir

dosyasından yüklenir.

printf fonksiyonu

Program

başlangıcı

İşlem Sanal adres alanı

Page 16: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Ana

HafızaI/O

köprüsüVeri yolu arabirimi

ALU

CPU

Disk

kontrolcü

Graphics

bağdaştırıcı

USB

kontrolcü

Disk

Genişleme slotları

bağdaştırıcı

PC

Kaydedici dosyası

Sistem veriyolu Hafıza veriyolu

Fare Klavye Ekran

I/O veriyolu

Page 17: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Yerel

telnet

istemcisi

Uzak

telnet

sunucusu

2. İstemci "merhaba"

karakter dizisini telnet

sunucusuna gönderir.

3. Sunucu "merhaba" karakter

dizisini, merhaba programını

çalıştıracak ve çıktıyı

telnet sunucusuna

yönlendirecek olan konsola

gönderir.4. Telnet sunucusu

“Merhaba,Dunya\n" karakter

dizisini istemciye gönderir.

5. İstemci ekrana"Merhaba,Dunya\n"

karakter dizisini yazar.

1. Kullanıcı klavyeye "merhaba" yazar.

Page 18: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Tüm işlemciler

Çok işlemcili

Tek işlemcili Çok-

çekirdekli

Hyper-

thread’li

Tek çekirdek-Çok çekirdek

Page 19: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

Kaydediciler

L1 d-önbellek

L1 i-önbellek

L2 birleştirilmiş

önbellek

Çekirdek 0

Kaydediciler

L1 d-önbellek

L1 i-önbellek

L2 birleştirilmiş

önbellek

Çekirdek 3

L3 birleştirilmiş önbellek

(tüm çekirdekler tarafından paylaşılır)

Ana hafıza

CPU entegre paketi

Page 20: Bilgisayar Sistemlerine Genel Bakış · Carnegie Mellon Adapted from the slides of “ryant and O’Hallaron, omputer Systems: A Programmer’s Perspective” book by Asst. Prof

İşlemci Ana hafıza I/O cihazları

İşlemler

Dosyalar

Sanal hafıza

İşletim sistemi

Sanal Makina

Komut seti

mimarisi