Alfabetik Sıralama :ABCDEFGHIJKLMNOPQRSTUVWXYZ -


BİLGİSAYAR SİSTEMLERİ VE YAPILARI

 1. Bilgisayarlarda Bilgi Saklama  

Elektrik sinyalleri sayısal ve analog olarak iki biçimde olabilir. Analog sinyal süreklidir. Veriler iki nokta arasındaki tüm değerleri alabilirken sayısal sinyaller kesiklidir. Yalnızca belli değerleri alabilirler. 
 

Dijital Sinyal

koordinat2.jpg (12920 bytes)

Şekil 1: Dijital ve Analog Sinyaller 


Bilgisayarlar da sayısal makinalardır ve yalnız iki düzeydeki sayısal veriler üzerinde işlem yapabilirler : "1" ve "0". Bu rakamları tırnak içinde yazmamızın nedeni bunların mantıksal değerler olmaları ve bilgisayarların içinde iki voltaj seviyesi (0 Volt için "0", 5 Volt için "1") olarak görülmeleridir. Yani, "0" ve "1" yerine "Evet"-"Hayır", "Var"-"Yok" gibi daha başka gösterimler de kullanabilirdik.  

Bilgisayarda bu ikili düzeylerden her birisine İngilizce "binary digit" sözcüklerinden türetilmiş olan bit adı verilir. Bitlerin çeşitli bileşimleri ile bilgisayarda harfler, rakamlar, ve özel simgeler temsil edilir. Örneğin ASCII (American Standard Code for Information Interchange) tablosunda `A` harfi 1000001 şeklinde, `2` sayısı (karakter olarak)  ise 0110010 şeklinde ifade edilir. 

Örnek: 

·  Alfabemiz 4 karakterden oluşuyor olsun: "A", "B", "C", "D". Bu harflerin bilgisayarda bir şekilde temsil edilmesi gerekir; çünkü bilgisayar yalnızca "0" ve "1" lerden anlar.

·   Şimdi, elimizde 4 harften oluşan bir alfabe var. 4 adet harfi bilgisayarda 2 bit ile temsil edebiliriz.  

 

Ondalık Taban

İkilik Taban

Karakter

0

00

A

1

01

B

2

10

C

3

11

D

 

Bu kod sistemine bir isim verelim: ISC (IDE_A Standart Kodu). Siz daha başka bir standartta bir kod tablosu hazırlayıp başka bir isim verebilirsiniz. 

Artık alfabemizden oluşan sözcükleri bilgisayarda temsil edebiliriz. 

o        

Sözcük 

Bilgisayardaki Karşılığı

ABA

00 01 00

BABA

01 00 01 00

ABAD

00 01 00 11

BACA

01 00 10 00

   

Bu bitlerin işlem sırasında bilgisayarda saklandığı ortam ana bellek ya da birincil bellek olarak adlandırılan rastgele erişimli bellektir (RAM: Random Access Memory). Daha önce de belirttiğimiz gibi ana bellek tümleşik devrelerden oluşur. Veriler bellekte bilgisayar sistemine güç geldiği (burada güçle elektrik akımı kastedilmektedir) sürece kalır. Bu nedenle ana belleklere (RAM)  uçucu bellek de denmektedir.  

İşlemi biten veya o anda kullanılmayan veriler ikincil ya da  kalıcı bellek olarak adlandırılan disk ve teyp birimlerinde saklanır. Bu tip bellekler elektrik kesintilerinden etkilenmezler.  

Bilgisayarlarda programlar ve programların üzerinde işlem yaptığı veriler bu yolla saklanır. Ardından bellekteki program satırları sırayla çalıştırılarak bilgisayarların yapması istenen işlemler gerçekleştirilir.   

1.1. Sayı Sistemleri 

Bir bilgisayarın bilgileri nasıl depoladığını bilmek onu anlayabilmemiz için çok önemlidir. Veri bilgisayarda nasıl temsil edilir? Bilgisayar elektronik bir cihaz olduğu için sadece voltaj seviyelerinden anlar: Biz bu seviyeleri "açık", "kapalı" ya da "1", "0" olarak düşünebiliriz demiştik. 

İnsanlar ilk önce onlu sayı sistemini kullanmışlardır. Çünkü bizler 10 parmağa sahibiz. Fakat bilgisayarlar sadece "0" ve "1" sembolleriyle temsil edilen iki seviyeden anlarlar. Bu farklılık insanlar ve bilgisayarlar arasında doğal olarak bir iletişim problemine yol açar. Bu problemi ortadan kaldırmak üzere ASCII (American Standard Code for Information Interchange) oluşturulmuştur. 

İKİLİ (BINARY) SAYI SİSTEMİ 

