CDC 6600

CDC 6600'ün boyutlarla birlikte kat planı ve yüksekliği
CDC 6600. Sistem konsolunun arkasında, açık panelli çapraz şekilli muhafazanın iki “kolu” vardır. Bireysel modüller içeride görülebilir. Modüllerin braketleri, arkalarındaki braketleri erişilebilir kılmak için menteşelidir. Makinenin her bir kolunda bu tür dörde kadar parantez vardı. Soğutma sistemi sağda görülebilir.
Bir CDC-6600 sisteminin sistem konsolu . Bu gelişmiş tasarımla, ekranlar ve klavyeler, zamanın sistem konsollarında bulunan yüzlerce anahtar ve gösterge ışığının yerini aldı. Yazılım kontrollü ekranlar, metni seçilebilir üç yazı tipi boyutunda görüntülemek için kullanıldı ve ayrıca basit grafikler çizebildi. Modern raster grafik ekranlarından farklı olarak konsolda iki vektör ekranı vardı ; kendi içinde yazı tipi , her glif vektörler bir dizi oluşuyordu. Anahtar kelimelerin otomatik olarak tamamlanması , daha hızlı komut girişine izin verdi.

CDC 6600 amiral gemisi oldu anabilgisayar sistemlerinden gelen CDC-6000 serisi gelen Kontrol Data Corporation . Yaygın bir şekilde ilk başarılı süper bilgisayar olarak kabul edilen bu bilgisayar , önceki sektör rekoru sahibi IBM 7030 Stretch'i üç kat geride bıraktı . Üç up bir çıkış ile  Megaflop'a onun halefi, bu durumu kaybettiği zaman, CDC 6600, 1964 ila 1969 dünyanın en hızlı bilgisayarı oldu CDC 7600 .

Pek çok örnek çeşitli nükleer silah laboratuvarlarına teslim edildi ve bazıları üniversite bilgisayar laboratuvarlarına girdi. Bir CDC 6600 tarihinde ise ekrana at Bilgisayar Tarihi Müzesi'nde yer Mountain View, Kaliforniya . CDC-6000 serisinin sadece hala çalışıyor makinesi edildi restore at Yaşayan Computers: Müze + Labs içinde Seattle ve çevrimiçi orada kullanılabilir.

Tarih ve etki

CDC ilk ürünler dayanmaktadır geliştirilen makineler de ERA , Seymour Cray vardı CDC taşındıktan sonra güncellemek için. Little Character adlı deneysel bir makineden sonra , ilk ticari transistör tabanlı bilgisayarlardan biri ve piyasadaki en hızlı makinelerden biri olan CDC 1604, 1960 yılında sevk edildi . Yönetim memnun kaldı ve iş kullanımına daha uygun hale getirilecek yeni bir makine serisi planladı. Örneğin, karakterlerin nasıl işleneceği ve kayıtların nasıl kaydedileceği hakkında talimatlar içermelidirler. Cray böyle bir projeyle ilgilenmedi ve kendine 1604'ten 50 kat daha hızlı olacak yeni bir makine üretme hedefini koydu. Geleceğe yönelik bir ve beş yıllık planların ayrıntılı bir raporunu hazırlaması istendiğinde, beş yıllık hedefinin "dünyanın en büyük bilgisayarını" - "en büyüğü" o zaman "en hızlı" ile eşanlamlı hale getirmek olduğunu yazdı. ”- ve bir yıllık planı“ yolun beşte birini yapmaktı ”.

Orijinal CDC merkezinin yakınındaki yeni bir ofise taşındıktan sonra, çekirdek ekibi, Cray'in 1604'te kullandığı "ucuz" transistörlerin yüksek kaliteli versiyonlarını denemeye başladı . Birçok denemeden sonra, germanyum üzerindeki transistörlerin 1604'tekinden çok daha hızlı çalışmasına izin verilmediğini buldular . Yönetimin başlangıçta istediği ve şimdi temel olarak CDC 3000 serisinin oluşturulduğu "iş makinesi", mümkün olduğu kadar kışkırttılar. Çözüm olarak, Cray daha sonra piyasaya yeni giren ve önemli ölçüde geliştirilmiş anahtarlama performansı sunan Fairchild Semiconductor'ın o zamanki yeni silikon bazlı transistörleriyle çalışmaya karar verdi .

Bu süre zarfında, CDC bir başlangıçtan büyük bir şirkete dönüştü ve Cray, saçma yönetim gereksinimleri olarak gördüğü şeyden giderek daha fazla hayal kırıklığına uğradı. Yeni CDC 3600 , 1962'de üretime hazır olma durumuna yaklaştığında ve tam olarak yönetimin ne istediği ve ne zaman istediği gibi göründüğünde durum doruğa ulaştı . Cray sonunda CDC CEO'su William Norris'e bir şeylerin değişmesi gerektiğini yoksa şirketten ayrılacağını söyledi. Norris kaybedilemeyecek kadar önemli olduğunu hissetti ve Cray'e istediği yerde yeni bir laboratuvar kurması için yeşil ışık yaktı.

Hızlı bir aramadan sonra Cray, memleketi olan Chippewa Falls, Wisconsin'e dönmeye karar verdi ve burada bir arazi parçası satın aldı ve yeni bir laboratuvar açtı.

Bu, yeni makinesinin tasarımında uzun bir gecikmeye yol açsa da, yeni laboratuvardaki geliştirme, herhangi bir yönetim müdahalesi olmadan hızlı bir şekilde başladı. O zamanlar, yeni transistörler oldukça güvenilir hale geliyordu ve onlarla oluşturulan modüller çoğunlukla ilk seferde doğru çalıştı. 6600, Cray'in 6600'ün sistem mimarı ve "gizli dehası" Jim Thornton ile birlikte çalışmasıyla şekillendi.

