İlk bakışta bir yığın kablo, eski bileşenler ve elle lehimlenmiş devreler gibi görünebilir; sanki fütüristik bir sanat eseri... Ancak bu, akıl almaz derecede dahiyane olarak tanımlanabilecek bir projenin ürünü. Teknolojiye tutkulu bir meraklı, sıfırdan tam işlevli bir işlemci inşa etti. Evet, bir geliştirme kartı veya mikrodenetleyici değil, 8-bit döneminden kalma eski bellek (EPROM) ve mantık yongalarını kullanarak talimatları yürütebilen, belleği adresleyebilen gerçek bir CPU!
Bu şaşırtıcı projenin arkasındaki kişi, üç ayını işlemcinin mimarisini tasarlamaya, kablolamaya, programlamaya ve her detayını belgelemeye harcadı. Fikir, basit harici sistemleri (bir ışık karartıcı veya mesaj ekranı gibi) kontrol etmek için yapılandırılmış eski EPROM yongalarını kullanarak yapılan basit bir deneyden doğdu. Bu basit kurulum bir kıvılcım çaktı. Eğer bellek temel mantığı simüle etmek için kullanılabilirse, o zaman tam bir işlemcinin yapı taşları o kadar da uzak olamazdı.
Çok geçmeden, bu meraklı kendini şemalara gömülmüş halde, kişisel bilgisayar devrimini başlatan Z80 gibi 8-bit döneminin klasik işlemcilerinin yapısını kopyalarken buldu. Ortaya çıkan makine, modern ve gösterişli görünmese de, gerçek talimat setlerine göre işlev görüyor, kendi assembly kodunu çalıştırıyor ve tıpkı ticari bir işlemci gibi donanım kesintilerine tepki veriyor.
Proje, herhangi bir işlemcinin en temel bileşeni olan Aritmetik Mantık Birimi (ALU) ile başladı. Basit toplama işlemlerini yapması için inşa edilen ilk prototip güvenilir değildi ve hurdaya ayrıldı. Yerine yapılan daha kolay hata ayıklama için soketliydi. Buradan yola çıkarak yapı, bir bellek arayüzü, ikincil bir ALU tarafından yönetilen bir adres yolu denetleyicisi ve sonunda operasyon kodlarını (opcode) çözen ve tüm veri akışını koordine eden kontrol mantığını içerecek şekilde genişledi.
Yazılım da tamamen sıfırdan yazıldı. İşlemcinin talimatları nasıl işleyeceğini tanımlamak, verinin sistem içinde nasıl hareket ettiğini düzenlemek ve test prosedürleri oluşturmak için neredeyse 2.000 satır kod geliştirildi. Tüm bunlar, daha önceki devre kartları için oluşturulmuş özel bir geliştirme aracı seti kullanılarak yapıldı. Talimat seti, eski işlemcilerin yapabildiğinin çok ötesine geçti; çarpma, bölme, trigonometrik hesaplamalar ve hatta bit dizilerini işleme gibi operasyonları içeriyordu. Yaratıcısının tabiriyle, işlemciye “steroid takviyesi” yapılmıştı.
Tüm modüller bağlandıktan sonra, CPU ilk kez çalıştırıldı ve 250mA akım çekti. Daha önce diğer bellek yongası deneyleri için kullanılan aynı geliştirme kurulumu, yeni işlemci için eksiksiz bir talimat seti oluşturmak üzere uyarlandı. Gördüğünüz gibi, yanıp sönen bir LED ilk test programı olarak görev yaptı, ikinci LED ise bir kesinti algılandığında yanmak üzere bağlandı. Bu, CPU'nun talimatları yürütürken bile harici olayları yönetebildiğini gösteriyordu. Geçici olarak mevcut işlemini durduruyor, kesintiyi işliyor ve ardından tıpkı gerçek bir işlemci gibi kaldığı yerden devam ediyordu.
Sonuç olarak, yeni doğan CPU dört tam boyutlu delikli plakaya yayıldı, 500 gramdan fazla ağırlıktaydı ve düz serilse bir kilometreden fazla kablo içeriyordu. Her mantık işlemi, önceden programlanmış bellek kullanılarak uygulandı. Yani silikondan yapılmış fiziksel NAND kapıları kullanmak yerine, sistem 8-bitlik bir girişi bir EPROM'a gönderiyor ve EPROM saklanan bir arama tablosundan (lookup table) sonucu döndürüyor. Veri yönlendirme ve talimat çözme gibi işlevler tamamen bu yönteme dayanıyor. Sistemin çalıştığını göstermek için, onu bir VFD ekrana bağladı ve The Matrix'i çalıştırmak için kod yazdı... Ya da en azından düşük çözünürlüklü fragmanlarını.
Modern bir yonga üzerindeki silikonun aksine, bu işlemcinin yürütme yolu tamamen açıktır. Her saat döngüsü, her operasyon kodu ve tüm kayıt değişiklikleri görünür ve izlenebilirdir. Güzelliğin bir kısmı da bu. Bu, DIY'nin en saf, en punk-rock anlamıdır. Bu tür projeleri izlemek, bilgisayarlarımızın içindeki işlemcilerin ne kadar sihirli olduğunu fark etmenizi sağlıyor - en ince kum taneleri üzerinde dans eden milyarlarca transistör, cam ve saf insan iradesiyle kuklalar gibi yönetiliyor. Temel bir işlemci inşa etmek bu kadar zorken, TSMC gibi şirketlerin elde ettiği üretim ölçeğini bir düşünün.