Bilgisayar Yapısı MİKROİŞLEMCİ SİSTEMLERİ Bilgisayar verilen verileri, belirlenen bir programa göre işleyen, istenildiğinde saklayabilen, gerektiği zaman geriye verebilen sayısal bir alettir. Yrd. Doç. Dr. Şule Gündüz Öğüdücü www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Belleme yeteneği Hesaplama yeteneği Karar verme yeteneği Giriş-çıkış yeteneği www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Bilgisayar Temel Birimleri MİB Yapısı Bellek Adres Kütüğü (BAK) Denetçi Sistem Yolu: Adres Yolu, Veri Yolu, Denetim Yolu Bellek Veri Kütüğü (BVK) Akümülatör (ACC) Aritmetik Lojik Birim (ALB) Merkezi İşlem Birimi (MİB) Disk Merkezi İşlem Birimi (MİB) Bellek Giriş-çıkış arabirimi (G/Ç) G/Ç Arabirimi Bellek www3.itu.edu.tr/~sgunduz/courses/mikroisl/ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Kütükler Kütükler Aynı saat işaretinin uygulandığı flip-flop’lardan oluşur. Giriş Bit “3” Giriş Bit “2” D Q > CK Bellek Adres Kütüğü (BAK): MİB’den giden veya MİB’e gelen verilerin gideceği veya geldiği yerin adresini belirtir. Adres yolunu bağlıdır. Bellek Veri Kütüğü (BVK): MİB’den giden veya MİB’e gelen verilerin alınıp verildiği bir iskele. Veri yoluna bağlıdır. Akümülatör (ACC): BVK üzerinden gelen veriler akümülatöre alınır. Aritmetik Lojik Birim (ALB): ACC’deki veri üzerinde yapılacak işlemler ALB tarafından yürütülür. Denetçi (DEN): Tüm bilgisayarın yönetimi ile ilgili bilgileri toplamak ve üretmekle görevlidir. Giriş Bit “1” D Q > CK Giriş Bit “0” D Q > CK D Q > CK Saat Çıkış Bit “3” www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Çıkış Bit “2” Çıkış Bit “1” Çıkış Bit “0” MİB, ALB, denetçi ve MİB’nin diğer birimleri tarafından çabuk erişilebilen saklama alanlarıdır. Farklı mikroişlemcilerde kütüklerin sayısı ve boyutu da farklı olabilir. Genel Amaçlı kütükler: MİB’nin yürüttüğü işlemlerde veri saklamak için kullanılırlar (Akümülatör). Özel amaçlı kütükler: Her MİB işleminde gerekli olan veriyi saklamak için kullanılırlar. (BAK, BVK). www3.itu.edu.tr/~sgunduz/courses/mikroisl/ 1 Aritmetik Lojik Birim MİB tarafından yürütülen bütün işlemleri yerine getirir. Denetçi MİB içindeki kontrol işlemleri Aritmetik Lojik Komutların sıralanması ve yürütülmesi Veri yolu kontrolu MİB içindeki yolların kontrolu : Bilgisayar mimarisi ALB’in boyunu belirler. MİB dışındaki kontrol işlemleri Sistem yolunun kontrolu Kesme işlemleri Sistemin durumu Bellek yönetimi : www3.itu.edu.tr/~sgunduz/courses/mikroisl/ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Bilgisayar Bağlantıları Bilgisayarın Çalışma Düzeni Denetim Yolu BVK DEN MİB BAK Veri Yolu Adres yolu Örnek:X ve Y sayılarının 3000 ve 3001 nolu bellek gözlerine yazılması, sayıların toplanması sonucun 3002 nolu bellek gözüne yazılması G/Ç Bellek Adresi BELLEK www3.itu.edu.tr/~sgunduz/courses/mikroisl/ X’i ACC’ye yükle 1002 1003 1004 1005 1006 1007 ACC’nin içeriğini 3000 nolu bellek gözüne yaz Y’i ACC’ye yükle ACC’nin içeriğini 3001 nolu bellek gözüne yaz 3000 sayılı bellek gözünün içeriğini ACC’ye yükle 3001 sayılı bellek gözünün içeriğini ACC’ye ekle ACC’nin içeriğini 3002 nolu bellek gözüne yaz www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Buyruk Yürütülmesi Getirme Çevrimi Buyruk Okuma Buyruk Çözme Buyruk uzunluğunu ve gerekli komutları belirleme Buyruklar Bilgisayara bir işlem yaptırmak için kullanılan adımlar İşlenen Okuma Yürütme Çevrimi Bellekten buyruğun okunması İşlenenin adresini belirleme ve okuma Yürütme İşlemi yürütme Sonucu Daha sonraki kullanım için sonucu saklama Saklama Sonraki Buyruk İşlem 1001 3+1 adresli buyruk kalıbı 3 adresli buyruk kalıbı 2 adresli buyruk kalıbı 1 adresli buyruk kalıbı 0 adresli buyruk kalıbı Bir sonraki buyruğu yürütme www3.itu.edu.tr/~sgunduz/courses/mikroisl/ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ 2 Buyruklar 3+1 Adresli buyruk kalıbı: TOP X,Y,Z,N Komut 1.İşlenen adresi 1.İşlenen adresi Bir sonraki buyruğun adresi 2.İşlenen adresi Bilgisayarın çalışmasına yön verecek programı ve programın üzerinde çalışacağı verileri saklar. 1 Adresli buyruk kalıbı: TOP A,X Kütük Adı Read Only Memory (ROM) Yarı iletken malzeme kullanılır. Veriler üretim sırasında yazılır. www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Programlanabilir Salt Oku Bellek (PROM) Özel amaçlı bilgisayarlar Sabit programla çalışan bilgisayarlar Sistem programları www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Elektriksel olarak programlanabilir. Mor ötesi ışık ile silinir. Silme ve programlama tekrarlanabilir. (belli bir sayıda) Yazmadan önce tüm bellek silinir ve tekrar yazılır. www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Üretildikleri zaman bütün gözleri 1 veya 0 Üretim sonrasında özel bir aletle sigorta konumu değiştirilerek programlanır. Vcc Sigorta Sadece bir kere programlanabilir. Veriler silinemez. www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Silinebilir Programlanabilir Salt Oku Bellek Erasable PROM (EPROM) Üretildiklerinde tüm bellek gözleri 1 konumunda Programmable ROM Her bellek gözesi için bir sigorta Veri okunabilir ancak yazılamaz. Kullanım alanları: Statik Oku/Yaz Bellek (SRAM) Dinamik Oku/Yaz Bellek (DRAM) 0 Adresli buyruk kalıbı: YIĞ A, ÇEK A Salt Okunabilir Bellek Salt Oku Bellek (ROM) Programlanabilir Salt Oku Bellek (PROM) Silinebilir Programlanabilir Salt Oku Bellek (EPROM) Oku/Yaz Bellekler (RAM) İşlenen adresi www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Salt Oku Bellekler Sonucun adresi 1. İşlenen adresi 2. İşlenen adresi Komut Sonucun adresi 2 Adresli buyruk kalıbı: TOP X,Y Komut 2.İşlenen adresi 3 Adresli buyruk kalıbı: TOP X,Y,Z Komut Bellek Elektriksel Silinebilir Programlanabilir Salt Oku Bellek Electrically Erasable PROM (EEPROM) Daha önceki veri silinmeden programlanabilir. İstenen bellek gözlerine istenen değer yazılabilir. Programlama tekrarlanabilir. (belli bir sayıda) www3.itu.edu.tr/~sgunduz/courses/mikroisl/ 3 Flash Bellek Oku/Yaz Bellek (RAM) Programlarken hızlı olması nedeniye flash bellek olarak adlandırılıyor. Elektriksel olarak siliniyor. Veri bloklar halinde silinebilir. Her bit için bir tranzistor kullanılır. Random Access Memory (RAM) Okuma ve yazma işlemi elektriksel olarak yapılır. Güç kesildiği anda veriler kaybolur. İki tip RAM www3.itu.edu.tr/~sgunduz/courses/mikroisl/ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Statik Oku/Yaz Bellek (SRAM) Dinamik Oku/Yaz Bellek (DRAM) Bir kapasite ve tranzistörden oluşur. Veri kapasitenin doldurulması ile saklanıyor Kapasite kaçak akımlar nedeniyle boşaldığı için belleğin tazelenmesi gerekiyor. 1 yükleniyor tazeleniyor Statik RAM Dinamik RAM satır bit tazeleniyor Herbir göze bir flip-flop. Verinin kaybolmaması için belleğin tazelenmesi gerekmemektedir. Daha hızlı ve daha pahalıdır. Genellikle cep bellekler için kullanılır. tazeleniyor Vc Vcc HIGH LOW 0 www3.itu.edu.tr/~sgunduz/courses/mikroisl/ t www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Bellek Düzeni Belleğin temel birimi göze (bit) Gözelerin yanyana gelmesiyle gözler oluşur Bellek gözlerinin üst üste gelmesiyle bellek oluşur NxM boyutunda matris N: satır sayısı (göz sayısı) M: Sütun sayısı (göze sayısı) www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Belleğe Erişme MİB’nin belleğe (RAM ya da ROM) erişme (okuma ya da yazma işlemleri için) adımları : Doğru bellek birimini seçmesi (adres yolundaki hatların bir kısmını kullanarak) Bellek içinde doğru gözü seçmesi (adres yolundaki diğer hatları kullanarak) Veriye erişme (veri yolunu kullanarak) www3.itu.edu.tr/~sgunduz/courses/mikroisl/ 4 Üç Konumlu Kapılar Üç Konumlu Kapılar Bellek birimlerinde yaygın olarak kullanılan bir devre Üç konumu bulunan lojik kapı İki girişi bir çıkışı bulunan bir devre Lojik kapı girişi İzin girişi Lojik 0, lojik 1 ve yüksek empedans Yüksek empedans konumunda çıkıştan tamamen yalıtılmış Lojik 0 ise kapı girişine uygulanan girişin etkisi çıkışa aktarılır Lojik 1 ise çıkış yüksek empedans konumunda Giriş VEYA Çıkış Giriş İzin Çıkış lojik 0 Çıkış lojik 1 www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Temel Bellek Elemanı Temel Bellek Elemanı Temel Bellek elemanı D tutucu Giriş Çıkış İzin girişi Giriş ve çıkış veri yoluna bağlı Girişte her zaman veri mevcut, çıkış her zaman tutucunun içeriği ile yüklü Veri girişi İzin Yüksek empedans www3.itu.edu.tr/~sgunduz/courses/mikroisl/ D Q Veri çıkış Girişe ve çıkışa üç konumlu kapılar bağlanarak giriş ve çıkış istenildiği zaman veri yolundan yalıtılıyor. Veri Girişi İzin EN D YAZ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Bellek Düzeni 4 tutucu birlikte bağlanırsa 4 bitlik bir bellek gözü elde edilir I1 I2 D3 I3 SEÇ0 D Q D Q EN Q EN O0 O1 SEÇ1 O2 O3 G SEÇ2 www3.itu.edu.tr/~sgunduz/courses/mikroisl/ G G EN İZİN OKU D1 D0 EN Ç G Ç G Ç G EN Ç G Ç G EN Ç G Ç G Ç G EN Ç D Q EN Veri Yolu D2 Yön YAZ D EN www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Bellek Gözü I0 Veri Çıkışı Q OKU İzin Çıkış EN EN EN EN Ç G EN EN EN EN Ç Ç www3.itu.edu.tr/~sgunduz/courses/mikroisl/ 5 Bellek Adresleme OKU ve YAZ işaretleri ile verinin yönü belirlenir: bellekten okunur ya da belleğe yazılır uygun SEÇ girişi kullanılarak istenilen bellek gözü seçilir aynı anda sadece tek bir SEÇ girişi aktif hale getirilir bellek kırmığına gelen adres yolu sayısını azaltmak için SEÇ işareti kodlanarak oluşturulur Bellek Tasarımı I0 YAZ I1 I2 I3 Giriş Kapılar SEÇ0 Bellek Gözü 0 SEÇ1 Bellek Gözü 1 SEÇ2 Bellek Gözü 2 SEÇ3 Bellek Gözü 3 OKU Çıkış Kapıları O0 O1 O2 giriş ve çıkışta üç konumlu kapılar bulunduğu için bellek girişi ve çıkışı için aynı uçlar kullanılabilir YAZ A1 A0 Giriş Kapıları K o d A d r e s Ç ö z. O3 D0 Bellek Gözü 1 D1 A1 D1 Bellek Gözü 2 D2 A0 D2 Bellek Gözü 3 D0 D3 D3 Çıkış Kapıları OKU www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Bellek Gözü 0 OKU YAZ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Bir Belleğin Dıştan Görünümü Adresleme Veri Yolu Adres Yolu Bellek SEÇİCİ OKU/YAZ Veri Yolu: Bellek gözlerinin bağlantısını sağlar. Adres Yolu: Bellek gözlerinin seçilmesi için adres bilgilerini taşır. Oku/Yaz: Veri akışını belirler. Seçici: Etkin olduğu durumda belleğin seçilmesini sağlar. Tek boyutlu adresleme A2 Adres Yolu Veri Yolu A1 A0 3’e 8 Kod Çözücü 2 Boyutlu adresleme 8x8 Bellek 8x8 Bellek A1 A0 2’ye 4 Kod Çözücü 1’e2 Kod çözücü A3 Veri Yolu www3.itu.edu.tr/~sgunduz/courses/mikroisl/ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Bellek Boyutu bellek boyutu boyu ve eni ile ölçülür (boy x en) bellek gözü sayısı: boy her gözdeki göze sayısı: en Belleğe Erişme Belleğe Erişme Zamanı:Bir bellek gözünün içeriğinin okunması ve bir bellek gözüne veri yazılması için gereken süre. bellek boyutu bellek kırmığına gelen adres yolu sayısının bir fonksiyonu bellek gözü sayısı = 2(adres yolu sayısı) adres yolu sayısı 10 olan bir bellekteki göz sayısı 210 = 1024 bellek gözü (1K) bellek gözü sayısı 4096 olan bir belleği adres yolu sayısı Log2 4096=12 adres yolu www3.itu.edu.tr/~sgunduz/courses/mikroisl/ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ 6 Okuma İşlemi Saat işaretinin 1’den 0’a inmesiyle adres yoluna adres bilgileri konur. Yazma İşlemi SAAT SAAT ADRES ADRES SEÇ girişine lojik 0 uygulanarak bellek seçilir Yazılacak veri veri yoluna aktarılır. SEÇ girişine lojik 0 uygulanarak bellek seçilir OKU/YAZ sinyali 0 konumuna getirilir. VERİ SEÇİCİ Saat işaretinin 1’den 0’a inmesiyle adres yoluna adres bilgileri konur. OKU emrinin gönderilmesinin ardından bellek gözünün içeriği veri yoluna aktarılır OKU/YAZ VERİ SEÇİCİ OKU/YAZ Belleğe erişim süresi www3.itu.edu.tr/~sgunduz/courses/mikroisl/ www3.itu.edu.tr/~sgunduz/courses/mikroisl/ Belleğe erişim süresi 7