İlk CDC 6600'ler 1965'te Livermore ve Los Alamos'a teslim edildi. Courant Matematik Bilimleri Enstitüsü , CERN , Lawrence Radyasyon Laboratuvarı ve diğerlerine sağlanan sistemlerle, bilimsel ve matematiksel hesaplama çevrelerinde hızla vazgeçilmez bir sistem haline geldi . 100'ün üzerindeki diğer kaynaklara göre toplamda yaklaşık 50 kopya dağıtıldı.

Cray hemen CDC 7600 olarak sevk edilecek olan halefi modeline döndü ve 6600'ün on katı performans hedefini belirledi. Daha sonraki CDC Cyber 70 ve 170 bilgisayarlar, genel tasarım olarak CDC 6600'e çok benziyordu ve neredeyse tamamen geriye dönük uyumluydu.

6600, önceki rekor sahibi IBM 7030 Stretch'ten üç kat daha hızlıydı ; bu IBM'i alarma geçirdi . Daha sonra CEO Thomas J. Watson, Jr. personeline bir not yazdı: “Geçen hafta Control Data 6600 sistemini duyurdu. Bakıcı da dahil olmak üzere, laboratuarda sistemi geliştiren sadece 34 kişinin çalıştığını anlıyorum. Bunların 14'ü mühendis, 4'ü programcı… Bu mütevazı çabalarımızı kapsamlı geliştirme faaliyetlerimizle karşılaştırırsam, bir başkasının dünyanın en güçlü bilgisayarını sunmasına izin vererek neden bir endüstri lideri konumumuzu kaybettiğimizi anlayamıyorum. ”Cray'in cevabı alaycı oldu: "Görünüşe göre Bay Watson kendi sorusunu cevapladı."

açıklama

Zamanın tipik makineleri , tüm sistemi çalıştırmak için tek bir CPU kullanıyordu. Tipik bir program önce verileri ana belleğe yükler (genellikle önceden paketlenmiş kitaplık kodunu kullanır), işler ve sonra geri yazar. Bu çeşitli görevler, kapsamlı bir talimat seti ve dolayısıyla karmaşık bir CPU gerektiriyordu. Bu da, bilgi bireysel modülleri arasında akarken sinyal gecikmelerine neden olan büyük bir CPU anlamına geliyordu. Bu gecikmeler makinenin performansını sınırladı; yalnızca sinyallerin bir sonraki modüle zamanında ulaşmasına izin veren bir saat hızında çalışabilirdi.

Cray farklı bir yaklaşım benimsedi. O zaman, CPU'lar bağlı oldukları bellekten daha yavaş çalışma eğilimindeydi . Örneğin, her bellek erişimi için yalnızca bir veya iki tane gerekliyken, iki sayıyı çarpmak için bir işlemci 15 döngü aldı. Bu, hafızanın önemli bir süre aktif olmadığı anlamına geliyordu. 6600'ün yararlandığı bu boş zamandı.

CDC 6600, matematik ve mantık işlemlerini olabildiğince çabuk gerçekleştirmek için tasarlanmış basitleştirilmiş bir ana işlemci kullandı. Bunu yapmak için, kablolamanın uzunluğunu ve ilgili sinyal gecikmelerini azaltmak için mümkün olduğunca küçük yapılması gerekiyordu. Bu, CPU için devre kartlarının merkeze yakın yerleştirildiği makinenin (çoğunlukla) çapraz şekilli ana muhafazasına yol açtı. CPU, giriş / çıkış ve CPU'ya veri aktarımı için kullanılan on çevresel işlemci tarafından desteklendi. 6600, 60 bitlik bir kelime ve tamsayıların tamamlayıcı temsilini kullandı, daha sonra CDC makineleri 1980'lerin sonuna kadar korudu. Bu, onları UNIVAC 1100/2200 ve bazı DSP'lerin yanında böyle bir mimariye sahip son sistemler haline getirdi .

Diğer CPU'lar gibi tüm hesaplama ve kontrol görevlerini yapmak yerine, 6600 CPU yalnızca aritmetik ve mantıksal işlemler gerçekleştirdi. Bu, daha yüksek saat hızında çalışabilen çok daha küçük bir CPU'ya izin verdi. Silikon transistörlerin daha yüksek anahtarlama hızı ile birlikte, yeni CPU tasarımı, o sırada mevcut olan tüm alternatiflerin çok ötesine geçti. Yeni tasarım, piyasadaki diğer makinelerden yaklaşık on kat daha hızlı 10 MHz'de (100 ns saat) çalışıyordu. Basit işlemci yalnızca daha hızlı olmakla kalmadı, aynı zamanda talimatları daha az saat döngüsünde yürütüyordu. Örneğin, CPU on döngüde bir çarpma yapabilir.

Çevresel işlemciler (özellikler)

CPU'nun yalnızca sınırlı sayıda basit talimat vardı: Çağın tipik CPU'ları, bellek erişimi ve giriş / çıkış gibi tüm normal "bakım" görevleri için talimatlar da içeren karmaşık bir talimatlar setine sahipken , Cray bu komutları 6600'de uyguladı. bunun yerine, özel olarak bu tür görevler için tasarlanmış ayrı, daha basit "çevre birimi işlemcilerinde" (PP'ler). Sonuç olarak, CPU çok daha küçük bir komut setiyle yönetildi. Bu, daha sonra Azaltılmış Komut Seti Bilgisayarı (RISC) olarak bilinen şeyin ilk uygulamasıydı .

CPU'nun, çevresel işlemcilerin (PP'ler) ve I / O'nun paralel çalışması, makinenin performansını önemli ölçüde artırdı. Normalde, birden çok işlemciye sahip bir makine çok daha pahalıya mal olur. 6600'ün tasarımının anahtarı, PP'leri olabildiğince basit hale getirmekti. CPU'dan çok daha yavaş çalışan, verileri toplayan ve yüksek hızda özel donanım aracılığıyla ana belleğe patlama olarak aktaran basit 12 bitlik CDC 160-A'ya dayanıyorlardı .