Onlu sayı sistemi on sembolden oluşmuştur: 0`dan 9`a kadar. İkili sayı sistemi ise sadece kendine özgü iki sembolden oluşur: "0" ve "1". Bu iki sembolle büyük sayıların temsil edilmesi zor gibi görünebilir. Aşağıdaki örnekleri inceleyin. Bit sayısı arttıkça temsil edilebilecek ondalık sayıların da arttığını görebilirsiniz. 

Öncelikle, ondalık sayımız 1024 olsun diyelim. Bu sayı dört adet 1`den, iki adet 10`dan, ve bir adet 1000`den oluşmaktadır. Sağdan sola doğru gittiğimizde her rakamın değeri artmaktadır.  

Onluk tabandaki sayımızı şu şekilde de gösterebiliriz. 

 

Şekil 1.1: Onluk sayı gösterim yöntemi. 

Her rakamı uygun üs kuvveti alınan sayıyla çarparak bir dönüşüm yaptık. Üs kuvveti en az değerli konumdan en çok değerli konuma doğru artar.  

Aynı dönüşüm yöntemi ikili sayılar için de kullanılabilir.  

 

Şekil 1.2: İkili tabandaki bir sayının onluk tabana dönüşüm yöntemi. 

Herhangi bir tabandaki sayıyı onlu tabana çevirmek için yukarıdaki yöntemi kullanabilirsiniz. 

Onlu tabandaki bir sayıyı (örneğin 50) ikili tabana çevirmek için ise aşağıdaki yöntemi kullanabiliriz. 

 

Şekil 1.3: Onlu tabandaki bir sayının ikili tabana dönüşüm yöntemi. 

Onlu tabandaki bir sayıyı herhangi bir tabana çevirmek için bu yöntemi kullanabilirsiniz. 

ONALTILI (HEXADECIMAL) SAYI SİSTEMİ  

Onaltılı sayı sistemi adını onaltı sembolden oluşmasından alır: 0-9 ve bu on sembole ek olarak A, B, C, D, E, F. Tablo 1.1 onlu, ikili ve onaltılı kodlar arasındaki ilişkiyi göstermektedir. 

Onaltılı sistemdeki sayılar assembly dilinde program yazarken ve okurken, verileri ve hafıza bölgelerini incelerken yararlıdır, çünkü tek bir onaltılı sayı ile 4-bitlik ikili sayıyı (nibble) ifade edebiliriz.  

ONLU

İKİLİ

ONALTILI

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

8

9

1001

9

10

1010

A

11

1011

B

12

1100

C

13

1101

D

14

1110

E

15

1111

F

 Table 1.1: Onlu, İkili, ve Onaltılı tabanlarda sayı temsilleri. 

Eğer ikili tabandaki bir sayıyı onaltılı tabana çevirmek istiyorsanız yukarıdaki yöntemleri kullanarak önce ikilik tabandaki sayıyı onluk tabana, daha sonra da bu onluk tabandaki sayıyı onaltılık tabana çevirmelisiniz.  

Fakat Tablo 1.1`i kullanırsanız bu dönüşümü daha kolay yapabilirsiniz. Tek yapmanız gereken onaltılı tabana çevirmek istediğiniz ikili sayıyı 4-bitlik (nibble) parçalara ayırmak. Aşağıdaki şekli inceleyin. 

 

Şekil 1.4: İkili tabandaki bir sayının onaltılı tabana dönüşüm yöntemi.

1.2 Bilgisayar Kodları  

Yukarıda da belirttiğimiz gibi değişik bit bileşimleri kullanılarak değişik kodlar elde etmek olasıdır. Bunların arasında hergün kullanılan harflere karşılık gelen ASCII kodu 7 bitten oluşmuştur. 7 bit kullanılarak 128 değişik karakter elde edilebilir. Oysa bilgisayarlar bellekleri , mikroişlemci saklayıcıları, ve diğer parçaları 8 bit tutacak şekilde geliştirilmişlerdir. Bilgisayarların kullandığı bu 8 bitlik temel birimlere byte denir. (Bu kelimenin Türkçe karşılığı sekizli olarak geçmekle birlikte biz bu derste bayt terimini kullanacağız.) Bu durumda 8 bit kullanarak 256 karakter elde edilebilir. 8 bitin bileşimlerinden oluşan bu karakter setine alfanümerik karakter seti denir ve tüm harfleri, rakamları, ve özel simgeleri içerir. Bu özel simgeler noktalama işaretleri, aritmetik işlemlere karşılık gelen simgeler ve grafik karakterlerdir.   

Son zamanlarda birçok kuruluş Unicode adlı bir projeye destek vermektedir. Bunun gerçekleşmesi halinde 16-bit kodlar kullanılacak ve bu da 65536 değişik karakterin programlanabilmesine olanak sağlayacaktır.   
2. Bilgisayar Sisteminin Anatomisi  

