Kumdan İşlemciye: Bilgisayarın Doğuşunun Gizli Hikâyesi
Elektrik: Her Şeyin Temeli
Bilgisayar, özünde son derece basit bir soruya dayanır: elektrik var mı, yok mu? Başka hiçbir şey bilmez. Harf bilmez, sayı bilmez, renk bilmez.
Bir lamba düşünün. Ya yanıyor ya yanmıyor. İki durum. Buna 1 ve 0 adını verdik. Bu isimler tamamen insanların koyduğu etiketler bilgisayar için gerçekte sadece elektrik var veya yok.
Tek bir lamba ile yalnızca iki şey anlatılabilir. Ama 8 lamba yan yanakonulduğunda 256 farklı kombinasyon elde edilir. 16 lamba ile 65.536. Milyarlarca lamba ile... her şey.
Transistör: Açık/Kapalı Anahtarı
İlk bilgisayarlarda gerçek lambalar ve büyük elektrik tüpleri kullanılıyordu. Odalar dolusu makine, sadece birkaç hesap yapabiliyordu. 1947 yılında Bell Laboratories'de üç mühendis Bardeen, Brattain ve Shockley transistörü icat etti.
Transistör, elektrikle kontrol edilen küçük bir anahtardır. Üzerine küçük bir elektrik gelince açılır, gelmeyince kapanır. İşte bilgisayarın tüm sırrı budur.
Bugün bir tırnak boyutundaki çipe 16 milyar transistör sığıyor. Hepsi aynı görevde: elektriği geçirmek ya da geçirmemek.
Transistörler Birbirini Tetikliyor
Transistörler birbirine bağlı. Biri açılınca diğerini tetikliyor, o da bir başkasını. Bu zincirleme reaksiyon hesap yapmayı mümkün kılıyor. Kimse elle açıp kapatmıyor — elektrik kendi kendine akıyor, fizik kanunları devreyi işletiyor.
İşlemcinin içinde bir kuvars kristali var. Bu kristale elektrik verilince titreşiyor, saniyede milyarlarca kez. Bu titreşim düzenli elektrik darbesi üretiyor ve tüm transistörleri ritmik olarak tetikliyor. Tıpkı kalp atışı gibi.
Silikon ve Çip Üretimi
Transistörler silikon adı verilen bir maddeden yapılır. Silikon, sahil kumunun içindedir. Kum eritilir, saflaştırılır ve saf silikon elde edilir.
Neden Silikon?
Silikon ilginç bir özelliğe sahiptir: normal hâlde elektriği geçirmez. Ama içine belirli maddeler eklenince geçirmeye başlar.
Fosfor veya Arsenik eklenirse → Fazladan elektron kazanır → Elektriği iletir (N tipi)
Bor eklenirse → Elektron eksikliği oluşur → Farklı iletkenlik (P tipi)
N tipi ve P tipi yan yana gelince → Kontrol edilebilir anahtar = Transistör
Fotolitografi: Işıkla Çizim
Milyarlarca transistörü çipe nasıl sığdırıyorlar? Fotolitografi yöntemiyle.
Mühendisler önce devreyi büyük ölçekte tasarlar — eskiden kağıda çizerlerdi. Bu tasarım ışıkla silikon üzerine yansıtılır. Silikon üzerindeki kimyasal madde ışık değen yerde erir, değmeyen yerde kalır. Geriye kazınmış devre şekli kalır.
Bugün kullanılan EUV (Aşırı Mor Ötesi Işık) o kadar kısa dalgalıdır ki atom boyutunda çizgi çizebilir. 1 metre genişliğinde çizilen bir devre, 150 milyon kat küçültülerek çipe aktarılır.
Makine Kodu ve İkili Sistem
Bilgisayar sadece elektrik var/yok bildiğine göre, ona nasıl talimat veriliyor?
İnsanlar bir sistem kurdu: ikili (binary) sistem. Normal günlük hayatta 10'lu sistem kullanılır çünkü insanın 10 parmağı vardır. Bilgisayarın ise sadece 2 "parmağı" var: açık ve kapalı.
Her Bitin Bir Değeri Var
8 transistör yan yana dizildiğinde her birinin önceden belirlenmiş bir ağırlığı vardır:
Açık transistörlerin değerleri toplanır. Bu toplam bir sayıya karşılık gelir. Bu sayı ise bir anlama. Bilgisayar sayıyı "bilmez" — sadece hangi transistörlerin açık olduğunu hisseder. Sayı, insanların bu duruma verdiği isimdir.
ASCII: Harflerin Sayıya Dönüşmesi
Bilgisayar harf bilmez. Ama insanlar bir anlaşma yaptı: her harfe bir sayı atandı. Bu anlaşmanın adı ASCII (American Standard Code for Information Interchange).
Bu bir sözlük. Bilgisayar için 65 geldiğinde ekranda A şablonu çizilir. A'yı "bilen" bilgisayar değil, bu şablonu önceden hazırlayan insanlardır.
Ekranda A Nasıl Çiziliyor?
A harfinin şekli bir font dosyasında piksel piksel tanımlanmıştır. Grafik tasarımcılar her harfi piksel ızgarasında çizdi, dosyaya kaydetti. Ekran, 65 geldiğinde o şablonu açar ve ilgili pikselleri yakar:
Bellek: RAM ve ROM
Talimatların ve verilerin saklandığı yer bellektir. Bellek de transistörlerden oluşur ama bu transistörler hesap yapmaz, durumlarını korur.
ROM (Salt Okunur Bellek)
Fabrikada üretilirken içine yazılır. Elektrik gitse de içindekiler kaybolmaz. Klavyenin hangi tuşunun hangi sayıya karşılık geldiği gibi temel bilgiler burada saklanır. Transistörler kalıcı olarak açık ya da kapalı bırakılır.
RAM (Geçici Bellek)
Şu an çalışan programları tutar. Bilgisayar kapatılınca elektrik gider, transistörler durumlarını kaybeder, her şey silinir.
RAM'i masa yüzeyine benzetebiliriz. Ne kadar büyük masanız varsa o kadar çok şeyi önünüzde tutabilirsiniz. Masa küçükse sürekli dolaba (sabit diske) gidip gelmeniz gerekir bu yavaşlatır.— Analoji
RAM artırınca bilgisayar hızlanır çünkü daha fazla veri yakında bekler, sabit diske gidip gelme azalır.
İşlemci: CPU ve GPU
CPU (Merkezi İşlem Birimi)
Az sayıda (8-16) ama güçlü çekirdek içerir. Her çekirdek karmaşık işler yapabilir: hesap, karar verme, program yürütme. Çekirdek, binlerce transistörün birlikte oluşturduğu tam bir hesap birimidir.
GPU (Grafik İşlem Birimi)
Binlerce küçük çekirdek içerir. Her biri basit iş yapar ama hepsi aynı andaçalışır. Ekrandaki milyonlarca pikselin rengini hesaplamak için idealdir.
İkisi de aynı transistör mantığıyla çalışır. Fark yalnızca kaç tane oldukları ve nasıl organize edildikleridir.
Klavye, Fare ve Monitör
Klavye
İçinde yatay ve dikey tellerden oluşan bir ızgara (matris) vardır. Tuşa basılınca üst ve alt katman birbirine değer, devre kapanır, elektrik akar. Klavye çipi hangi satır ve sütunun kesiştiğini belirler, ROM'daki tabloya bakarak bunu bir sayıya dönüştürür ve işlemciye gönderir.
Fare
Altında küçük bir kamera bulunur. Saniyede yüzlerce kez yüzeyin fotoğrafını çeker. İki ardışık kareyi karşılaştırarak hareket yönünü ve miktarını hesaplar. Bu bilgiyi işlemciye gönderir. İşlemci belleğe bakarak "bu yönde hareket = oku şuraya taşı" talimatını uygular.
Monitör
İçinde milyonlarca piksel bulunur. Her piksel üç alt pikselden oluşur: kırmızı, yeşil, mavi (RGB). Her birine gönderilen elektrik miktarı parlaklığını belirler. İşlemciden gelen sinyale göre hangi piksellerin ne kadar parlayacağı hesaplanır.
Assembly ve C Dili
İlk programcılar doğrudan makine kodu yazıyordu — saf 0 ve 1 dizileri. Her işlemci ailesi farklı makine koduna sahipti. IBM'de yazılan kod başka makinede çalışmıyordu.
Assembly: İlk Soyutlama Katmanı
Makine kodlarına kısa takma adlar verildi:
C: İnsana Yakın Dil
Dennis Ritchie şunu fark etti: İngilizce kelimelere yakın bir dil yazılabilir, bu dili makine koduna çeviren ayrı bir program yapılabilir. 1972'de C programlama dilini yarattı.
"C tuhaf, kusurlu ve muazzam bir başarıdır."— Dennis Ritchie
Derleyici: İnsandan Makineye Çeviri
Derleyici, C gibi yüksek seviye dilde yazılan kodu makine koduna çeviren programdır. Tıpkı Türkçe-İngilizce sözlük gibi: "printf" görünce karşılığı olan transistör komutlarını yazar.
Bugün kullandığınız Python, Java, JavaScript — hepsi sonunda makine koduna dönüşür. Her dil bir öncekinin üzerine eklenen bir soyutlama katmanıdır. En altta hâlâ elektrik var/yok bulunur.
Tüm Zincir: A Harfinin Yolculuğu
Baştan sona tüm süreci bir arada görelim. Klavyede A tuşuna basıldığında gerçekte neler olur?
Her adımda yalnızca elektrik sinyalleri gidip geldi. Hiçbir yerde gerçek anlamda "A" harfi yoktu. A harfi senin beyninde oluştu.
Bilgisayar aptal bir makinedir. Onu akıllı yapan, insanların koyduğu kurallardır. Sayı da bir anlaşma. Harf de bir anlaşma. Yazılım da bir anlaşma. En altta her zaman sadece elektrik var ve yok.— Bilgisayar Biliminin Özü
Bu yazıyı beğendiyseniz, diğer çalışmalarımı da beğenebilirsiniz:

Yorumlar
Yorum Gönder