Blog

IBM MCGA'nın Kalbine Yolculuk: Tersine Mühendislik

Alper Kocan 27 June 2026 23 görüntülenme

Geçmişin İzinde: IBM MCGA Nedir?

Selamlar, ben Alper. Bugün sizlerle biraz tozlu raflara ineceğiz ve 1987 yılına, kişisel bilgisayar dünyasının dönüm noktalarından biri olan IBM PS/2 serisinin doğuşuna gideceğiz. O dönemde IBM, piyasayı domine etmek için VGA (Video Graphics Array) ile birlikte daha ekonomik bir çözüm olan MCGA (Multi-Color Graphics Array) mimarisini tanıttı. Genelde PS/2 Model 25 ve Model 30 gibi giriş seviyesi makinelerde karşımıza çıkan bu teknoloji, aslında VGA'nın bir alt kümesiydi ancak kendine has çok ilginç teknik detayları vardı.

MCGA'yı özel kılan, 320x200 çözünürlükte 256 renk sunabilmesiydi. Bu, o dönem için oyun geliştiricileri ve grafik sanatçıları için bir devrimdi. Ancak bu yeteneğin arkasında, Gate Array (Kapı Dizisi) dediğimiz, o zamanın teknolojisiyle üretilmiş karmaşık bir yonga yatıyordu. Peki, biz bugün neden bu eski teknolojiyi tersine mühendislik (reverse engineering) yöntemleriyle incelemek istiyoruz? Çünkü bu çiplerin iç mantığını anlamak, hem bilgisayar tarihini korumak hem de bu donanımları modern FPGA (Field Programmable Gate Array - Saha Programlanabilir Kapı Dizileri) sistemlerinde yeniden canlandırmak için kritik öneme sahip.

Gate Array (Kapı Dizisi) Teknolojisini Anlamak

Öncelikle "Gate Array" kavramını biraz açalım. Modern işlemciler gibi her katmanı özel olarak tasarlanmış çiplerin aksine, kapı dizileri, üzerinde binlerce mantık kapısı (AND, OR, NOT gibi) hazır bulunan yarı-özel yongalardır. Üretici, bu kapıları birbirine bağlayan son metal katmanı tasarlayarak çipe istediği fonksiyonu kazandırır. IBM, MCGA yongasını üretirken bu yöntemi seçti çünkü hem maliyet düşüktü hem de tasarım süreci daha hızlıydı.

MCGA yongasının tersine mühendislik süreci, aslında bu gizli bağlantı yollarını bulma sanatıdır. Bir yonganın içindeki binlerce mantık kapısının nasıl bir araya gelerek bir video sinyali oluşturduğunu anlamak, devasa bir yapbozu çözmeye benzer. Bu süreçte şu temel adımlar izlenir:

  • Decapping (Kılıf Açma): Çipin dışındaki plastik veya seramik koruyucu tabaka, asitler yardımıyla eritilir ve silikon zar (die) ortaya çıkarılır.
  • Mikroskobik Görüntüleme: Ortaya çıkan silikon, yüksek çözünürlüklü mikroskoplar altında binlerce parça halinde fotoğraflanır.
  • Katman Analizi: Çipin üzerindeki metal yollar ve transistör seviyesindeki bağlantılar görsel olarak takip edilir.
  • Mantık Çıkarımı: Görüntülerden elde edilen verilerle, yonganın mantıksal şeması (schematic) oluşturulur.

Tersine Mühendisliğin Teknik Zorlukları

MCGA gibi bir yongayı incelemek göründüğü kadar kolay değil. Tersine mühendislik (Reverse Engineering) sürecinde en büyük engel, yonganın içindeki video zamanlama (video timing) mantığını çözmektir. MCGA, VGA'dan farklı olarak dijital bir monitör çıkışı yerine analog bir sinyal üretir. Bu da yonganın içinde bir RAMDAC (Random Access Memory Digital-to-Analog Converter) birimiyle sıkı bir bağ kurmasını gerektirir.

Yongayı analiz ederken karşılaşılan en büyük keşiflerden biri, IBM'in bellek yönetimini nasıl optimize ettiğidir. MCGA, sadece 64KB video belleğine (VRAM) sahiptir. Bu kısıtlı bellekle 256 renkli modları yönetmek, verinin bellekten çok hızlı bir şekilde okunup palette (renk paleti) üzerinden geçirilerek ekrana basılmasını gerektirir. Tersine mühendislik çalışmaları, IBM'in bu süreçte "dual-ported" bellek yapısına benzer bir mantık kullandığını ve ekran tazeleme (refresh) ile işlemci erişimi arasındaki çakışmaları nasıl önlediğini ortaya koyuyor.

Neden Bu Kadar Önemli?

Peki, Alper neden 35 yıllık bir çipi anlamak için bu kadar uğraşıyoruz derseniz, cevabım şu olur: Donanım Mirasını Koruma (Hardware Preservation). Bu çipler zamanla bozuluyor ve yenilerini üretmek mümkün değil. Eğer biz bu yongaların iç mantığını (logic) %100 doğrulukla çıkarabilirsek, onları bir FPGA üzerinde birebir taklit edebiliriz. Bu sayede orijinal bir IBM PS/2 anakartı tamir edilebilir veya bu sistemlerin tamamen dijital kopyaları (MiSTer FPGA gibi projeler) oluşturulabilir.

Ayrıca, MCGA'nın tersine mühendisliği bize o dönemin mühendislik kısıtlarını nasıl aştıklarını da gösteriyor. Örneğin, yatay ve dikey senkronizasyon (horizontal and vertical sync) sinyallerinin nasıl üretildiği, o dönemdeki CRT monitörlerin çalışma prensipleriyle doğrudan bağlantılıdır. Bu bilgileri gün yüzüne çıkarmak, yazılım emülatörlerinin (DOSBox gibi) çok daha isabetli çalışmasını sağlıyor.

Sonuç: Mühendisliğin Sanata Dönüştüğü Nokta

IBM MCGA Gate Array üzerindeki tersine mühendislik çalışmaları, sadece teknik bir analiz değil, aynı zamanda bir dijital arkeoloji faaliyetidir. Silikon üzerindeki o incecik yolların her biri, modern bilgisayarların atalarının nasıl düşündüğünü bize anlatıyor. Bir yazılım geliştirici olarak, bu alt seviye (low-level) detayları bilmek, yazdığımız kodun donanım katmanında nasıl karşılık bulduğunu anlamamıza yardımcı oluyor.

Eski donanımlara olan bu merakımız, aslında geleceğin teknolojilerini inşa ederken geçmişin sağlam temellerinden ders almamızı sağlıyor. Eğer sizin de elinizde eski bir IBM varsa, ona sadece eski bir parça metal olarak değil, içinde binlerce kapıdan oluşan devasa bir şehir barındıran bir sanat eseri olarak bakın.

Bir sonraki yazıda görüşmek üzere, teknolojiyle kalın!

Yorumlar (0)
Yorum Yap