10 PP sanal olarak uygulandı; donanım olarak sadece bir işlemci vardı. Bu, 10 PP örneğini (modern çok iş parçacıklı işlemcilere benzer) temsil eden ve namlu olarak adlandırılan 10 PP yazmaç seti ile çalıştı . Mecazi olarak konuşursak, namlu adım adım "döndürülür" ve her bir PP kayıt seti , PP CPU'daki bir yuvaya atanır . CPU, ilgili PP'nin komutunu tamamen veya kısmen yerine getirdi, bunun üzerine namlu tekrar "döndü" ve sonraki PP'nin kayıt setini (durum) CPU'ya atadı. Bir talimatı işlemek için namlunun birkaç "dönüşü" gerekiyordu. Tam bir namlu "dönüşü" 1000 nanosaniye (PP başına 100 nanosaniye) sürdü ve bir komut, bir veri aktarım komutu durumunda bir ila beş "dönüş" veya daha fazla "dönüş" aldı.

Komut seti mimarisi

6600 CPU, bugün bir RISC sistemi olarak adlandırılacak ve burada işlemci, yalnızca sınırlı ve kesin olarak tanımlanmış bellek erişimine sahip olan nispeten basit komutlar için tasarlandı. Diğer birçok makine karmaşık komutlar kullanır - örneğin, bir işleneni bellekten almak ve bunu tek bir makine talimatı ile bir kayda eklemek gibi. 6600'de, değeri bellekten yüklemek için ayrı bir komut ve bir saniye eklemek gerekiyordu. Teoride, ek bellek erişimleri işlemeyi daha yavaş hale getirdi, ancak bu, iyi düzenlenmiş kodun aynı anda birden fazla komutu işleyebilmesi gerçeğiyle dengelendi. Bu basitleştirme aynı zamanda programcıları bellek erişimlerinin çok farkında olmaya ve dolayısıyla bunları mümkün olduğunca azaltmak için dikkatli bir şekilde kodlamaya zorladı.

Modeller

