HARDWARE DERSANESİ

Merhaba Sevgili Amiga Dünyası Okuyucuları!

Sizlere her ay bu köşede Hardware temeli ve uygulamaları ile ilgili bilgiler vereceğiz. Bu bölümün amacı bilgisayar kullanıcılarının dışarıdan birtakım işlemler yaparken, içerde olup bitenle ilgili genel bir fikir edinmesini sağlamak. Derslerimize DIGITAL Teknik ile başlayacağız ve zamanla hep birlikte bilgisayarın en ileri aşamalarına kadar gideceğiz.

Yazı dizimizde ilk olarak "HARDWARE" ya da Türkçe karşılığı ile "DONANIM" nedir diye başlayacak, sonra da yavaş yavaş konuya gireceğiz. Lütfen yazımızla ilgili soru ve eleştirilerinizi bize yazın. Bunları köşemizde mümkün olduğunca yanıtlamaya çalışacağız.

HARDWARE = DONANIM Hardware, genel olarak bilgisayar dünyasındaki teknik olayların tümüdür. Bilgisayar ya da bilgisayarlar ile kullanılan diğer yan birimlerin tasarım, üretim, montaj, geliştirme ve tamir aşamalarının tamamı bu kapsama girer.

Günümüzde tüm büyük bilgisayar firmalarının bu isim altında tasarım ve bakım-onarım servisleri vardır. Bu bölümlerde "Elektronik Dünyası"nın içinde olan yani temel elektronik eğitimi almış olan ve bu temeli bilgisayarda geliştiren elemanlar, yeni model bilgisayarların tasarımını yaparlar. Elektronik Dünyasından dedik, çünkü donanım elektroniğin özellikle "Digital Elektronik"in bir aşamasıdır. Dolayısıyla Elektronik temeli olmadan donanım konusuna girmek mümkün değildir, işte bu nedenle donanım derslerimize "Digital Elektronik" konusundan başlayacağız.

DIGITAL ELEKTRONİĞE

GİRİŞ: Sizlere bu bölümde "Digital" ne demektir, nerede kullanılırdan başlayarak, bütün digital sistemlerde ana dil olan "Binary" (ikili) sayı sistemlerini anlatacağız. Sonra da digital teknikle oluşturulan donanım cihazlarından bahsedeceğiz.

Bu bölüm temel bir bilgi verecektir. Digital teknik bilginizi bu temel üzerine kuracak ve geliştireceksiniz. Bu yüzden dikkatle takip etmeli ve çok iyi kavramalısınız.

DIGITAL ELEKTRONİK: Elektronikte iki tip sinyal vardır: Analog ve Digital. Analog sinyal halk arasında daha çok bilinir, çünkü daha eskidir. Analog sinyal alternatif, yani düzgün ve sürekli olarak değişen bir akım veya gerilimdir. Radyo sinyalleri veya ses frekans sinyalleri analog sinyallere örnek gösterilebilir. Digital sinyallerde ise, her türlü bilgi ikili (binary) sayı sistemi dediğimiz 1 ve 0'lardan oluşur.

Duvar ya da kol saatlerini düşünün. Biliyorsunuz kalibre edilmiş bir kadran üzerinde oynayan akrep ve yelkovan pozisyonu zamanı gösterir. Zamanı tam olarak okuyabilmek, kadran üzerindeki taksimatların ne kadar sık olduğuna bağlıdır. Oysa digital saatlerde zamanı saat, dakika, saniye ve hatta salise cinsinden tam olarak okumak mümkündür. Hassasiyet tamdır ve zamanı doğrudan decimal (ondalık sayı sistemi) olarak gösterir. Kısaca digital, bulunduğu konuma göre

LÜTFİ BİRSES tam olarak ölçü, adet veya sayı verebilmektedir. Analogta bu yoktur. Başka bir deyişle digital kesin ve nettir, ya vardır ya da yoktur. İşte bu kesinlik binary sayı sisteminden, yani ikili sayı sisteminden kaynaklanır. İkili sayı sisteminde her sayı 1'ler, 0'lar ve bunların kombinasyonu ile ifade edilir.

Ondalık sayı sistemi, temelde insanın 10 parmağı olması neticesinde ortaya çıkmıştır. İnsanların sayıları ifade etmek ve hesap yapmak için ilk denemeleri parmaklarını kullanarak olmuştur. İşte bu nedenle günlük hayatta ondalık sayı sisteminin kullanımı yerleşmiştir. Günlük hayatta kullandığımız 0'dan 9'a kadar olan sayılar ve bunların belirli büyüklükleri gösteren kombinasyonlarından oluşan "Decimal" yani ondalık sayılar, digital elektronikte genellikle binary, yani ikili sayı sistemine çevrilerek kullanılır. Buradan Digital'de sadece binary sayıların kullanıldığı yanılgısına düşmeyin, zira her iki sayı sistemi de kullanılır. Fakat ikili sayı sistemi esas alınarak oluşturulan digital cihazların diğerlerine göre daha ucuz, daha basit, hızlı ve güvenilir olma gibi üstünlükleri vardır. Günümüzde artık digital elektronikte genelde ikili (binary) sayı sistemi kullanılmaktadır.