Bilgisayar sisteminde verileri saklamak, bulmak, işlemek ve bu işlemleri koordine etmek için iki ana birim mevcuttur. 

1.   Merkezi İşlemci

2.   Bellekler

Bellekler ana bellek, ikincil bellek ya da üçüncül bellek gibi gruplar altında incelenebilir.  İkincil ve üçüncül belleklerin yapılarını daha sonraki haftalarda Veri Saklama başlığı altında işleyeceğiz. Bu hafta ise sadece ana bellek üzerinde duracağız.  

Ana bellek ve merkezi işlemci arasındaki veri alış verişi veriyolu dediğimiz bağlantılar vasıtası ile yapılır.  

Şimdi, aşağıda bu birimlerin çalışma prensiplerini ve aralarındaki iletişimi sağlayan veriyolunun (bus) yapısını inceleyelim : 

 
 

   2.1. Merkezi İşlem Birimi  (Central Processing Unit- CPU)  

Merkezi İşlem Birimi bir bilgisayar sisteminin beynidir.Merkezi işlem biriminin iki temel bileşeni vardır: 

1.   Aritmetik-Mantık Birimi

2.   Kontrol Birimi

Ana bellekte saklı bilgiler kontrol birimi tarafından okunur ve merkezi işlemci saklayıcılarına (yazmaç, register) aktarılır. Ana bellekten okunan komutların anlamlarının çözülmesi de yine kontrol birimince yerine getirilir. Bir programın çalıştırılması sırasında programın ilk komutu çözümlendikten sonra kontrol, programın denetimi altında devam eder. 

2.1.1.Saklayıcılar  (Registers) 

Ana bellekteki veriler işlenmek üzere merkezi işlem birimine taşınırlar.Burada geçici olarak verilerin saklandığı hücrelere yazmaç ya da saklayıcı adı verilir. Merkezi işlem biriminde çeşitli amaçlar için kullanılan saklayıcılar mevcuttur. Örnek olarak, 

· Ana bellekte erişilmek istenen verinin adresini tutan adres saklayıcıları 

· Programda çalıştırılmakta olan komut adresini tutan adres saklayıcıları

· Komutu tutan komut saklayıcısı (instruction pointer)

· Üzerinde işlem yapılan veriyi tutan akümulatör 

verilebilir. 

Bir komutun çalıştırılması sırasında program satırı ve veriler bu saklayıcılar arasında hızla aktarılarak işlemlerin hızla yapılması sağlanır. 

Günümüzde birçok bilgisayarın merkezi işlemcisinde yukarıdaki saklayıcılara ek olarak bir saklama birimi daha vardır.Ara Bellek (Cache Memory) adı verilen bu bellek , ana bellekten işlenecek bilgileri kopyalayarak işlenmeye hazır bir şekilde tutar. Ara bellek merkezi işlemci saklayıcıları gibi hızlıdır.Merkezi işlemci tarafından işlenmesi en muhtemel ve en yakın olan veriler ara belleğe alınırlar. Böyle olunca da merkezi işlemcideki işlemlerin hızlanması sağlanmış olur. 

2.1.2. Komutlar (Instructions) 
 

Merkezi işlem Biriminde program gereği yerine getirilmesi gereken işlemleri yapmak için makina komutları kullanılır.  Komutlar, bilgisayarların  özelliklerine ve  kullandıkları merkezi işlem birimine göre farklılık gösterir. Genellikle kullanılan komutlar farklı yapıda olmakla birlikte benzer işlevleri yerine getirirler. Bu komutların uzunlukları da değişiklik gösterir. 

16 bitten oluşan bir bilgisayar komutu çeşitli alanları içerir. Bu alanlar şunlar olabilir : 

·   İşlem Alanı (OP-CODE:Operation Code) :Her bir komut için ayrılan alanın  ilk dört biti  ya da ilk onaltılı sayı İşlem  alanıdır. Bu alanda komutların işlevlerini belirten alan. Bu alanda 1 ile C arasında yer alan 12 temel komuttan birisi bulunabilir.

·  Operand Alanı :Komutların daha detaylı işlevlerini belirten alandır. Bu alanda 12 bit ya da 3 onaltılı sayılık bir yer mevcuttur. Komutun tamamlayıcı bilgilerini karşılarlar, örneğin: işlemimiz toplama ise operand alanı kaynak operand ve hedef operandların bellekteki adres bilgilerini içerir.

Şekil 2.1: Bir makina kodunun yapısı.  

 