CDC-6000 serisi Onlar sadece iki tip, 6400 CPU ve 6600 -CPU vardı onların CPU'lar, farklılık CDC 6400 CDC 6500 CDC 6600 ve CDC 6.700: dört temel modeller oluşmaktadır. 6400 CPU'nun tek, kapsamlı bir aritmetik birimi vardı ve ayrı bir aritmetik birimi yoktu . Bu nedenle, ifadelerin yürütme süreleri çakışamaz. Örneğin, 6400 CPU'daki bir çarpma talimatını hemen takip eden bir toplama komutu varsa, toplama, çarpma bitene kadar başlayamaz, böylece iki komutun toplam yürütme süresi, bunların ayrı ayrı yürütme sürelerinin toplamı olur. Buna karşılık, 6600 CPU'nun aynı anda çalışabilen birkaç aritmetik birimi vardı, i. H. " Paralel ", CPU'nun komutların yürütme süreleriyle örtüşmesini sağlar. Örneğin, bir 6600 CPU, bir çarpma komutunun başlamasından sonra bir sonraki CPU döngüsünde bir toplama komutunu yürütmeye başlayabilir (tabii ki çarpma sonucunun toplamanın bir işlenen olmaması şartıyla); bu nedenle iki talimatın toplam yürütme süresi, çarpma talimatının basitçe (daha uzun) yürütme süresiydi. 6600 CPU'da ayrıca bir komut yığını , bir tür talimat önbelleği vardı ve bu, belleğin talimatları yeniden yüklemesini beklemenin neden olduğu CPU boşta kalma süresini azaltarak CPU verimini artırmaya yardımcı oldu. İki tür CPU komut uyumluydu, bu nedenle ikisinden birinde çalışabilen bir program diğerinde de çalışacak, ancak 6600 CPU'da daha hızlı olacaktı. Aslında 6000 serisi modellerin tümü birbiriyle tam uyumludur. CDC 6400'ün bir CPU'su (bir 6400 CPU), CDC 6500'ün iki CPU'su (her ikisi de 6400 CPU'su), CDC 6600'ün bir CPU'su (bir 6600 CPU'su) ve CDC 6700'ün iki CPU'su (bir 6600 CPU ve bir 6400) vardır. İŞLEMCİ).

Merkezi işlemci (CP)

CDC kaydı 6 × 00
5 9 . . . 1 7 . . . 0 0 (Bit konumu)
Operand kaydı (60 bit)
X0 Kayıt 0
X1 Kayıt 1
X2 Kayıt 2
X3 Kayıt 3
X4 Kayıt 4
X5 Kayıt 5
X6 Kayıt 6
X7 Kayıt 7
Adres kaydı (18 bit)
  A0 Adres 0
  A1 adres 1
  A2 Adres 2
  A3 Adres 3
  A4 Adres 4
  A5 Adres 5
  A6 Adres 6
  A7 Adres 7
Artış kaydı (18 bit)
  B0 (tüm bitler sıfır) 0 artır
  B1 Artış 1
  B2 Artış 2
  B3 Artış 3
  B4 Artış 4
  B5 Artış 5
  B6 Artış 6
  B7 Artış 7

Merkezi işlemci (CP) ve 6400, 6500 ve 6600 makinelerin ana bellek 60 bitlik bir sözcük uzunluğu vardır. CP, sekiz adet genel amaçlı 60-bit yazmaç X0'dan X7'ye, sekiz adet 18-bitlik adres yazmacı A0'dan A7'ye ve sekiz adet 18-bitlik "artış" yazmaç B0'dan B7'ye sahipti. B0, donanım tarafından kalıcı olarak sıfırda tutuldu. Birçok programcı, B1'i 1'e ayarlamayı ve benzer şekilde sabit bir değer olarak ele almayı yararlı bulmuştur.

Girdi ve çıktı için CP komutu yoktu; bunlar çevresel işlemciler aracılığıyla gerçekleştirildi (PP, aşağıya bakınız). Ayrıca ana bellek ve kayıtlar arasında yükleme veya kaydetme için ayrı işlem kodları yoktu . Aksine, bu, belirli A kayıtlarına atamanın bir yan etkisi olarak gerçekleşti: A1'i A5'e ayarlayarak, bu bellek adresindeki kelime X1'den X5'e yüklendi; A6 veya A7 ayarlanarak, X6 veya X7'den bir kelime kaydedildi. A0 ile hiçbir yan etki ilişkilendirilmedi. Ayrı bir donanım yükleme / depolama birimi olan dublör kutusu , gerçek veri hareketini talimat akışı işleminden bağımsız olarak gerçekleştirdi, böylece belleğe hala erişilirken diğer işlemler tamamlanabilir; bu, en iyi durumda, sekiz döngü gerektirdi.

6600-CP, aynı anda birkaç talimatın işlenebildiği on paralel işlevsel birim içeriyordu. Bugün bu, süper skaler bir işlemci tasarımı olarak biliniyor , ancak o zamanlar benzersizdi. Çoğu modern CPU tasarımının aksine, işlevsel birimler ardışık düzen ile birbirine bağlanmamıştı. İşlevsel birim, kendisine bir talimat verildiğinde meşguldü ve bu talimatı yerine getirmesi için geçen süre boyunca öyle kaldı. (Bunun tersine, CDC 7600'ün aritmetik birimlerinde , işlem hattı tanıtıldı.) En iyi ihtimalle, bir hesap makinesine 100 ns komut verilebilirdi. Sistem, talimatları bellekten olabildiğince çabuk, genellikle yürütülebileceklerinden daha hızlı okur ve kodunu çözer ve bunları işlem için aritmetik ve mantık birimlerine aktarır. Bunlar şunlardı:

  • Kayan nokta çarpımı (iki örnek)
  • Kayan nokta bölümü
  • Kayan nokta ekleme
  • "Uzun" tam sayı toplama
  • Arttırıcı (iki örnek; gerçekleştirilen bellek yükleme / kaydetme)
  • vardiya
  • Boole mantığı
  • şube

Kayan nokta işlemleri bu mimaride önemli bir rol oynadı : CDC 6600 (ve akrabaları), bir dal için olanla karşılaştırılabilir bir sürede 60 bitlik bir kayan nokta çarpımı gerçekleştirebilen neredeyse tek şeydi.

60 bitlik sabit noktalı toplama ve çıkarma işlemi Uzun Toplama Birimi'nde gerçekleştirildi ve negatif sayılar birlerinin tümleyeniyle temsil edildi . Sabit nokta çarpımı, kayan nokta çarpma biriminde özel bir durum olarak gerçekleştirildi. Üs sıfır ise, FP birimi 48 bitlik tek duyarlıklı kayan nokta çarpımı gerçekleştirdi ve üst kısmı üs ile silerek 48 bitlik bir tamsayı sonucu üretti. Tamsayı bölme, kayan noktalı sayılara ve geri dönüştürülen bir makro tarafından gerçekleştirildi.

Önceden yürütülen talimatlar , yığın adı verilen sekiz kelimelik bir önbellekte saklanıyordu . Yığın içi atlamalar, bellek alımı gerekmediği için yığın dışı atlamalardan daha hızlıydı. Yığın döngü uçta koşulsuz atlayışlar genellikle hep başarılı şartlı atlamaları olarak yazılmıştır böylece, koşulsuz atlama yönergesi tarafından silindi.

Sistem , dört fazlı sinyal ile 10 MHz saat kullandı . Kayan nokta çarpımı on döngü aldı, bölüm 29 ve bellek gecikmeleri ve diğer sorunlar dahil toplam performans yaklaşık 3  MFLOPS idi . Mevcut en iyi derleyicilerle, FORTRAN programları, makine geçmişinin sonuna doğru yaklaşık 0,55 MFLOPS değerinde sürekli bir çıktı sağlayabilir.

Depolama organizasyonu

Kullanıcı aracıları yalnızca ana belleğin bitişik alanını kullanabilir. Çalışan bir programın erişebildiği bellek bölümü, kullanıcı programının erişiminin olmadığı RA (Göreli Adres) ve FL (Alan Uzunluğu) kayıtları tarafından belirlendi. Bir kullanıcı programı, a adresindeki ana bellekteki bir kelimeyi okumaya veya yazmaya çalıştığında, işlemci önce a'nın 0 ile FL-1 arasında olup olmadığını kontrol etti. Bu durumda işlemci ana bellekteki kelimeye RA+a adresinden erişir. Bu süreç, tabana bağlı yer değiştirme olarak biliniyordu . Her uygulama programı, ana belleği, adres 0'dan başlayarak, FL uzunluğunda bitişik bir sözcük bloğu olarak gördü; aslında, program fiziksel belleğin herhangi bir yerinde olabilir. Bu teknikle, RA kaydı bellekteki konumunu yansıttığı sürece herhangi bir uygulama programı işletim sistemi tarafından ana bellekte taşınabilir. İzin verilen aralığın dışındaki (yani, FL'den daha az olmayan bir adresle) belleğe erişmeye çalışan bir kullanıcı programı kesintiye uğradı ve işletim sistemi tarafından sonlandırıldı. Bu durumda, işletim sistemi , program belleğinin içeriğini kaydeden ve program geliştiricisinin ne olduğunu bilmesi için bir dosyaya kaydeden bir çekirdek dökümü oluşturmuş olabilir. Sanal depolama sistemleriyle olan farka dikkat edin ; bu durumda, bir işlemin tüm adreslenebilir bellek alanı ana bellekte olmalı, bitişik olmalı ve boyutu gerçek bellek kapasitesinden daha büyük olmamalıdır.

CDC 6000 serisinin ilk yedi kopyası haricinde , tüm cihazlar isteğe bağlı Genişletilmiş Çekirdek Depolama (ECS) sistemi ile yapılandırılabilir. ECS, ana bellekten farklı türde bir çekirdek bellekten yapılmıştır, bunun için beş kablonun aksine çekirdek başına yalnızca iki kabloyla kablolanmıştır. Bu, onu ana bellekten daha yavaş hale getirdi, ancak üretimi daha ekonomikti. Çok geniş aktarımlar yaptığı için sıralı aktarım hızı ana bellekle aynıydı. 6000 CPU, doğrudan bir kullanıcının programı (veya işletim sistemi) ile ECS birimi arasında blok bellek transferleri gerçekleştirebilir. Geniş veri yolları kullanıldı, bu yüzden bu çok hızlı bir işlemdi. Ana belleğe benzer şekilde, ECS'deki bellek sınırları, göreceli bir adres / alan uzunluğu mekanizmasıyla işletim sistemi tarafından yönetiliyordu. ECS, merkezi depolama için sık kullanılan dosyaları depolamak için çok büyük olan kullanıcı veri dizileri, boşaltma için ve hatta çoklu ana bilgisayar kompleksinde bir iletişim yolu olarak dahil olmak üzere çeşitli amaçlar için kullanılabilir.

Çevresel işlemciler (PP'ler)

Diğer tasarımlarda CPU'ya atanan "temizlik" görevlerini yerine getirmek için Cray, bazıları daha önceki CDC 160-A bilgisayarına dayanan on işlemci daha ekledi. Periferik işlemciler veya PP'ler olarak adlandırılan bu bilgisayarlar kendi başlarına tam teşekküllü bilgisayarlardı ancak I/O görevleri ve işletim sistemini çalıştırmak için optimize edilmişlerdi . (İşletim sisteminin önemli bölümleri PP'ler üzerinde çalışıyordu, böylece merkezi işlemcinin performansının çoğu kullanıcı programlarına açık kaldı.) Yalnızca PP'lerin G / Ç kanallarına erişimi vardı. PP'lerden biri, ana CPU'da çalışan programın kontrolü dahil olmak üzere makinenin genel kontrolünden sorumluyken, diğerine çeşitli G / Ç görevleri atandı. CP programının bir işletim sistemi işlevi yürütmesi gerekiyorsa, PP0 tarafından izlenen belirli bir bellek konumuna (referans adresi + 1) bir talepte bulundu. Gerekirse, PP0, gerekli kodu yüklemek ve isteği işlemek için başka bir PP atadı. Daha sonra PP, görevin tamamlandığını CP programına bildirmek için RA + 1'i temizledi.

PP0'ın makineyi kontrol etmedeki özel rolü, olası tek bir arıza noktasıydı , çünkü arıza durumunda diğer dokuz PP ve CPU hala düzgün çalışıyor olsa bile tüm makine arızalanabilirdi. Cray, her bir PP'nin denetleyici olmasına ve CPU'nun bu rolü bir başkasına atamasına izin vererek, ardıl model 7600'ün tasarımındaki bu zayıf noktayı giderdi.

Her bir PP'nin 4096 12-bit sözcüklerle kendi belleği vardı; bu bellek hem G/Ç arabelleğe alma hem de program depolama için kullanıldı. Buna karşılık, on PP, namlu ve yuva adı verilen bir konfigürasyonda ortak bir işlemci kullandı . Bu demek yuvası (işlemci) ve bu nedenle bir de ilk PP bir komut döngüsü, ikinci daha sonra bir komut döngüsü gerçekleştirilir yuvarlak robin şekilde. Bu, hem maliyet nedenleriyle hem de CP belleğine erişmek için 10 PP saat döngüsü gerektiğinden yapılmıştır: Eğer bir PP, CP belleğine erişirse, veriler PP'nin bir sonraki yuva zamanını aldığında kullanılabilir durumdaydı.

Kelime uzunlukları, karakterler

Merkezi işlemci 60-bit kelimelere sahipken, çevresel işlemciler 12-bit kelimelere sahipti. CDC , PP tarafından kullanılan 12 bitlik birimler için bayt terimini kullandı. Karakter uzunluğu 6 bitti ve CP'nin talimatları, imzalı 18 bitlik bir adres alanına sahip 15 bit veya 30 bitti; ikincisi, merkezi belleğin 128K kelimelik doğrudan adreslenebilir bir depolama alanına izin veriyordu. (Modern 8 bitlik baytlarla ifade edildiğinde, bu 0,94 MB idi.) Adres kayıtlarının imzalı yapısı, tek bir programı 128K kelimeyle sınırladı. (Daha sonra CDC 6000 uyumlu makineler, bütçeye izin verilirse 256K kelime veya daha fazla ana belleğe sahip olabilirdi, ancak bireysel kullanıcı aracıları yine de 128K kelime ile sınırlıydı.) CPU talimatları, bir atlama talimatı veya bir alt yordam dönüşü, bazen bir kelimenin son 15, 30 veya 45 bitini doldurmak için işlemsiz talimatlar gerektiriyor. Deneyimli montajcı programcıları, bu işlem yapılmayan alanları programın ilerleyen bölümlerinde ihtiyaç duyulan diğer talimatlarla doldurarak programlarını optimize edebilirler.

CDC Gösterim Kodu adı verilen bir kodlamadaki 6 bitlik karakterler, bir kelimede 10 karaktere kadar saklamak için kullanılabilir. Tüm büyük harfler, rakamlar ve bazı noktalama işaretleri için ve her durumda FORTRAN yazmak veya finansal veya bilimsel raporları yazdırmak için yeterli olan 64 karakterlik bir karakter kümesine izin verdiler. Aslında, CDC görüntüleme kodu iki değişkende kullanıldı - 64 karakter ve 63 karakter. 64 basamaklı karakter kümesi, 10 baytlık bir sözcüğün sonundaysa iki ardışık iki nokta üst üste karakterin bir satırın sonu olarak yorumlanması dezavantajına sahipti. Daha eski bir yazılımla büyük ölçüde uyumlu ASCII karakter setinin tamamını kullanmak için KRONOS ve NOS zaman paylaşım sistemlerinde 6/12 Ekran Kodu adı verilen sonraki bir varyant da kullanıldı.

Bayt adresleme talimatları olmadığından, karakterleri kelimelere sığdırmak ve onları hareket ettirmek için kod yazmanız gerekiyordu. Çok büyük sözcükler ve nispeten küçük bellek kapasitesi, programcıların genellikle verileri bit düzeyinde sözcüklere paketleyerek bellekten tasarruf ettikleri anlamına geliyordu.

Uzun kelime uzunluğu ve kelime başına 10 karakter nedeniyle, birden çok kelimeyi aynı anda işlemek, paketlerini açmak, işlemek ve yeniden paketlemekten daha hızlıydı. Örneğin, CDC- COBOL derleyicisi bu tekniği kullanarak ondalık alanları işlemede oldukça iyiydi. Bu tür teknikler günümüzde mevcut işlemcilerin "multimedya" talimatlarında sıklıkla kullanılmaktadır.

Fiziksel tasarım

Cordwood teknolojisinde 64 silikon transistörlü bir CDC-6600 mantık modülü . Koaksiyel konektörler test bağlantılarıdır. Modül, ön panelden iletim yoluyla soğutuldu. CDC 6600, neredeyse 6.000 bu tür modül içeriyordu.

Makine, dört kolun en dıştaki 46 cm'sinde bir pompa ve ısı eşanjörü bulunan, artı işareti şeklinde bir mahfazaya yerleştirildi. Soğutma, makinede dolaşan ve ısıyı harici bir soğutma suyu kaynağına aktaran Freon ile yapıldı . Her bir kol, her biri 20 cm kalınlığında, merkeze yakın menteşelenmiş ve bir kitap gibi açılan dört şasiyi barındırabilir. "Artı" nın kesişme noktası şasiyi birbirine bağlayan kablolarla doluydu. Şasi, bir (on PP'nin tümü ve bunların anıları ve on iki oldukça minimal I / O kanalıyla) 16'ya kadar numaralandırıldı. CPU için ana bellek, birçok kasaya dağıtıldı. Yalnızca 64K kelime ana belleğe sahip bir sistemde, "artı" nın kollarından biri çıkarıldı.

Makinenin mantığı yaklaşık 6,4 cm kare ve 2,5 cm kalınlığında modüller halinde paketlendi. Her modülün arkasında bir konektör (30 pim, her biri 15'lik iki dikey sıra) ve önde altı test portu vardı. Modül, ısıyı dağıtmak için iki alüminyum soğutma plakası arasına yerleştirildi. Bu, iki paralel devre kartından oluşuyordu, bileşenler ya devre kartlarından birine ya da iki devre kartı arasına monte edildi. Bu, çok yüksek bir paketleme yoğunluğu ile sonuçlandı - genellikle onarılamaz, ancak iyi ısı aktarım özelliklerine sahip ve İngiliz kordonu yapısının bilindiği üzere.

İşletim sistemi ve programlama

6600 işletim sisteminin geliştirilmesinde acı bir nokta vardı : kaçırılan son tarihler. Makineler orijinal olarak COS (Chippewa İşletim Sistemi) adı verilen çok basit bir dizi kontrol sistemine sahipti ve teslimattan önce sistem testine hazır bir şey olması için önceki CDC 3000 işletim sistemi temelinde hızlı bir şekilde "bir araya getirildi ". Ancak makineler , şirketin Los Angeles'taki Sistem Bilimleri Bölümünde geliştirilen SIPROS (Eşzamanlı İşleme İşletim Sistemi) adlı çok daha güçlü bir sistemle gelecekti . Müşteriler, SIPROS'un işlev listesinden etkilendiler ve çoğu, SIPROS'u tedarik sözleşmelerine dahil etti.

SIPROS'un büyük bir fiyasko olduğu ortaya çıktı. Geliştirme programları düşmeye devam etti ve CDC'nin teslimat gecikmeleri için cezalar şeklinde önemli karlara mal oldu. Aksi takdirde sevkıyata hazır olan makinelerde birkaç ay bekledikten sonra proje nihayet iptal edildi. COS üzerinde çalışan programcıların SIPROS'a güvenleri çok azdı ve COS'u iyileştirmek için çalışmaya devam ettiler.

İşletim sistemi geliştirme daha sonra iki kampa bölündü. COS'un CDC onaylı geliştirilmesi, Sunnyvale, California'daki yazılım geliştirme laboratuvarında gerçekleştirildi . Birçok müşteri, daha sonra SCOPE (Program Yürütmenin Denetleyici Kontrolü) olarak bilinen bu yazılımla sistemlerini aldı . SCOPE sürüm 1, esasen demonte bir COS idi; SCOPE sürüm 2, yeni cihazları ve dosya sistemlerini destekledi. SCOPE sürüm 3, kalıcı dosyalar için destek, EI / 200 uzaktan toplu iş desteği ve INTERCOM zaman paylaşımı desteği içeriyordu . SCOPE her zaman önemli güvenilirlik ve sürdürülebilirlik sorunları yaşadı.

CDC 6000 Serisi SCOPE 3.1, masaüstü CYBER emülatörü üzerinde çalışırken kendini yaratır

COS 'yeraltı geliştirme' , Minnesota , Arden Hills'teki montaj fabrikasında gerçekleşti . MACE ([Greg] Mansfield ve [Dave] Cahlander Executive) büyük ölçüde, makinelerin mevcut olduğu mesai saatleri dışında tek bir programcı tarafından yazılmıştır. İşlevsellik esasen COS ve SCOPE 1 ile aynıydı. Önceki COS dosya sistemi korunuyordu, ancak kod modülerliği, sistem güvenilirliğini ve yeni depolama aygıtlarına uyarlanabilirliği iyileştirmek için önemli ölçüde iyileştirildi. MACE hiçbir zaman resmi bir ürün olmadı, ancak birçok müşteri bunu CDC'den alabildi.

Daha sonra resmi olmayan MACE yazılımı, adını Yunan zaman tanrısından alan bir sonraki CDC işletim sistemi KRONOS'un temeli olarak resmi SCOPE ürününün yerine seçildi . Dave Mansfield'ın Minnesota Üniversitesi kütüphanesini aradığı ve "zaman" anlamına gelen eski bir kelime istediği söyleniyor. "Chronos" yerine "Kronos" yazdı. Ana pazarlama nedeni, TELEX devre mülk özelliğinin ve BATCHIO uzak parti özelliğinin geliştirilmesiydi. Kronos, COS / SCOPE-1 dosya sistemini kullanmaya devam etti ve kalıcı bir dosya özelliği ekledi.

NOS (Ağ İşletim Sistemi), SCOPE ve Kronos işletim sistemi ürünlerini standartlaştırma girişimi olarak geliştirilmiştir. NOS, tüm CDC makineleri için tek işletim sistemi olmalıdır, bu CDC'nin güçlü bir şekilde desteklediği bir gerçektir. Birçok SCOPE müşterisi, SCOPE mimarisine bağlı olarak yazılıma bağımlı olmaya devam etti, bu nedenle CDC, basitçe onu NOS / BE (Toplu Ortam) olarak yeniden adlandırdı ve tüm kullanıcıların NOS çalıştırdığını iddia edebilirdi. Uygulamada, SCOPE işlevlerini eklemek için Kronos kod tabanını değiştirmek, diğer yoldan çok daha kolaydı.

Müşteriye yönelik olmayan diğer işletim sistemleri de montaj fabrikasının yakınında üretildi. Buna donanım testleri için SMM mühendislik araçları ve yazılım "duman testleri" için KALEIDOSCOPE dahildir . CDC saha teknisyenleri tarafından test için sıklıkla kullanılan bir diğer araç , mühendisler tarafından onarım veya servis çalışmasından sonra bileşenleri ve cihazları test etmek için kullanılan MALET'tir (Ekipman Testi için Bakım Uygulama Dili). Test koşullarında, hataların MALET ve teknisyen tarafından fark edilip edilmediğini belirlemek için genellikle kasıtlı olarak kusurlu olan sabit disk paketleri ve manyetik bantlar kullanıldı.

NOS 1.3

SCOPE ve COMPASS adları CDC tarafından 6600 dahil olmak üzere hem CDC-6000 serisi hem de CDC-3000 serisi için kullanılmıştır :

  • COMPASS, her iki ailede de derleme dillerinin adıydı .
  • 3000 ve 6000 serilerinin işletim sistemleri SCOPE olarak adlandırıldı.

CDC 7600

CDC 7600 başlangıçta varolan 6000 serisi makineleri ile tam uyumlu olması amaçlanmıştır edildi. Başlangıçta CDC 6800 olarak adlandırıldı. Ancak geliştirme sırasında geliştiriciler, mevcut 6000 serisi makinelerle tam uyumluluğu korumanın performanstaki potansiyel artışı sınırlayacağını fark etti ve performans için uyumluluğu feda etmeye karar verdi. CDC 7600'ün CPU'su esasen CPU 6400 ve 6600 ile talimat uyumluyken ve daha yüksek seviyeli programlama dilinin kaynak kodu seviyesinde kod taşınabilirliği sağlasa da, CDC 7600'ün donanımı, özellikle çevresel işlemci birimlerininki ( PPU'lar), tamamen farklıydı. CDC 7600, farklı bir işletim sistemi gerektiriyordu. Bu, tasarımcıların 6000 tasarımının bazı özelliklerini geliştirebildikleri için bir nimet oldu; örneğin, sonuncusunun, özellikle eskisinin (PP0 olarak adlandırılır) çevresel işlemcilere (PP'ler) tam bağımlılığı gibi, sistemin çalışmasını kontrol etmek için. CPU dahil tüm bilgisayar sistemi. 6600 CPU'nun aksine, CDC 7600'ün CPU'su kendi çalışmasını kontrol edebilir. Aslında, 6000 serisi makineler bu işlevle güçlendirilmiştir .

Edebiyat

İnternet linkleri

Bireysel kanıt

  1. Bu tuhaf yazı tipinin bir örneği James E. Thornton: Design of a Computer - The Control Data 6600'ün başlık sayfasında bulunabilir . Scott, Foresman and Co, Glenview, IL 1970, LCCN  74-096462 ( bitsavers.org [PDF; 7 Ekim 2019'da erişildi]).
  2. ^ Andrew RL Cayton , Richard Sisson, Chris Zacher: The American Midwest: An Interpretive Encyclopedia . 2006, ISBN 0-253-00349-0 .
  3. Alexander Smith: CDC 6600 - Tarihsel Ara: Ana Bilgisayardan Mini Bilgisayara Bölüm 2, IBM ve Yedi Cüceler - Dünyalar Yaratıyorlar . Erişim tarihi: October 7, 2019.
  4. ^ Bir Dünya Farkı Yaratmak: Mühendislik Fikirlerini Gerçeğe Dönüştürmek . National Academy of Engineering, 2014, ISBN 0-309-31265-5 : "Seymour Cray tarafından tasarlanan CDC 6600, zamanının bir sonraki en hızlı makinesi olan IBM 7030 Stretch'ten neredeyse üç kat daha hızlıydı."
  5. ^ Andreas Sofroniou: Uzman Sistemler, İnsan Replikasyonu için Bilgi Mühendisliği . 2013, ISBN 1-291-59509-0 : "1964'te Cray'in CDC 6600'ü, Dünyadaki en hızlı bilgisayar olarak Stretch'in yerini aldı."
  6. ^ Sebastian Anthony: Süper Bilgisayarların Tarihi . 10 Nisan 2012. Erişim tarihi: 7 Ekim 2019.
  7. CDC 6600 bilgisayar . Encyclopædia Britannica. 7 Ekim 2019'da alındı.
  8. Gordon Bell: A Seymour Cray Perspective . İçinde: Seymour Cray Anlatım Serisi . Minnesota Üniversitesi . 10 Kasım 1997. Erişim tarihi: 7 Ekim 2019: "7600 tasarımı, diğer tüm süper bilgisayar tasarımlarından daha uzun sürdü. 1969'da piyasaya sürülmesinden 1976'da Cray 1'in tanıtımına kadar tüm bilgisayarlar arasında en yüksek performansa sahipti. "
  9. CDC 6500 . Yaşayan Bilgisayarlar: Müze + Laboratuvarlar. Erişim tarihi: October 7, 2019.
  10. ^ Control Data Corporation, "Küçük Karakter" Prototipi . Bilgisayar Tarihi Müzesi. Erişim tarihi: October 7, 2019.
  11. CDC 6600, CERN'e ulaştı . 14 Ocak 1965. Erişim tarihi: 7 Ekim 2019.
  12. Lawrence ve Laboratuvarı, ch. 6: Tampon Kırpma . Lawrence Berkeley Laboratuvarı . 1996. Erişim tarihi: 7 Ekim 2019.
  13. CDC 6600 . 16 Ocak 1998. Arşivlenmiş orijinal 4 Ocak tarihinde, 2001 Alınan 7 Ekim 2019.
  14. Mark D. Hill, Norman P. Jouppi, Gurindar S. Sohi (Ed.): Bilgisayar Mimarisinde Okumalar . Morgan Kaufmann, 1999, ISBN 1-55860-539-8 , s. 11 .
  15. Notun tam bir görüntüsü şurada yer almaktadır: Thomas J. Watson: Memorandum . 28 Ağustos 1963. Erişim tarihi: 7 Ekim 2019.
  16. Mark Smotherman, Dag Spicer: IBM'in Tek İşlemcili Süper Bilgisayar Çabaları . İçinde: CACM . bant 53 , hayır. 12 Aralık 2010, ISSN  0001-0782 , s. 28–30 ( acm.org [7 Ekim 2019'da erişildi]).
  17. Donanım Referans Kılavuzu . Revizyon M. In: Kontrol Verileri 6000 Serisi Bilgisayar Sistemleri . Hayır. 60100000 . Control Data Corporation , St. Paul, MN 20 Haziran 1971 s. 4-3, 4-4 ( sondaki-edge.com [PDF; 7 Ekim 2019'da erişildi]).
  18. Kontrol Verileri 6400/6500/6600 Bilgisayar Sistemleri Referans Kılavuzu . Revizyon H. Control Data Corporation, St. Paul, MN 21 Şubat 1969 ( archive.org [erişim tarihi 7 Ekim 2019]).
  19. Bu açıklama, CDC yazılımının ilk sürümleri için geçerlidir; sonraki sürümler, CP'de tam olarak yürütülebilecek işlevler için yönetim yükünü azaltmak için Merkezi Değişim atlama (XJ) komutunu kullandı.
  20. terimi görüntü kod gibi benzer bir şekilde, CDC ile ilişkili EBCDIC edildi başlangıçta IBM ile ilişkili. Bilgisayar endüstrisinde kullanılan diğer terimler , DEC tarafından tercih edilen BCD ve SIXBIT idi .
  21. DEC/PDP karakter kodları . Miami Üniversitesi . Arşivlenmiş orijinal 11 Mart 2019 Alınan 7 Ekim 2019 tarihinde.
  22. KRONOS 2.1 Zaman Paylaşımlı Kullanıcı Referans Kılavuzu . Revizyon B. In: Kontrol Verileri Cyber ​​70 Serisi Modeller 72/73/74, 6000 Serisi Bilgisayar Sistemleri . Hayır. 60407600 . Control Data Corporation , St. Paul, MN 1 Mayıs 1974 ( bitsavers.org [PDF; 7 Ekim 2019'da erişildi]).
  23. Hız ve Güç (Bilgisayarları Anlama) . Zaman Yaşam Eğitimi, 1990, ISBN 0-8094-7587-1 , s. 17 .
  24. ^ HD Pridmore: PUSULA Programlama Eğitim Kılavuzu . In: 3100 3200 3300 3500 Bilgisayar Sistemleri . Hayır. 60184200 . Control Data Corporation , St. Paul, MN 1967 ( archive.org [PDF; 7 Ekim 2019'da erişildi]).
  25. PUSULA Referans Kılavuzu . Revizyon C. In: 3600 Bilgisayar Sistemleri . Hayır. 60184200 . Control Data Corporation , St. Paul, MN Aralık 1967 ( bitsavers.org [PDF; 7 Ekim 2019'da erişildi]).
  26. ^ "CDC, 3600 için SCOPE işletim sisteminin erken bir sürümünü teslim etti" Ernest J. Henley, Jeffery Lewins (Ed.): Advances in Nuclear Science and Technology . Cilt 9. Academic Press , New York 1976, ISBN 0-12-029309-9 , s. 309 ( Google Kitap aramada sınırlı önizleme ).
selef Ofis halef
IBM 7030 Streç Dünyanın en güçlü bilgisayarı
1964–1968
CDC 7600