deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

Tarayıcı tabanlı emulator, IBM 1620 Model 2'yi ve 1960'ların yazılımlarını yeniden hayata döndürüyor

GitHub'daki MIT lisanslı bir proje, 1962 tarihli onluk tabanlı, bellek-bellek çalışmayan bilimsel bilgisayar IBM 1620 Model 2'yi tamamen tarayıcıda emüle ediyor; bunun yanı sıra makinenin günümüze ulaşan yazılımlarını kurtarma çabası da sürüyor.

Tarayıcı tabanlı emulator, IBM 1620 Model 2'yi ve 1960'ların yazılımlarını yeniden hayata döndürüyor

Tarayıcı sekmesinde 1962 tarihli bir bilimsel bilgisayar

Hacker News'in ana sayfasına çıkan GitHub'daki açık kaynak bir proje, 1960'ların başından transistörlü bilimsel bilgisayar IBM 1620 Model 2 için tarayıcı tabanlı bir emulator sunuyor. Projenin repository'sine göre çabanın iki belirtilmiş hedefi var: sistemin Model 2 varyantı için web tabanlı bir emulator inşa etmek ve ekibin bulabildiği kadar, makine için günümüze ulaşan yazılımı kurtarmak. Kod MIT lisansı ile yayımlanıyor ve proje, emulator'ün hiçbir şey kurulmadan çalıştırılabileceği ayrı bir barındırma sitesine işaret ediyor. Hacker News başlığı, sunulan şeyi emulator ve 1620 için 1963 tarihli bir işletim ortamı olan IPL-V çevresinde çerçeveliyor.

Register'sız bir mimari

IBM 1620, bilimsel ve mühendislik çalışmaları için ucuz bir sistem olarak tasarlanmış, manyetik çekirdek belleğe sahip, onluk tabanlı, değişken alan uzunluklu bir makineydi. IBM orijinal Model 1'i 1959'da, object-code uyumlu ama önemli ölçüde yeniden tasarlanmış Model 2'yi ise 1962'de yayımladı. Toplamda yaklaşık 2.000 sistem üretildi, kabaca iki model arasında bölünmüş olarak ve IBM bu hattı 1970'e kadar destekledi.

Tasarımının modern donanımla pek ortak yanı yok. Sistem, yazılım erişilebilir register'ı olmayan iki adresli, bellek-bellek bir mimari kullanıyordu. Her instruction sabit 12 haneli uzunluktaydı: iki haneli bir işlem kodu, genellikle hedef operand'ı tutan beş haneli bir P adresi ve genellikle kaynağı tutan beş haneli bir Q adresi veya literal. Bellek varsayılan olarak 20.000 hane saklıyordu ve 60.000'e kadar büyüyebilirdi; her hane, dört bitlik bir binary-coded decimal değeri, aritmetik işareti ve alan ayırıcısı olarak kullanılan beşinci bir flag biti ve bir teklik (odd-parity) kontrol bitinden oluşuyordu. Tüm aritmetik ve veri taşıma işlemleri aynı anda tek bir hane işliyordu.

En çarpıcı olanı ise, Model 1'in toplama ve çarpma işlemlerini özel aritmetik mantığı yerine bellekte tutulan bir arama tablosu (lookup table) üzerinden yapmasıydı. Donanımsal bölme, floating-point aritmetiği ve dolaylı adresleme (indirect addressing) bu ilk modelde isteğe bağlı ek özelliklerdi.

Model 2'nin değiştirdiği şeyler

Model 2, bellek döngü süresini Model 1'in 20 mikrosaniyesinden iki hane başına 10 mikrosaniyeye yarıladı ve birçok instruction'ı tek bir fetch'te iki Q-operand hanesi işleyecek şekilde optimize etti. Toplama donanıma taşındı, ancak çarpma hâlâ arama tablosuna dayanıyordu. Donanımsal bölme ve dolaylı adresleme standart hale gelirken, floating-point ücretli bir seçenek olarak kaldı. Repository, Model 2 için iki ek seçenekten daha bahsediyor: index register'ların, Model 1'in toplama tablosunun bulunduğu 00300-00399 adreslerindeki bellekta saklandığı index register adres değiştirme ve ikili, pratikte sekizli (octal), bitwise işlemler ile octal/ondalık dönüştürme ve ikili kağıt bant I/O desteği.

Çevre birimleri, proses kontrolü ve yazılım

İlk sistemler yalnızca kağıt bant ve daktilo girdi-çıktısını destekliyordu; IBM 1401'in 1402 biriminden türetilen 1622 kart okuyucu ve delgeç, lansmandan kısa süre sonra geldi. Diğer çevre birimleri arasında 1443 satır yazıcısı, çıkarılabilir disk paketli 1311 disk sürücüsü ve 1627 plotter yer alıyordu. Daktilo, kağıt bant, delikli kart ve yazıcı aygıtlarının tümü alfanümerik veriyi bellekteki bitişik hane çiftleri olarak işliyordu.

Makine odasının ötesinde 1620, ayrıca ek instruction'lar ve çok seviyeli bir kesme (interrupt) sistemi eklenen bu rolle IBM 1710 ve 1720 proses kontrol sistemlerinin hesaplama ve kontrol bileşeni olarak hizmet verdi. Platform için yazılım geniş kapsamlıydı; programlamanın çoğu SPS assembler veya FORTRAN II ile yapılıyordu ve 1311 disk sürücüsüyle donatılmış sistemler basit bir batch işletim sistemi olan Monitor'ü çalıştırabiliyordu.

Neden önemli

Proje, esas olarak dokümantasyonla günümüze ulaşan bir makineyi, kurulum gerektirmeden ve yeniden kullanımı destekleyen serbest bir lisansla herkesin bir tarayıcı sekmesinde başlatabileceği bir şeye dönüştürüyor. Yazılım kurtarma hedefi, emulator'ün kendisi kadar önemli: 1620 için yazılmış şeylerin çoğu yalnızca bozulan medyalarda veya dağınık arşivlerde varlığını sürdürüyor ve çalışan bir emulator bu materyalin yeniden çalışması için bir yol sunuyor. Mühendisler için 1620 ayrıca mevcut tasarımlarla yararlı bir karşıtlık: register'ı olmayan, hane sıralı onluk aritmetikli ve tablo tabanlı toplamalı, tamamen çalışan bir sistem. Proje, orijinal materyali derinlemesine incelemek isteyenler için bitsavers'taki taranmış kılavuzlara ve yazılım arşivlerine bağlantı veriyor.

  • #emulation
  • #retro-computing
  • #ibm
  • #open-source
  • #browser

İlgili yazılar