Şekil 2.1 de bir komutun formatı ve her alanın bit sayısı verilmiştir. Burada işlem kodu için 4 bit ayrılmış olduğundan 16 değişik komut olanaklıdır. Tüm komutlar operand alanını kullanmazlar. Böyle durumlarda bu alan komut ya da işlem kodunun bir parçası olarak gösterilir ve komut sayısı arttırılabilir. 

Bir komut bellekte belli bir adreste saklanan veriler üzerinde işlem yapabileceği gibi , merkezi işlemcinin saklayıcılarındaki veriler üzerinde de işlem yapabilir. Bu durumda adres alanının kullanılışına göre çok değişik komutlar ortaya çıkar.   

Bilgisayar komutlarını çeşitli şekilde sınıflandırmak mümkündür. En genel haliyle bu komutları şöyle gruplayabiliriz.  
 

  • Aritmetik komutlar 
  • Mantıksal komutlar
  • Bilgi saklayıcılar 
  • Ara bellek arasında taşıyıcılar 
  • Çeşitli Durum Kontrolleri yapan komutlar 
  • giriş-çıkış komutları 

Genellikle veriler önce ana bellekten (RAM) ara belleğe , oradan da merkezi işlem birimi saklayıcılarına (Registers) aktarılır.   

Burada aritmetik ve mantık birimine aktarılan veriler üzerinde program kodunun öngördüğü işlemler yapılır ve sonuçlar yeniden kontrol birimi saklayıcıları aracılığıyla ana belleğe (RAM)  taşınır. Üzerinde işlem yapılan verilerin tutulduğu saklayıcı aritmetik ve mantık biriminin en önemli parçalarındandır ve akümülatör (accumulator: ax register) olarak adlandırılır.  

·   Soru: Bir merkezi birimde hangi tip saklayıcılar bulunur, işlevleri nelerdir?

   2.2. Ana Bellek : Random Access Memory (RAM)  

Bilgisayarlarda veri saklamak için herbiri bir bit saklayabilen çok fazla sayıda devre mevcuttur.İşte bilgisayarlardaki bu "bit depolarına" ana bellek adı verilir. Ana bellekteki devreler gruplanarak hücre yada sözcük adı verilen birimleri oluştururlar. Her hücre genellikle 8 bit yani 1 byte`tan oluşur. Bu hücrelerin her birinin bir adresi vardır.Hücreler adreslerine göre ardışık olarak sıraya dizilidirler. Hücre adresi hücrenin ana bellek içindeki yerini belirler. 

Bilgisayarın ana belleğindeki hücrelerin toplam sayısı bilgisayarın bellek kapasitesini gösterir. Bellek kapasitesinin birimi , günümüzde, mega byte` tır. 1 MB , 1.048.576 hücre biriminden oluşur. Bilgisayar sistemlerinde bilgi saklama ikili sistemi kullandığı için 2²º bite karşı gelen ve 106 `ya en yakın olan sayı kullanılmıştır. 

 

Ana Bellekte bilgi depolamak üzere hücreleri oluşturan devrelere ek olarak bilgileri arayan , bulan, yerleştiren devreler de mevcuttur. Okuma ve yazma işlemi yapan bu devreler sayesinde ana bellekteki hücrelerin depoladığı bilgiler değişir , güncellenir. Bellekteki hücrelerin dizilim sırasının erişim bakımından hiçbir etkisi yoktur. Yani en baştaki bir hücreye erişmek ile en sondaki hücreye erişmek ve işlemek arasında hiç bir fark yoktur. Bu yüzden ana belleğe rastgele erişimli bellek anlamına gelen "Random Access Memory(RAM)" adı verilir. 

Hücre İçi Düzeni

Şimdi, biraz da ana bellekteki hücre ve düzenden bahsedelim : Her bir hücrenin 8 bitlik bilgiyi saklayabileceğinden bahsetmiştik. Bu bitlerin oluşturduğu sırada ilk bit "en önemli bit" olarak , son bit ise "en önemsiz bit" olarak adlandırılır. Yani bitler en önemli bitten , en önemsize bite doğru sıra ile dizilirler. 

örnek: 

 

Hücreler de kendi aralarında uygun bir sırada ilk hücreden son hücreye kadar ip gibi sıraya dizilirler.Böylece 16 bit uzunluğunda bir veriyi yan yana 8 bitlik iki adet hücrede saklamak mümkün olur. 
 

1 byte 

8 bit 

1 hücre birimi 

1 kilo byte (KB)

210

1024 byte

1 mega byte (MB)

220

210 kilo byte

1 giga byte (GB)

230

210 mega byte

1 tera byte (TB)

240

210 giga byte

Merkezi işlem birimi ile arasında sürekli bilgi alışverişi olan Ana Bellek yukarıda da söz edildiği gibi program ve verilerin geçici olarak saklanmasında kullanılırlar. Eskiden bilgisayarın belleğini oluşturmak üzere Rasgele Erişimli Belleklerden oluşturulan matrisler yaygın olarak kullanılırken artık SIMM (Single Inline Memory Module) adı verilen ve bellek tümleşik devrelerinin üzerine yerleştirildiği hazır bellek devre modülleri kullanılmaktadır.   

Ana Bellek Teknolojileri

Ana Bellek statik ya da dinamik olabilir. Dinamik RAM`lere DRAM denir. Bu tür RAM`lerin içeriğinin korunması için her birkaç milisaniyede bir elektronik akımla beslenmesi gerekir. Bu işlem bilgisayar kontrol devreleri tarafından periyodik olarak yapılır.  Statik RAM`lerin içeriğinin korunması için periyodik olarak yenilenmeleri gerekmez. Bu yüzden Statik RAM`ler Dinamik RAM`lerden çok daha hızlıdır. Bilgisayar ana belleklerinde DRAM`ler kullanılır. Son zamanlarda geliştirilen EDO RAM (Enhanced Data Output Random Access Memory), BEDO DRAM (Burst Extended Data Output DRAM) ve SDRAM (Synchronous Dynamic Random Access Memory) birer Dinamik RAM`dir. Statik RAM`ler ise pahalı olmalarından dolayı bilgisayarlarda şimdilik ara bellek (CACHE RAM) olarak kullanılıyorlar. ara belleklerin kapasiteleri sınırlıdır ve yalnızca en son kullanılan ya da kullanılma olasılığı bulunan verileri tutmakta kullanılırlar. 

·    Soru: SDRAM`in getirdiği yenilikler nelerdir? Geleneksel DRAM`lerden farkı nedir?

Bugünün RAM`leri çoğunlukla  CMOS teknolojisini kullanır. CMOS  İngilizce Complementary Metal Oxide Semiconductor sözcüklerinin kısaltılmışıdır ve düşük güç tüketimi sağlar. Daha önce de belirttiğimiz gibi  CMOS bellekler uçucudur. Elektrik kesildiğinde tüm veriler kaybolur. 