Sayı sistemlerinin temel farklılığı tabandır. İkili (Binary) sayı sisteminde taban 2, ondalık (decimal) sayı sisteminde ise taban 10'dur.

Ondalık (Decimal) sayıları ifade etmekte kullanılan 0'dan 9'a kadar 10 farklı rakam vardır. İkili (Binary) sayıları ifade etmek için ise sadece 0 ve 1 rakamları kullanılır. Pratikte bunlardan digit olarak bahsedilir. Bu ikili digitler yan yana dizilerek bir ondalık sayıyı ifade edebilir. Örneğin;

1101(2) = 13(10) sayısına eşittir. Bütün modern digital sistemler bu ikili sayı sisteminden oluşmuştur.

İKİLİ SAYI SİSTEMİ:

Ondalık sayı sisteminde basamakların ağırlığı vardır. Örneğin 4583 sayısında 4'ün ağırlığı 1000, 5'in ağırlığı 100, 8'in ağırlığı 10 ve 3'ün ağırlığı 1'dir. Yani sayının neticesini bulmak için, 4 adet 1000, 5 adet 100, 8 adet 10 ve 3 adet 1'i toplamak gerekir, ikili sayı sisteminde de ağırlık vardır, ancak bu ağırlıklar 1, 10, 100 diye gitmez. İkili sayı sistemi ağırlıkları 1, 2, 4, 8, 16, 32 diye katlanarak gider. Bu ikili sayıyı, ondalık sayıya çevirmek için sayıyı bu katlarla çarpıp toplamak yeterlidir. Örneğin 11101 sayısının ondalık karşılığı şöyle bulunur: 11101 = 1(16) 1(8) 1(4) 0(2) 1(1) = (1*16) + (1*8) + (1*4) + (0*2) + (1*1) = 16+8+4+0+1 11101(2) = 29(10)

Örnekte de gördüğünüz gibi, her digit kendi ağırlığı olan sayıyla çarpılarak toplanır. 10 tabanındaki bir ondalık sayıyı ikiliye çevirmek için ise farklı bir yöntem kullanılır. Aynı örnekten devam ederek işlemin tersini yapalım, yani 29 sayısını ikili sayıya dönüştürelim. Bu işlem için sayıyı sürekli olarak ikiye bölmek gerekir. İşlemin kalanı ikili sayının digitlerini oluşturur. Bölüm sıfır olana kadar bu işlem devam eder. İsterseniz bu işlemi örnek üzerinde inceleyelim: 29/2=14 KALAN 1 14/2=7 KALAN 0 7/2 = 3 KALAN 1 3/2 = 1 KALAN 1 1/2 = 0 KALAN 1

İşlem sonuçlandıktan sonra, kalanlar alttan üste doğru yan yana dizilir:

