İki Elektronik Bilgisayar Tek Bir Problemi Paylaşıyor
Ulusal Standartlar Bürosu
Washington 25, D.C.
Birbirine bağlı iki elektronik dijital bilgisayar tarafından paylaşılan veri işleme, Ulusal Standartlar Bürosu’nda başarıyla gerçekleştirilmiştir. Bürolar tarafından tasarlanıp üretilen iki yüksek hızlı bilgisayar olan SEAC ve DYSEAC, koordineli programların her iki makineye de yüklenmesiyle, program denetimli makine-arası iletişimi göstermek amacıyla ortak bir görev üzerinde iş birliği içinde çalışmıştır.
Problem, hisse senedi işlem raporlarının mali muhasebe için tablolaştırılıp özetlendiği ve ardından başka bir yerdeki stok kontrol kayıtlarına işlenmek üzere iletildiği bir durumu benzetimle ele almıştır. Deneyler, tedarik yönetimi problemlerine elektronik tekniklerin uygulanmasını incelemek üzere Deniz Kuvvetleri Tedarik ve Hesaplar Bürosu ile yürütülen iş birliği programının bir parçası olarak, Büronun Veri İşleme Sistemleri Laboratuvarı tarafından gerçekleştirilmiştir.
Deneyler, gerekli denetim esnekliğine sahip olmaları koşuluyla, iki dijital bilgisayarın birlikte çalışabilmesi için aynı çalışma özelliklerine sahip olmalarının gerekmediğini göstermiştir.
Dijital bilgisayarların veri işleyici olarak tipik uygulamaları, birçok küçük, özelleşmiş makinenin tek bir otomatik sistemle değiştirilmesini içerir. Ancak, büyük ölçekli kâğıt işleme operasyonları için ya da aynı verinin farklı amaçlarla ve farklı konumlarda işlenmesini gerektiren geniş çaplı faaliyetler için, birden fazla yüksek hızlı veri işleyicinin kullanılması gerekebilir.
Makineler arası otomatik iletişim, bilgisayarın kendisi ile harici aygıtlar arasındaki bilgi aktarımları sürerken bilgisayarın başka yararlı işleri yapmaya devam etmesini sağlayan doğrudan giriş ve çıkış düzenekleriyle ve aramanın bir bilgisayarın program denetimi altında yürütüldüğü bant işleme aygıtlarıyla önceden işaret edilmiştir.
Çoğu genel amaçlı elektronik bilgisayar, genel olarak uyumlu bir dijital dili kullanır; standart iletişim kanalları üzerinden istenen herhangi bir mesafede elektriksel sinyaller biçiminde veri alıp gönderebilir ve yeni ya da gözden geçirilmiş bilgilere uygun olarak işleme programlarının seyrini değiştirebilir. Bu nedenle, iki ya da daha fazla genel amaçlı makinenin ortak bir görev üzerinde iş birliği yapabilecek şekilde birbirine bağlanması mümkün olmalıdır.
Örneğin, bir malzeme kontrol merkezindeki çok yönlü, yüksek kapasiteli bir veri işleyici, çeşitli tedarik depolarında bulunan daha küçük bilgisayarlar tarafından kendisine otomatik olarak beslenen verileri alabilir. Merkezdeki denetleyici işleyici, sistem genelindeki işlemleri öyle bir biçimde denetleyebilir ki, her bir raporlama kaynağından verileri planlanmış bir sırayla kabul ederken, aynı zamanda depolardan herhangi birinden herhangi bir zamanda gelen öncelikli tedarik taleplerini de kabul edip işleyebilsin.
Hem bilginin hem de denetim alışverişlerinin bilgisayarlar arasında aktarıldığı etkileşim türü için, programlanmış denetim ile otomatik kesme arasındaki soru özellikle önemlidir.
Programlanmış denetim, değişimlerin ne zaman ve nasıl gerçekleşeceğine ilişkin insan öngörüsüne önemli ölçüde dayanır; ancak iki ya da daha fazla sistemin insan müdahalesi olmadan otomatik olarak etkileşmesi gerekiyorsa, başka bir sistemden yeni alınan bilgiye yönelmek üzere, yürütülmekte olan bir programın otomatik olarak kesilmesine olanak sağlanmalıdır. DYSEAC bu tür kesme özelliklerini sağlar.
DYSEAC, Savunma Bakanlığı için Ulusal Standartlar Bürosu’nda, genelleştirilmiş bir geri besleme denetim ağının çekirdeği olarak hizmet vermek üzere tasarlanmıştır. Bu bilgisayar, uzaktaki harici aygıtlardan gelen bilgilere otomatik olarak yanıt vermesini sağlayan bir dizi çalışma özelliğini bünyesinde barındırmıştır. Bu çalışma özellikleri arasında elle izleme olanakları, program denetim esnekliği ve özel giriş-çıkış denetimleri yer alır. Birlikte ele alındıklarında, DYSEAC’e eşzamanlı çalışma, öz-düzenleme ve kesilebilirlik gibi olağanüstü özellikler kazandırarak başka bir bilgisayarla etkili biçimde etkileşmesine olanak tanırlar.
Üç haftalık bir süre boyunca, SEAC ve DYSEAC olmak üzere iki makine, birbirine bağlanma deneyleri için kullanılabilir durumdaydı. Deney için seçilen program, kayıtların sıralanması, birleştirilmesi ve işlenmesine yönelik yeni bir yöntemdi. Problemde, hisse senedi işlem raporları SEAC tarafından tablolaştırılıp özetlendi ve ardından işlenmek üzere DYSEAC’e iletildi. Bu problemin yürütülmesine yönelik SEAC programında, ayrıntı öğeleri planlanmış bir sırayla her dosya bölümüne ait olarak belirlendikçe, orada işlenmek üzere DYSEAC’e aktarıldı. Ayrıca, belirli bir dosya bölümüne ait ayrıntı öğelerinin her bir tam kümesi işlendiğinde, SEAC DYSEAC’e özel bir küme-sonu bayrağı iletti.
Şekiller
Şekil 1 — Birbirine bağlanmış SEAC ve DYSEAC bilgisayarları tarafından paylaşılan problemin akış diyagramı.
Bu problemde, hisse senedi işlem raporları SEAC tarafından tablolaştırılıp özetlenir ve ardından işlenmek üzere DYSEAC’e iletilir. Bu deneyin sonuçları, DYSEAC’in SEAC’ten kaynaklanan izleme sinyallerine yanıt verme ve SEAC’ten gelen ayrıntı verilerini almak ve işlemek üzere programını kesme yeteneğini açıkça göstermektedir. DYSEAC, SEAC’ten veri iletilmesini beklerken, eşzamanlı bir programı benzetimle ele alan, tipik makine işlemlerinden oluşan bağımsız bir dizge üzerinde çalışmıştır.
Şekil 2 — Ulusal Standartlar Bürosu’ndaki SEAC hesaplama odası.
Denetim konsolu odanın en uzak ucunda yer almakta, bilgisayarın kendisi ise solda bulunmaktadır. Sağ tarafta, kodlanmış alt yordamlar, makineye yönelik talimatlar ve sayısal veriler gibi bilgilerin yanı sıra, bir problemin tamamlanmış programı ve çözümü de dâhil olmak üzere manyetik bant üzerinde depolama yapan çeşitli harici bellek birimleri yer almaktadır.
Eşgüdümlü Çalışma
Eşgüdümlü DYSEAC programı şunları gerektirmekteydi:
- SEAC tarafından iletilen sinyale yanıt verme.
- SEAC’ten gelen iletinin okunması.
- İletinin bir ayrıntı öğesi mi yoksa bir küme-sonu bayrağı mı olduğunun belirlenmesi.
- İlk durumda uygun ana dosya öğesinin sayımının yapılması ya da bayrak durumunda bir dosya bölümünün dışarı okunup bir sonrakinin içeri alınması.
SEAC binası ile DYSEAC’i barındıran treyler arasında bulunan bir kablo, her iki makinenin düzenli bir giriş-çıkış ucu üzerinden birbirine bağlanmayı sağlamıştır. Bilgi aktarımları, iki makine arasında denetim sinyallerinin iletilmesiyle başlatılmış ve sonlandırılmıştır. SEAC’te bir çıkış talimatı, DYSEAC’e iletim için kullanılan belirli çıkışın seçilmesini gerektirdiğinde, SEAC harici seçici biriminden DYSEAC’e 62 voltluk bir hazırlık sinyali gönderilmiştir. Bu sinyal, DYSEAC’te uygun izleme işlemlerini etkinleştirmiştir.
DYSEAC verileri kabul etmeye hazır olur olmaz, SEAC’e 62 voltluk bir sinyal iletmiştir. SEAC, ancak bu sinyal alındıktan sonra bir sonraki talimatına devam edebilmiştir. Etkili olarak, DYSEAC aktarımı kabul etmeye hazır olduğunu bildirene kadar, SEAC bu çıkış talimatını tamamlamaya çalışmayı sürdürmüştür.
Program Denetimi ve Elle İzleme
Bu çift makine bağlantısı, DYSEAC’in hem özel program denetimi hem de elle izleme özelliklerinden yararlanmıştır. Program denetimi açısından DYSEAC, üç adresli ve otomatik olarak sıralanan bir makinedir; gerçek bir sonraki talimatın adresinin kaynağı olarak iki sayaçtan hangisinin seçileceği, herhangi bir çalışma anında yürütülmekte olan talimattaki denetim kodu basamakları tarafından belirlenir. Buna ek olarak, özel bir adres-depolama yazmacı, elle izleme işlemleri durumunda olduğu gibi, işlenmekte olan bir programa yeni bilgi ya da yeni talimatlar ekleneceği zaman bir sonraki talimatın yerini belirlemek üzere kullanılabilir.
Manuel-izleme işlemleri, makinenin iç programının seyri sırasında önceden belirlenmiş bazı koşullar ortaya çıktığında ve aynı anda harici anahtar ayarlarında da bu koşullar sağlandığında, makine tarafından gerçekleştirilen işlemlerdir. Anahtar ayarları ya makine operatörü tarafından ya da DYSEAC’ten herhangi bir uzaklıktaki harici aygıtlardan kaynaklanan d-c gerilim sinyalleriyle kontrol edilir. Böylece makine, harici bir kaynaktan talep edilen özel işlemlerin tam olarak ne zaman yapılacağını belirlemek için iç programını izleyebilir.
Harici aygıttan gelen d-c gerilimleriyle kontrol edilen anahtar ayarları, aygıtın hazır olduğunu gösteriyorsa, DYSEAC belirtilen işlemi—örneğin bir veya daha fazla bellek konumunun doğrudan yüklenmesini—gerçekleştirir ve bir sonraki komutunu adres-depolama yazmacında belirtilen konumdan seçer. Bu şekilde seçilen komut, program-denetim basamaklarında iki sayaçtan hangisinin bir sonraki adımda kullanılacağını belirtir. Bu yolla, ya kesinti sırasında durdurulmuş olan bir programa DYSEAC’i geri döndürebilir ya da tamamen yeni bir işlem dizisini başlatabilir.
DYSEAC–SEAC bağlantısı için, izleme anahtarı ayarları, SEAC’ten hazırlık sinyali alındığında DYSEAC’in bir sonraki kesme noktasında önceden belirlenmiş bir bellek adresine bir bilgi sözcüğü okuması ve bir sonraki komutunu adres-depolama yazmacında belirtilen konumdan alması biçiminde düzenlenmişti. Bu sonraki komut, her iki sayaç ayarını da kaydeden, uygun sayacı SEAC’ten gelen verilerin işlenmesi için kullanılan yordamın başlangıcına sıfırlayan ve denetimi bu sayaca aktaran bir “dosya” emriydi.
SEAC’ten gelen herhangi bir veri kümesinin işlenmesi tamamlandığında, DYSEAC her bir kesintiden hemen önce yürütmekte olduğu işlem dizisine geri dönerdi.
Deneysel Sonuçlar
Eşgüdümlü programlar her iki makineye de yüklendiğinde, SEAC çalıştırılacak duruma getirildi ancak DYSEAC’ten gelen bir denetim sinyaliyle engellendi. DYSEAC ilk dosya bölümünü okumayı tamamlayıp diğer bağımsız işlemlere geçtiğinde, denetimin serbest bırakılması SEAC’in başlamasını sağladı. SEAC tarafından işlenen veriler gönderilmeye hazır olur olmaz, DYSEAC için uygun biçime dönüştürüldü, iletildi ve iletim sırasında bozulma olup olmadığı DYSEAC tarafından denetlendi. Bir ayrıntı öğesini simüle eden verilerin alınması, dosya bölümündeki uygun ana öğe için bir sayım artışıyla sonuçlandı.
Paylaşılan programın birkaç çalıştırması başarıyla gerçekleştirildi ve kaydedilen dosya bölümleri bir DYSEAC manyetik-tel kartuşu üzerinde yazdırıldı. Bu sonuçlar, DYSEAC’in SEAC’ten kaynaklanan izleme sinyallerine yanıt verme ve SEAC’ten gelen ayrıntı verilerini almak ve işlemek için programını kesintiye uğratma yeteneğini açıkça gösterdi. Böylece iki makine, SEAC tarafından verilerin ön işlemesinin yapılmasını, bu veriler ile program bilgilerinin SEAC’ten DYSEAC’e iletilmesini ve ardından DYSEAC tarafından daha ileri işlemlerin yapılmasını içeren ortak bir görev üzerinde işbirliği yapacak şekilde çalıştırıldı. DYSEAC, SEAC’in veri iletmesini beklediği aralıklarda, eşzamanlı bir programı benzeten bağımsız bir tipik makine işlemleri dizisi üzerinde çalıştı.
Yalnızca sınırlı bir ana-köle ilişkisi biçimi gösterildi. İki makineden yalnızca biri olan DYSEAC, birbirine bağımlı sistemde gerekli olan çoklu program işleme ve kesintiye uğrayabilirlik özelliklerini sağlayan esnek sistem tasarımına sahipti. Bununla birlikte, bu sınırlı deney, gerekli esnekliğe sahip olması koşuluyla, iki makinenin ortak bir veri işleme programını paylaşabilmesi için özdeş yeteneklere ve özelliklere sahip olmasının gerekmediği önemli gerçeğini gösterdi. Kesintiye uğrayabilirlik ile çoklu program işleme yeteneğine sahip olan makine, kendisine bir veya daha fazla harici kaynaktan doğrudan beslenen verileri alıp işleyebilir ve böylece yüksek hızlı belleğini, hesaplama yeteneğini ve çıktı olanaklarını, farklı özelliklere sahip diğer bilgisayarlar da dahil olmak üzere uzakta bulunan harici aygıtlarla paylaşabilir.
Şekil 3 — Ulusal Standartlar Bürosu tarafından inşa edilen DYSEAC bilgisayar römorkunun kesit görünümü.
Römorkun düşüşün önündeki ön kısmı, denetim konsolunu ve manyetik-tel giriş-çıkış donanımını içerir. Orta bölümdeki üç kabin bilgisayarın kendisini barındırır. Bunların hemen arkasında, 512 sözcüklük akustik gecikme-hattı belleğini içeren iki ek kabin bulunur. Römorkun arka kısmında ise iklimlendirme donanımı yer alır.
Kaynaklar
Daha fazla teknik bilgi için bkz.:
- The Interconnection of Two Digital Computers, M. E. Stevens, AIEE Konferans Bildirisi CP No. 55736 (1955).
- DYSEAC, the New NBS Electronic Computer, NBS Technical News Bulletin, Cilt 38, s. 134 (Eylül 1954).
- SEAC, the NBS Electronic Automatic Computer, Technical News Bulletin, Cilt 34, s. 121 (Eylül 1950).