Ana belleği oluşturan öğeler arasında Salt Okunur Bellekler de (ROM: Read Only Memory) vardır. Bu belleklerdeki bilgiler elektrik kesilse dahi kaybolmaz. ROM`lara genellikle kontrol programları yüklenir ve bilgisayarlar ilk açıldığı anda yürütülen işlemler bu programların denetiminde yapılır. Örneğin kişisel bilgisayarlardaki (PC) BIOS böyle bir bellekte saklanır. 

2.3.  Veriyolu 

Merkezi işlem birimi ve ana bellek arasında bitlerin geliş gidişi, adına veri yolu dediğimiz bir yığın bağlantı ile sağlanır. Ana bellekteki veriler, veri yolu ile merkezi işlemciye alınır.Burada işlemler tamamlanınca da ana bellekte istenen adrese yerleştirilir.Bütün bu işlemler elektrik sinyalleri ile gerçekleştirilir. 

Yukarıdaki açıklamadan da gibi ana bellekteki iki sayıyı toplamak için toplama işlemi dışında birçok işlem yapmak gerekir. Bu işlemler kontrol birimi ile aritmetik-mantık biriminin birlikte emek harcamasını gerektirir. Kontrol birimi veriyolu üzerinden istenen verileri getirip götürürken , aritmetik-mantık birimi veriler üzerinde program tarafından belirlenen işlemleri yapar. 

Ana bellek entegre devrelerinin , merkezi işlemci ile iletişimini kontrol etmek üzere , bu entegrelere komut girişi konulmuştur. Bu komut girişi entegreyi seçmek için kullanılır. Böylece , yalnız seçilen entegredeki veriler veriyoluna , oradan da merkezi işlem birimine ulaşır. 

Veriyolu bilgisayarın tipine göre belli sayıda fiziksel hattan oluşmuştur. Bu hat bellekler, kontrol devreleri ve merkezi işlem birimince ortaklaşa kullanılır. Bir anda hangisinin buna erişeceğine merkezi işlemci biriminin program komutuna bakarak ürettiği kontrol sinyalleri karar verir. Eğer aynı anda birden fazla birim veriyoluna erişirse veriler bozulacağı için bu erişimdeki zamanlama çok önemli ve kritiktir. Bu yüzden veriyolu çoklayıcılar kullanılarak kontrol edilir. 

Bir çoklayıcının blok şemasını aşağıda gösterdik. Burada amacımız yine size bir fikir verebilmektir. 

 

Şekil 2.4  Bir çoklayıcı (multiplexer) entegresinin şematik gösterimi. 

İki seçme girişi kullanılarak dört girişten biri seçilir ve seçilen giriş Y çıkışına aktarılır. Bu sayede örneğin RAM , ROM ya da başka bir elemanın verilerinden yalnızca birinin veriyoluna aktarılması sağlanır. 

RAMler hem okunabildiği hem de yazılabildiği için , kontrol girişine ek olarak okuma ve yazma girişleri de bulunur. Tipik bir RAM entegresinin yapısı şekil 2.2`de gösterilmiştir.  

 