111101(2) = 29(10) İkili sayı grubunu oluşturan basamaklardan her birine "Bit" denir. Günümüzde kullanılan bilgisayarlar da işte bu sistemle haberleşir. Bitlerden oluşan bilgiler (BYTE'lar) bilgisayar içinde oradan oraya koşturarak tüm hesaplamaların yapılmasını sağlar. İkili sayı sisteminin ondalık sayı sistemine göre tek dezavantajı, ondalık sistemde iki basamakta belirtilen sayıları daha fazla basamakta digitlerle belirtmesidir. Fakat gelişen teknoloji buna da çözüm bulmuş ve 8, 16 ya da 32 bit mikroişlemciler kullanılmaya başlanmıştır. Bu konuya mikroişlemcilerin çift zamanlı çalışması sağlanarak bit sayısını iki katına çıkarmak yoluyla da çözüm sağlanmıştır.

İKİLİ (BINARY) SAYI UZUNLUKLARI:

İkili bir sayı, aynı zamanda ikili kelime demektir. 8 basamaklı ikili bir sayı aynı zamanda 8 bit'lik bir kelimedir. Bu 8 bitten oluşan kelimeye "BYTE" denir. Birinci kuşak bilgisayarların çoğu 8 bit'lik mikroişlemciler kullanmaktaydı. Ancak günümüzde 16 veya 32 bitlik bilgisayarlar yayılmaya başladı.

Bu durumda, "bu bit sayısının önemi nedir?" gibi bir soru aklınıza takılabilir. Bunu şöyle açıklayabiliriz: Bir bilgisayardaki bit sayısı, o bilgisayarlardaki somut VERİ (Data) taşıma hat sayısını ifade eder. 8 bitlik bir makinada 8 adet veri yani data hattı vardır. Bunu bir şehrin caddelerine benzetebiliriz. Bir şehirdeki cadde sayısı ne kadar fazla olursa, o şehirdeki trafik akışı o kadar rahat olur. Ancak şehrin kontrolü de aynı oranda zorlaşır. Bilgisayarlarda da bu böyledir. İşte bu yüzden 16 ve 32 bitlik makinalar daha karmaşık ve daha profesyonel bir yapıya sahiptir.

Byte'ların bilgisayar içinde nasıl kullanıldığına yazımızın daha sonraki aşamalarında değineceğiz. Şimdi ikili sayıların çevrim işlemlerine devam edelim.

İkili sayıların ondalık sayılara, ondalık sayıların da ikili sayılara nasıl çevrildiğini gördük. Şimdi de ikili sayılardan ONALTILI (HEXADECIMAL) sayılara çevirme işlemlerini görelim. Şimdi nereden çıktı bu onaltılı sayılar diye düşünüyorsunuz değil mi? Hemen açıklayalım: 8 bit'ten oluşan byte'ların yazılması ve not edilmesi oldukça zordur. Her satır için sekiz ayrı işaret gerekir. Bu yüzden yazılım (Software) dilinde bu sayı sistemi kullanılır. Nasıl ikili sayı sisteminde iki, ondalık sayı sisteminde on değişik sembol varsa, onaltılı sayı sisteminde de 0'dan 9'a kadar 10 sayı ve A'dan F'ye kadar 6 harften oluşan onaltı değişik sembol mevcuttur. 16'yı tamamladığında iki hane olur.

Tabloda, 4 bit'lik ikili sayı sistemindeki bütün tüm olasılıkların ondalık ve onaltılı sayı sistemindeki karşılıkları ile verilmiştir.

ONDALIK İ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

Bu tabloda sayı sistemlerinin birbirine karşılık gelen sembolleri listelenmiştir.

Bilgisayar yazılımcıları, 8 bit'i tanımlamak için önce bunu ilk ve son dört bit olarak ikiye bölerler. Sonra da ayrı ayrı onaltılı sayıya çevirerek kullanırlar. Aşağıda buna ilişkin örnekleri inceleyelim:

SERİ VERİ İLETİMİ:

Seri bir bilginin oluşması için en önemli faktör, bir bit'e ayrılan zamanın kullanılma kararlılığıdır. Aşağıdaki örnekte seri olarak gönderilmiş bir byte'ın elektronik voltaj haritasındaki durumunu görmektesiniz.

ONALTILI (HEX) 
İKİLİ 
(BİN
00
0000
0000
AO 
1010 
0000
CF 
1100 
1111
FF 
1111 
1111
F5 
1111 
0101
D7 
1101 
0111
87 
1000 
0111

Başlangıçta bunu gözü kapalı yapmanız tabii ki mümkün olmayacaktır. Bol bol alıştırma yapmak suretiyle zamanla bu alışkanlığı kazandığınızı göreceksiniz. Yazımız ilerledikçe göreceksiniz ki gerek hardware alanında ve gerekse software alanında bu tür çevirme işlemlerine her zaman ihtiyaç duyacaksınız.

Buraya kadar digital elektronik konusunda sadece 1'lerin ve 0'ların önemini anlatmaya çalıştık. Şimdi de işin biraz teknik yönüne girerek 1'lerin ve 0'ların elektronik karşılıklarını inceleyelim.

Digital elektronikte özellikle bilgisayarlarda çalışma voltajı 5 volttur. Bunun anlamı devre içindeki voltajın en fazla 5 volt olduğudur. Elektronikte ikili sayılarda "1"in karşılığı "5 Volt", "0"ın karşılığı ise "0 Volt"tur. Sadece bu iki olayı kullanan devrelere ise "LOJİK DEVRELER" denir.

Lojik devrelerin iki temel tipi vardır: karar verebilen devreler ve saklayan devreler. Bizim lojik olarak düşünme yeteneğimiz hem karar verebilme, hem de olayları hatırlama kabiliyetini gerektirir. Bu digital devreler ve cihazlar için de geçerlidir. Lojik devreler girişten ikili bilgileri alırlar ve bu bilgilere dayanarak çıkış sinyali verirler. Bu, çıkış devresindeki karar verebilme yeteneğinin bir sonucudur. Bazen de giriş bilgileri, gereğinde kullanılmak üzere depo edilir.

Bahsettiğimiz devre türlerinden karar verebilen devrelere "KAPI DEVRELERİ" denir. Eskiden bu tür bir devre oluşturmak için diyot, transistor gibi yarı iletken sınıfına giren pek çok devre elemanları kullanılırdı. Ancak günümüzde bütün bunları içine alan entegre devreler kullanılmaktadır.

Depo edebilen lojik devrelere ise "FLIP-FLOP DEVRELERİ" denir. Bu devreler 1 bit'lik bilgiyi hatırlar, depolar, sayar ya da kaydırırlar. Günümüzde, bunların herhangi birini yapan entegre devreleri kataloglardan seçip kullanma imkanı vardır. Yazımızın ilerleyen bölümlerinde bu tip uygulamalar yapacağız.

BİLGİLERİN İŞLENMESİ:

İkili bilgilerin işlenmesinde ve iletilmesinde iki yol vardır: Seri ve Paralel. Seri yöntemde ikili bilgilerin bit'leri sırayla tek bir kanaldan işlenir. Paralel yöntemde ise bit'ler aynı anda bit sayısı kadar kanaldan iletilir.

Bu örnekte her bit'in 1 ms (mili saniye) olduğu görülüyor. Dolayısıyla bir byte 8 ms zaman alır. Ancak seri ilişkide şöyle bir sorun vardır: Byte'ın nerede başlayıp nerede bittiği belirsizdir. Eğer peş peşe birden fazla byte gönderilecekse, ya her byte'ın başına özel bir bit ilave edilir (örneğin 0.5 ms'lik, 5V'luk bir darbe) ya da veri hattıyla beraber bir ikinci sinyalle byte'ın başlangıç zamanı bildirilir.

Burada birinci bit'ten önce bir başlangıç (START BİT) ya da bir önceki byte'ın bitiş bit'i (STOP BİT) görülüyor. Bu bit'in genel adı, "STOP BİT"tir.

PARALEL VERİ İLETİMİ:

Bu veri iletimi tipinde olay seri veri iletiminden tamamen farklıdır. Bu sistem, mikroişlemcili devrelerde, yani bilgisayarlarda kullanılır. Veriler bit sayısı kadar hattan aynı anda gelir. Örneği inceleyin:

Görüldüğü gibi 8 bit'lik bir çip (chip)'ten aynı anda 8 bit birden gönderilebilir. Yani bir önceki örneği düşünürsek, onun 1/8'i kadar bir zamanda aynı işlem yapılabiliyor. Bugün bilgisayarlarda genellikle bu sistem kullanılır.

Paralel ve seri data bağlantılarının kendilerine göre avantaj ve dezavantajları vardır, isterseniz bunlara örnekler vererek kısaca değinelim: Seri data bağlantıları biraz önceki örnekte de bahsettiğimiz gibi, paralel data bağlantılarına göre yavaştır. Buna karşılık, seri bağlantı uygulaması kolay ve pratiktir. Paralel bağlantılar zor ve karmaşıktır. Bu nedenle, bilgisayarların iç yapıları paralel olarak çalışır, ancak bağlantı zorluğu olan yan birimlerde seri de tercih edilir. Örneğin modemler seri data bağlantı yöntemini kullanır. Çünkü telefon hatları paralel'e izin vermez. Bir düşünün; 8 bit modem bağlantısı için aynı zamanda karşı tarafın da kullanacağı 8 adet telefon hattı gereklidir. Bu hiç de pratik bir yöntem değildir. Bu nedenle, bu gibi durumlarda yavaş da olsa seri veri yöntemi kullanılır. Paralel veri iletimi, bilgisayar içinde bulunan Mikroişlemci (Microprocessor), RAM (Random Access Memory) ve ROM (Read Only Memory) entegreleri arasındaki ilişkide kullanılır. Ayrıca Bilgisayar - Disket Sürücü ya da Printer (Yazıcı) bağlantıları da genellikle paraleldir. Genellikle diyoruz, çünkü hâlâ bu konuda tam bir standart oluşmamıştır. Ancak yeni kuşak bilgisayarlar tam olarak oturunca, modem'in dışında her yerde paralel bağlantıya geçilecek gibi görünüyor. Tabii bu genellemeye ev bilgisayarları dediğimiz grup dahil değil.

Bu sayıda hep birlikte Digital ve Analog Teknikleri, bunların farklarını inceledik, sonra da Lojik Devrelere geçtik. Burada Binary, Decimal ve Hexadecimal sayı sistemleri ile birbirlerine çevrilme yöntemlerini öğrendik. Daha sonra Bit'lerin ve Byte'ların elektronikteki karşılıklarına değindik, son olarak da Seri ve Paralel veri iletiminden söz ettik. Bu aylık elektronik dersimiz bu kadar. Gelecek ay Kapıları ve Flip-Flop Devrelerini inceleyeceğiz.