Evrim ve Bilgisayarlar
Evrim, bugün gördüğümüz karmaşık ve
mükemmel canlıların ilkel canlılardan doğal seçilim yoluyla oluştuğunu söyler.
Evrim karşıtları ise doğal seçilim gibi bir süreçle karmaşık organların ve
canlıların oluşmasının mümkün olmadığını, bu canlıların aşama aşama gelişmek yerine tek bir seferde yüce bir varlık,
Tanrı, tarafından akıllı bir tasarım yoluyla yaratıldığını söyler.
Darwin de evrim kuramındaki
zorluğun farkındaydı. Göz ya da beyin gibi karmaşık organların yapısı, her
türlü karmaşık yapının çok daha ilkel yapılardan evrilerek geliştiğini iddia
eden Darwin’i rahatsız ediyor ve korkutuyordu.
Darwin 1859’da yayınladığı Türlerin
Kökeni adlı kitabında şöyle diyordu:
“İtiraf ediyorum ki gözün, değişik
uzaklıklara odaklanabilme, farklı ışık miktarları alabilme ve küresel yapısının
ve renk sapmalarının getirdiği sapmaları düzeltmeye yönelik eşsiz
düzeneklerinin doğal seçilim yoluyla oluştuğunu iddia etmek en yüksek derecesinden
saçma gibi görünmektedir.
Yine de, basit ve yetersiz hücreler
ile mükemmel ve karmaşık göz arasında, çok sayıda ara aşama bulunduğu ve bu ara
aşamaların onlara sahip olan canlılara yararlı olduğu gösterilebilirse; dahası,
gözün her seferinde son derece az değiştiği ve bu değişimlerin kalıtım yoluyla
aktarıldığı gösterilebilirse; organdaki her değişikliğin hayvanı değişen yaşam
koşullarına daha iyi uyarladığı gösterilebilirse, mükemmel ve karmaşık bir
gözün doğal seçilim yoluyla oluştuğuna inanmanın güç olduğu söylenemez.“
1859’dan sonra bilim sürekli olarak
ilkel canlılar ile günümüzün karmaşık canlıları arasındaki ara canlıların
kanıtlarını buldu, sergiledi. Ama ilk canlıdan bu yana yaklaşık 3.5 milyar yılın geçmiş olması, canlıların kalıntılarını
(fosilleri) bulmanın zorluğu hep ara aşama açıklamalarının eksik kalmasına
neden oldu. Bu eksikliği Evrim karşıtları sonuna kadar kullandılar ve
kullanmaya devam ediyorlar.
Basit canlılardan çok karmaşık
canlıların ortaya çıkabilecek olması laboratuvar ortamında kolay kolay
gösterilemez. Ama temel fikir, bugün gördüğümüz karmaşık yapıların daha basit
yapılardan evrilerek gelmesi, başka ortamlarda örneklere ve kanıtlara sahiptir.
Bu ortamların birisi bilgisayardır.
Bir bilgisayar yazılım ve donanım
öğelerinden oluşur. Donanımın temel öğesi işlemcilerdir (ya da
mikroişlemciler). İşlemci piyasasının en büyük firması Intel’dir. Yazılımın
temel öğesi ise işletim sistemleridir. Bu alanın en büyük firması ise
Microsoft’tur. Intel’in işlemcilerini ve Microsoft’un işletim sistemlerini
evrime örnek olarak vermek istiyorum.
İşlemciler ve işletim sistemleri
çok basit yapılar şeklinde başlamış ve günümüzde kullandığımız son derece
karmaşık işlemciler ve işletim sistemleri ortaya çıkmıştır.
Dünya üzerinde, ilk canlılardan
önceki 1 milyar yıl boyunca çok miktarda su ve organik molekül oluşmuştur. Bu
ortama organik çorba denir. Bu organik çorbadan, bir hücre zarı ile dış
ortamdan yalıtılmış ilkel canlılar türedi.
Benzer şekilde, Intel ilk
işlemcisini üretmeden önce bilgisayarlar ve diğer elektronik devreler tek tek
transistörlerden ve ilkel tümleşik devrelerden oluşuyordu. Yani, bir elektronik
çorba söz konusuydu. Intel’in 1971’de ürettiği 4004 kodlu ilk işlemci ile durum
değişti. Elektronik çorba içinde yer alan transistor ve direnç gibi öğeler tek
bir elektronik devre üzerine yerleştirildiler, yani daha üst bir yapı olan
işlemci şeklinde toparlandılar.
4004 içinde 2300 adet transistör
bulunuyordu. Bu işlemci temelde yalnızca dört işlemi yapabiliyordu, çalışma
hızı 740 kHz idi ve saniyede 92000 matematik ya da mantık işlemi
gerçekleştirebiliyordu. 16 adet pine (dış dünya ile bağlantıyı sağlayan tel)
sahipti. 4004 o kadar ilkeldi ki adres ve veri yolları ayrı değildi: 4 adet pin
hem veri aktarmak hem de adresleme yapmak için kullanılıyordu. 4004 dört bitlik
bir işlemciydi: Aynı anda dört bitlik grupları işleyebiliyordu. Doğrudan
kullanabileceği bellek ise yalnızca 4 KB idi. Temel işlemleri yapmak üzere 46
adet komuta sahipti (çarp, böl, karşılaştır gibi).
Bir de şu an için Intel’in en üst
işlemcisi olan i7-975 kodlu işlemciye (Pentium Quad Core) bakalım. Bu işlemcide 781 milyon adet transistör
bulunur. Pin sayısı 1366’dır. 64 bitlik bir işlemcidir; yani bir anda 64 bitlik
grupları işleyebilir. 4 milyar X 4 GB’lık bir belleğe doğrudan erişebilir.
İçinde matematik işlemci, üç kanallı bellek yönetim devresi, görüntü işleme
devresi bulunur. İçindeki dört adet çekirdeğin (core)
her biri aynı anda 3 adet iş parçacığı (thread)
işleyebilir. Her çekirdeğinde 64 KB’lık birinci düzey ara bellek ve 256 KB’lık
ikincil düzey ara bellek bulunur ve bir de tüm çekirdeklerin paylaştığı 8
MB’lık üçüncü düzey ara bellek bulunmaktadır. İçindeki devreler yardımıyla
programın ne yöne doğru dallandığını tahmin edebilme yeteneğine sahiptir.
Çalışma frekansı 3.33 GHz’dir ve saniyede
gerçekleştirebileceği işlem sayısı 70 milyardır. Bu işlemci yüzlerce komuta
sahiptir ve bunların içinde matematik-mantık işlemlerinin yanı sıra çokluortama yönelik onlarca komut, sanal makinelere destek
vermeye yarayan komutlar vb. bulunur.
i7-975
işlemcisine bakıp 4004 işlemcisini tahmin etmek zordur. Neyse ki 31 yıllık
işlemci tarihini çok iyi biliyoruz 4004’den i7-975
işlemcisine giden tüm aşamaları bilebiliyoruz.
İşlemcilerin 38 yıllık tarihinde
yalnızca içlerindeki transistörleri listelemek bile geçirdikleri evrimi
gösterir.
4004: 2300 transistör
8008: 2500 transistör
8080: 6000 transistör
8086: 29000 transistör
80286: 134000 transistör
80386: 275000 transistör
80486: 1.2
milyon transistör
Pentium: 3.1
milyon transistör
Pentium II: 7.5
milyon transistör
Pentium III: 9.5
milyon transistör
Pentium IV: 42 milyon transistör
Pentium 4E: 125 milyon transistör
Pentium D: 230 milyon transistör
Pentium Core
Duo: 291 milyon transistör
Pentium Core
2 Duo: 596 milyon transistör
Pentium Quad
Core: 781 milyon transistör
Canlı hücrelerinde ilginç bir
organel bulunur: Mitokondri. Bu organel enerji üretir. Bu organel kendi
DNA’sına sahiptir; sanki hücre içinde ayrı bir canlı, ayrı bir hücre gibidir.
Mitokondri DNA’sı yapı olarak bakterilerin DNA’sına benzer. Birçok biyolog
mitokondrinin, canlıların evriminin bir aşamasında canlı hücrenin içine girmiş
ve birlikte yaşama geliştirmiş bakteri benzeri bir canlıdan geldiğini
düşünmektedir. Bu model çok başarılı sonuçlar vermiş ve tüm gelişmiş canlılarda
bu şekilde bir hücre yapısı ortaya çıkmıştır.
Benzer bir durum işlemciler ve
matematik işlemciler için de geçerlidir. Normal işlemciler matematik
işlemlerini yapabilir ama matematik işlemleri için görevi yalnızca bu olan
matematik işlemcileri kullanarak çok daha yüksek performanslar elde edilebilir.
80486 işlemcisine kadar her
işlemcinin kendisine karşılık gelen bir matematik işlemcisi vardı: 8086
işlemcisi için 8087 matematik işlemci, 80286 için 80287 ve 80386 için 80387.
İşlemci ve matematik işlemci bilgisayarın ana kartı üzerinde ayrı yuvalarda bulunuyor
ve nispeten birbirlerine uzak düşüyorlardı ve iki işlemciyi de ayrı ayrı
üretmek pahalıya mal oluyordu. Intel, 80486 işlemcisinde matematik işlemciyi
normal işlemciyle bütünleştirdi, aynı tümleşik devre içine yerleştirdi. Artık
bu iki işlemci, birbirlerine yakın olmaları, hızlı hatlarla bağlı olmaları
nedeniyle matematik işlemlerini çok daha yüksek performansla
gerçekleştirebiliyordu. 80486, matematik işlemcinin yanı sıra, normalde ayrı
bir devre olan bellek denetim devresini de içeriyordu. Bu nedenle, 80486
işlemcisi temelde, matematik işlemci ve bellek yönetim devresi eklenmiş ve
hızlı çalışan bir 80386 işlemcisi olarak düşünülebilir. Sonraki işlemcilerin
tümü de benzer yapıya sahiptir: Normal bir işlemci, matematik işlemci, bellek
yönetimi devresi ve son zamanlarda görüntü devresi başta olmak üzere çok sayıda
başka devreden oluşurlar. Benzer şekilde, 80486 işlemcisinden sonra gelen
Pentium işlemcisi de iki adet 80486 işlemcisini içeren bir işlemci olarak
düşünülebilir. İşlemcilerin tarihi boyunca, daha önce dışarıda olan devrelerin
işlemci içine yerleştirilmesine çok rastlanır.
Canlı ve insan evriminde, çok
sayıda bugüne ulaşmayan canlılar görülür. Örneğin neandertal
adamlar. Neandertaller insansı bir türdür ve
günümüzden 130 bin yıl önce ortaya çıkıp yine günümüzden 30 bin yıl önce
ortadan yok olmuşlardır. Neandertaller yaklaşık 100
bin yıl boyunca dünyanın çeşitli yerlerinde hüküm sürmüş, kendilerini değişen
koşullara uyarlayabilen canlılardı. Günümüz insanına göre daha kalın
kemiklilerdi ve güçlü kol ve bacaklara sahipti. Teke tek bir karşılaşma
durumunda neandertaller fiziksel güçlerini kullanarak
modern insanı kolayca alt edebilirdi. Ama Neandertaller
yok oldu, modern insanın ataları yaşamaya devam etti. Çünkü modern insanlar Neandertallere göre daha akıllı, daha sosyal, daha örgütlü
idiler ve konuşabiliyorlardı (büyük olasılıkla Neandertaller
konuşamıyordu). Neandertallerin modern insanlar
tarafından yok edildiği ya da yeni koşullara uyum sağlayamadığı için
kendiliğinden yok oldukları düşünülüyor.
Benzer şekilde, Intel ve diğer
firmaların işlemcilerinde de bugüne ulaşmayan modeller vardır. 1980’lerin
sonunda, 1990’ların başında işlemci piyasasında RISC adı verilen bir teknoloji
moda oldu. RISC, Reduced Instruction
Set Computing (Azaltılmış Komut Takımına Sahip İşlemci) sözcüklerinin
kısaltmasıydı ve adından da anlaşılabileceği gibi, kendilerinden önce gelen
klasik işlemcilere göre çok daha az komuta sahiptiler. Az sayıda komut,
programların daha basit bir şekilde oluşturulabilmesine neden oluyordu. Komutların
ve işlenecek verilerin büyüklüğü de sabitti. Bu sabitlik nedeniyle işlemcinin
performansını arttıracak çeşitli mekanizmalar kullanılıyordu. Yapılan testlerde
RISC işlemciler geleneksel işlemcilerden çok daha yüksek performans
gösteriyordu. RISC işlemcilerin klasik işlemcileri yok edeceği düşünülüyordu.
İşler öyle gelişmedi. RISC
işlemciler geleneksel işlemcilerle uyumlu değildi. Geleneksel işlemciler için
yazılmış programlar RISC işlemcili bilgisayarlarda çalışmıyordu. Yazılımlara
büyük yatırım yapmış kişiler ve şirketler var olan yatırımlarını korumak
istediler ve bu yeni teknolojiyi çok da iyi karşılamadılar. Bu sırada
geleneksel işlemcileri üreten firmalar, özellikle Intel, RISC işlemcilerindeki
avantajlı yönleri kendi klasik işlemcilerine uyarladılar. Böylece klasik
işlemciler var olan yatırımı korurken RISC işlemcilerine özgü mekanizmalara
sahip oldular. Bu da RISC işlemcilerin yok olmasına neden oldu. Aynen Neandertaller gibi.
İşlemcilerin evrimsel gelişimi,
derece derece karmaşıklaşmaları işletim sistemleri
alanında da görünüyor.
Microsoft, MS-DOS adındaki ilk
işletim sistemini 1981 yılında üretti. Bu işletim sistemi, ilkel bir dil olan
makine dilinde yazılmıştı ve yalnızca 4000 satırdan oluşuyordu. MS-DOS, komut
satırından verilen komutlara dayanıyordu (kopyalamak için copy,
dosya listesini almak için dir gibi komutlar). Fare
kullanımı ve grafiksel ortam söz konusu değildi. MS-DOS, en çok 1 MB’lık bellek
kullanabiliyor, bunun da yalnızca 640 KB’lık kısmı kullanıcıya ve onun
programlarına kalıyordu. MS-DOS’ta aynı anda tek bir program
çalıştırılabiliyordu.
Microsoft’un son işletim sistemi
ise Windows 7. Bu işletim sistemi, gelişmiş diller olan C ve C++ dilleriyle
yazıldı ve 50 milyondan fazla satıra sahip. Gelişmiş bir grafik arabirimi var
ve genelde komut satırından komut vermek gerekmiyor. Gigabaytlarca belleği
rahatlıkla kullanabiliyor. MS-DOS zamanında düşünülemeyecek işlemler bu işletim
sisteminde gerçekleştirilebiliyor.
MS-DOS’un ve Windows işletim
sistemlerinin gelişimi de doğrusal olmadı. Örneğin, MS-DOS 4.0 tam anlamıyla
bir felaketti; sık sık hata veriyor ve veri kaybına neden oluyordu. Bu yüzden
MS-DOS 4.0 çok az kullanıldı.
Yine Microsoft’un Unix temelli Xenix adında bir işletim sistemi de vardı. Microsoft bunu
devam ettirmedi, haklarını başka bir firmaya devredip Xenix’in
gelişimini sonlandırdı.
İşlemcilerde olduğu işletim
sistemlerinde de şu anki örneğe bakıp ilk halini tahmin etmek mümkün değil.
Yalnızca tüm süreci bilebildiğimiz zaman evrimsel gelişimi son derece rahat
görebiliyoruz. Bu da canlıların evriminde sahip olmadığımız bir avantaj.
Yukarıda verdiğimiz örnekler, ilkel
yapıların derece derece daha karmaşık yapılara
dönüşebileceğini gösteriyor. Yalnız yukarıdaki örnekler evrim karşıtları
tarafından da kullanılabilir. Sonuçta işlemcileri ve işletim sistemlerini
“yaratanlar” akıllı insanlardı. İşlemciler ve işletim sistemleri kendiliğinden
oluşmadı. Öte yandan bu gelişim akıllı insanlar tarafından en başta düşünülmüş,
tasarlanmış değildi. Gelişim zaman içinde gerçekleşti. En önemlisi de gelişimi
bilgisayar piyasası, yani ortam belirledi. Ortama uyum sağlayan işlemciler ve
işletim sistemleri ayakta kaldı, diğerleri elendi.