Şekil 2.2  

RAM`in kapasitesine göre veriyolu ve adresyolunu oluşturan bacak sayıları belirlenir. Veriyolundaki iki yönlü ok RAM`a verilerin aktarılabileceğini, aynı zamanda da RAM`den verilerin okunabileceğini göstermektedir. Buna karşılık adres yolu tek yönlüdür ve istenen adres RAM`a iletilir.   

Veriyolu 8 bit, 16 bit yada daha geniş olabilir. Adres yolu ise RAM`in kapasitesine göre değişir. Örneğin; 128 baytlık bir RAM`de adres yolu 7 bitten oluşur. Bu RAM`de veri saklamak için 128x8 bit yani 1 Kbit alan vardır. Bu tür yapılanmaya bayt adreslenebilir RAM denir.   

 

  

3. Merkezi İşlemcinin Çalışması 

Bilgisayarlar sadece makina dilinden anladıkları için tüm diğer dillerde yazılan programlar o makinanın anladığı makina diline çevrilir ve sonuçta program 0 ve 1 değerlerinden oluşan dizinler biçiminde görülür. 

Makina diline çevrilmiş bir komutun çalıştırılması için geçen süreye makina çevrimi denir. Makina çevrimi komut süresi ve işlem süresi olarak iki bölümden oluşur. Komut süresinde komut ana bellekten ya da ön bellekten alınarak komut saklayıcısına konur. Komutun çözümlenmesi için geçen süre de komut süresi içinde sayılır.  

Çözümlenmiş komut aritmetik ve mantık biriminde gerekli işlemlerin yapılmasını sağlar ve elde edilen sonuç ana belleğe gönderilir. Bu süreye işlem süresi denir. İşlem süresi sonunda elde edilen sonuç belleğe yerleştirilince bellekten yeni bir komut alınır ve yeni bir makina çevrimi başlamış olur.  

Bunu biraz daha açmak için şu örneğe bakalım; 
 

Simgesel olarak AX saklayıcısındaki bilgiler ile CX saklayıcısındaki bilgileri ekleyip sonucu AX de saklayan bir program satırı aşağıdaki gibi olabilir: 

Komut: ADD AX, CX 

Bu komutun bellekten alınıp, ne anlama geldiğinin bilgisayar tarafından algılanması için geçen süre komut süresini oluşturur. 

Buna karşılık işlemin yapılması yani AX ve CX`in içeriklerinin toplanması ve sonucun AX de kalması işlem süresini oluşturur. Bu örnekte sonuç ana belleğe aktarılmamaktadır. Bu işlem gerekliyse yeni bir komut kullanılacaktır. 

 

Bilgisayarlarda program komutları ardışık olarak saklanır. Normal olarak bir komut çağırıldıktan ve komutun öngördüğü işlemler yapıldıktan sonra izleyen komuta geçilir. Öte yandan bazı durumlarda bir sonraki komut yerine yeni bir adrese atlamak gerekebilir. Bunu sağlamak amacıyla bilgisayarlarda ayrılma/yönlendirme (branch) komutları bulunur. 

Örnek: 
 

Bellek Adresi

Makina Dili

Assembly Dili

Açıklama

.

.

.

.

.

.

.

.

0100

B80500

mov ax, 0005

ax`e 5 değerini atar

 

 

baş:

bir aşağıdaki komutun 
adresini tutan etiket

0103

48

dec ax

ax`in değeri 1 azaltılır

0104

3D0000

cmp ax, 0000

