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.