ax`in değerinin 0 olup 
olmadığı kontrol edilir

0107

75F7

jnz baş

(yönlendirme komutu) 
eğer ax 0`a eşit değilse 
baş`a döner

.

.

.

.

.

.

.

.

Yukarıdaki örnekte Assembly dili ile yazılmış basit bir döngü görülmekte. 

Bir komutun çalıştırılması için çeşitli aşamalardan geçilir. Ön aşamalar tüm komutlar için ortaktır. Bunlar: 

·  komutun bellekten alınması

·  çözümlenmesi ve çalışmaya hazır duruma getirilmesidir. 

Çözümlenme işlemi bilgisayarın yapısına göre değişir. Bazı mikroişlemcilerin kontrol birimleri tümüyle elektronik devrelerin birbirine bağlanmasıyla oluşturulabilir. Bu yaklaşımda çözümlenen komutun ürettiği sinyaller donanımın kontrol sinyallerini aktif hale getirerek bir işlemin yapılmasını sağlarlar. Örneğin bir saklayıcıya veri aktarmak için onun `yükle` girişini aktif duruma getirebilir. 

Bu yöntem hızlıdır. Ancak donanım üzerinde kurulduğu ve her komutun değişik donanım parçaları gerektirdiği düşünüldüğünde, komut sayısı arttıkça devreler daha karmaşık duruma gelecektir. 

Diğer bir yaklaşım ise mikrokod kontrolüdür. Burada kontrol biriminde mikrokodları saklayan bir bellek bulunur. Her komuta karşılık gelen mikrokod burada saklanır. Her komut çözümlendiğinde bu mikrokod kontrol çıkışlarına aktarılır ve gerekli sinyaller üretilerek donanımın kontrolü sağlanmış olur. 

Mikrokod belleği ana belleğe göre çok daha geniştir. Örneğin 16 bitlik bir ana bellek kullanılırken her bir komutu üretmek için çok daha geniş bir mikrokod belleği gerekebilir. Bu Şekil 2.5`te açıklanmıştır.  
  

Şekil 2.5  
  
Yukarıdaki şekilde görüldüğü gibi sabit mikrokodun 5 nolu biti `1` yapıldığında mikroişlemci "Akümülatöre Yükle" komutunu alacak, diğer bitler yardımıyla akümülatöre ne yükleyeceğini anlayacak ve gerekli işlemleri yapacaktır. Her bir komut için bir bit gerekeceği düşünülürse mikrokodun boyu çok uzayacaktır. Bu yüzden; bazı bitlerin aynı anda asla `1` olmayacağından yola çıkılarak komut grupları oluşturulmuştur. Bu konunun ayrıntılarını `Computer Organization` (Bilgisayar Yapısı) kitaplarında bulabilirsiniz.  
  
  

4. Merkezi İşlem Birimi Çeşitleri  
 

CISC (Complex Instruction Set Computer) 

Makina dili bilgisayarların anladığı tek dil olduğu için yüksek düzeyli dillerde yazılan programlar derleyiciler tarafından otomatik olarak makina diline çevrilir. Bu işlem sırasında işlemcinin sağladığı makina dili komutları kullanılır. Çok sayıda makina dili komutu sağlayan işlemciler İngilizce Complex Instruction Set Computer sözcüklerinin baş harflerinden oluşan CISC yapısındadır. Bu işlemciler birçok işlev için komutlar sağlar. Bu komutlar toplama, çıkartma, taşıma, karşılaştırma gibi işlemleri yapar. Bu yaklaşım programlamayı kolaylaştırmakla birlikte işlemcileri karmaşık duruma getirmekte ve yavaşlamalarına neden olmaktadır.  
  

RISC (Reduced Instruction Set Computer) 

Buna çözüm olarak RISC işlemci mimarisi geliştirilmiştir. Komut sayısının azalmasıyla birlikte komutların işlenmesi basitleşmiş dolayısıyla işlemci verimi artmıştır. Doğal olarak bunun karşılığında ödenen bedel de programlama işleminin karmaşıklaşması olmuştur. 

Paralel İşlemciler 

Programların çalışması sırasında tüm komutlar sırayla işletilir. Bugün programları parçalara bölebilecek ve bu parçaları paralel olarak aynı anda çalıştıracak bilgisayarlar üretilmektedir. Bu yönteme paralel işlem adı verilir ve programların çalıştırılma süreleri büyük ölçüde kısalır.  
 

5. İşlemcilerin Özellikleri  
 

İşlemcilerin belirleyici özellikleri olarak sözcük boyunu, hızını ve bellek kapasitesini sayabiliriz. Şimdi bu özelliklere ayrı ayrı bakacağız.  
  

Sözcük boyu 

Sözcük, bir bilgisayar sisteminin veriyolunda ya da iç işlemlerinde aynı anda kontrol edilebilen bit sayısını verir. Veriyolu ve merkezi işlemci değişik boylarda sözcükleri kabul edip işleme sokabilirler. Popüler bilgisayarların birçoğu merkezi işlemcide 32-bit, veriyolunda ise 16-bit sözcük boyu kullanmaktadır. Büyükboy bilgisayarlar 32 ila 64 bit Sözcük boyu kullanırken süper bilgisayarlar 64-bit sözcük boyu kullanır. 

İşlemci Hızı 

Merkezi işlemcilerin hızları saat frekansı, MIPS (Million Instructions Per Second) ya da FLOPS (FLoating-point Operations Per Second) olarak tanımlanır.  

Genellikle kişisel bilgisayarlarda saat kristal bir osilatör (frekans üreteci) tarafından üretilir. Bu frekans Hertz daha doğrusu Megahertz cinsinden verilir. Üretilen bu sinyalin bir periyodunun süresi saat çevrimini oluşturur. Bir işlem çevrimi birçok saat çevriminden oluşur.  
 
 

MIPS büyükboy bilgisayarlar için kullanılmakla birlikte iş istasyonları ve PC`ler için de kullanılır. FLOPS ise bir saniyede yapılabilen reel sayılı işlemleri gösterir. Bilimsel hesaplamalarda bu tür sayılar kullanıldığı için daha çok süper bilgisayarlara uygulanır. Bunlar saniyede 30 - 100 GigaFlops hızına ulaşabilirler. 

Bellek Kapasitesi 

Bellek kapasitesi bayt cinsinden verilir. Genellikle Megabayt (MB) düzeylerinde olan bu kapasite bilgisayarın veri depolama yeteneğini gösterir. Günümüz PC`lerinde genellikle 16 - 256 MB bellek kullanılır. 

Programlar normal olarak disklerde tutulur ve çalıştırılan kısımları ana belleğe alınır. Eğer yeni bir program parçasına gereksinim duyulursa ve bellek doluysa bu durumda fifo (ilk giren ilk çıkar) yöntemi ile en önce belleğe yüklenen ve en uzun süre kullanılmayan program parçası, işletim sistemi tarafından sabit diskte bulunan takas dosyasına, ihtiyaç duyulduğunda geri çağırmak üzere gönderilir.  Bu işlem zaman aldığı için belleği büyük olan bilgisayarlar uzun programları daha hızlı çalıştırırlar.  
 

6. Kişisel Bilgisayarların Özellikleri  
 

Hepiniz şu anda bilgisayar kullandığınıza göre bilgisayarlar ile ilgili temel kavramlara sahipsiniz. Özellikle kendileri ya da başkaları için bilgisayar satın almış olanlarınız PC`ler ile ilgili temel kavramları çok daha iyi bilir. Biz burada konunun kimi bölümlerine değineceğiz. Daha geniş bilgiyi kitabınızda ve başka kaynaklarda bulabilirsiniz. 

PC`ler Intel veya Intel uyumlu mikroişlemciler kullanır. Buna karşılık Apple bilgisayarlar Motorola üretimi 68000 serisi ya da PowerPC ailesinden işlemciler üzerine dayanır.  

PC`ler ile ilgili çok sözü geçen kavramlardan birisi de veriyolu çeşitleridir. Bildiğiniz gibi bunlara takılan cihazların sayısı gün geçtikçe artmakta ve genişleme yuvalarının sayısı yetersiz kalmaktadır. En yaygın kullanılan kartlar genellikle ISA genişleme yuvası uyumludur. Bu veriyolu 16 -bit olduğu için oldukça yavaştır. Ekranı, diskleri ve diğer cihazları kontrol eden devreler bu veriyoluna bağlanır.  

MCA ve EISA veriyolları 32-bit genişliğinde dolayısıyla daha hızlı olmakla birlikte pahalı olması nedeniyle fazla rağbet görmemiştir. 

Son gelişmeler genişleme kartlarını doğrudan sistemin yerel veriyoluna bağlamayı yeğlemiştir. Bu sayede sistem hızı ile eklerinin hızı arasındaki uyumsuzluk kaldırılmıştır. Bu ilkeyle çalışan veriyoluna PCI veriyolu denir ve 32-bit genişliğindedir. 

En son olarak özel bir veriyolu olan AGP (Advanced Graphics Port) geliştirilmiştir. Bu veriyolu ana belleğe doğrudan ulaşabilme özelliğine sahiptir. Çok fazla ekran hafızasına gerek duyulan uygulamalarda (özellikle üç-boyutlu grafik uygulamalarında) ana bellek ekran belleği olarak kullanılır.  
  

7. Sonuç  
 

Bu bölümde bilgisayar donanımının bazı özelliklerini anlatmaya çalıştık. Bu özellikler tüm bilgisayarlarda bulunmakla birlikte bilgisayardan bilgisayara çok farklılıklar da gösterebilirler. Genellikle hangi özelliklerin öne çıkmasını istediğinize kullanım amacınız karar verecektir. 

Sonuçta donanım kendisine yazılım tarafından verilen komutları yerine getirebilmek için çalışır.  



Konu: BİLGİSAYAR SİSTEMLERİ VE YAPILARI Bilgisayarlarda Bilgi Saklama
 
Okunma Sayısı : 67
Eklenme Tarihi : 29 Temmuz 2007, Pazar
SONRAKI BILGI : Delgado`da ödem tespit edildi   
Forum Linki:
Aranan Kelime:
   

 

 

Copyright © 2008 Temha.neT