IBM 1130 - IBM 1130

IBM 1130
IBM 1130 (1).jpg
geliştirici IBM Boca Raton
Üretici firma IBM
Tip mini bilgisayar
Yayın tarihi 1965 ( 1965 )
Tanıtım fiyatı ~ 1.000 $ aylık kiralama, 2020'de yaklaşık 8.200 $'a eşdeğer
Durdurulan 1980'lerin başı
Sevk edilen birimler 10.000 tahm.
İşletim sistemi Disk Monitörü 2 (DM2)
İşlemci 16-bit, word adresli, 15-bit adres alanı
Hafıza manyetik çekirdek
Depolamak IBM 2310 disk sürücüsü
Çıkarılabilir depolama IBM 2515 tek disk kartuşu
Görüntülemek IBM 1627 Calcomp Plotter, IBM 2250 , isteğe bağlı
Giriş delikli kart , kağıt bant , konsol
bağlantı IBM Eşzamanlı İletişim Bağdaştırıcısı (SCA)
Boyutlar masa boyutu: genişlik 58,5 inç, derinlik 29 inç, yükseklik 44,125 inç
Yığın 660 libre
Pazarlama hedefi küçük mühendislik şirketleri, okullar
geriye dönük
uyumluluk
Fortran aracılığıyla
selefi IBM 1620 , IBM 650
Varis IBM Serisi/1
IBM Sistemi/7
İlgili Makaleler IBM 1800 süreç kontrol sistemi
İnternet sitesi ibm1130 .org

IBM 1130 1965 yılında tanıtılan Computing System, oldu IBM'in 'ın en ucuz bilgisayar o zaman. İkili 16 bitlik bir makine, eğitim ve mühendislik gibi fiyata duyarlı, yoğun bilgi işlem gerektiren teknik pazarlara pazarlandı ve bu pazar segmentinde ondalık IBM 1620'nin yerini aldı. Tipik kurulumlar, işletim sistemini, derleyicileri ve nesne programlarını depolayan 1 megabaytlık bir disk sürücüsünü içeriyordu, program kaynağı oluşturulmuş ve delikli kartlarda tutuldu . Fortran , kullanılan en yaygın programlama diliydi , ancak APL dahil olmak üzere birkaç tane daha mevcuttu.

IBM 1130 konsolu

1130 aynı zamanda bir IBM 2250 Grafik Görüntüleme Biriminin bağlanması için akıllı bir ön uç olarak veya bir System/360 ana bilgisayarına bağlı uzak iş girişi (RJE) iş istasyonu olarak da kullanıldı .

Kağıt şerit okuyucu delgi, IBM 1442 kart okuyucu/delici (arka) ve IBM 1627 Calcomp çizici dahil çevre birimlerine sahip IBM 1130 .

Açıklama

IBM 1130'dan çift genişlikte bir SLT kartı. Kare metal kutular hibrit devreleri içerir.

1130'un toplam üretiminin 10.000 olduğu tahmin ediliyor. 1130, (ve onun IBM dışı klonları) birçok kişiye bir bilgisayarla ilk doğrudan etkileşimini sağladığı için bilgi işlem tarihinde bir yere sahiptir. Fiyat-performans oranı iyiydi ve özellikle birkaç yüksek seviyeli dilde olabilen güvenilir, kullanımı kolay yazılımla birlikte ucuz, çıkarılabilir disk depolamayı içeriyordu . Düşük fiyat (disk sürücüsü ile yaklaşık 32.000 $ veya 41.000 $'dan başlayan fiyatlarla) ve iyi dengelenmiş özellik seti, etkileşimli "açık mağaza" program geliştirmeyi mümkün kıldı .

IBM 1130, System/360'ta kullanılan Solid Logic Technology (SLT) adı verilen aynı elektronik paketi kullanır . PDP-11 ve Data General Nova gibi daha sonraki mini bilgisayarlar gibi 16 bitlik bir ikili mimariye sahiptir .

Adres alanı 1130 sınırlama, 15 bit 32.768, 16-bit kelime ( 65.536 bayt bellek). 1130 , işlemcinin doğrudan, dolaylı ve dizinlenmiş adresleme modlarını kullanarak sözcük sınırlarında adreslediği manyetik çekirdekli belleği kullanır .

Modeller

IBM, IBM 1130'un birincil işleme bileşeni olan 1131 Merkezi İşlem Birimi'nin beş modelini hayata geçirdi. Model 1'den Model 5'e kadar olan modeller, çekirdek bellek döngü süresini ve modelin disk depolamaya sahip olma yeteneğini açıklar. Model numarasına eklenen A'dan D'ye kadar olan bir harf, kurulu çekirdek bellek miktarını gösterir.

IBM 1131 Merkezi İşlem Birimi yaklaşık 760/1050 lb (345/477 kg) ağırlığındadır.

  Bellek döngüsü süresi
çekirdek bellek 3,6 μs,
dahili disk yok
3,6 μs,
artı diskler
2,2 μs,
artı diskler
5,6 μs
(3,6 μs: aşağıya bakın),
tek disk
2,2 μs,
dahili disk yok
4096 kelime Model 1A Model 2A  ———  Model 4A  ——— 
8192 kelime Model 1B Model 2B Model 3B Model 4B Model 5B
16.384 kelime 1C modeli Model 2C Model 3C  ———  Model 5C
32.768 kelime 1D modeli 2D modeli 3D modeli  ———  5D modeli

Model 4, 5,6 μs döngü süresine sahip daha düşük fiyatlı bir üründü. Bazı performans yükseltmeleri satın alanlar, iyileştirmeyi sağlamak için saha ayarlamasının şaşırtıcı derecede önemsiz olduğunu gözlemledi.

IBM 1132 onlar döndürülmüş olarak baskı tekerlekleri yangın olduğunda yazıcı belirlemek için 1130 işlemci yerine iç mantığına dayanır. Model 4 için yazıcılar daha yavaş çalışır, ancak daha yavaş işlemci buna ayak uyduramaz. Donanım kılavuzu, Model 4'ün en üst düzey iki kesintiye (seviye 0 kart okuyucu sütun kesintisi veya seviye 1 yazıcı kesintisi) hizmet verirken , daha hızlı 3,6 μs döngü süresinde çalıştığını açıklar. Model 4'ün bazı kullanıcıları , daha yüksek işlemci hızından yararlanmak için yazıcı kesintisini kapatmayan sahte bir yazıcı sürücüsü yazardı . Ancak, 1442 kart okuyucusundan gelen kart sonu kesmesi (seviye 4) bile bu aralık sırasında daha düşük seviyeli kesmeler devre dışı bırakılır.

Devam eden ürünler

IBM 1800 , açıklandı Kasım 1964 için IBM 1130 öncülü olan proses kontrol uygulamaları. Üç dizin kaydı için çekirdek bellek yerine donanım kullanır ve iki ekstra talimat (CMP ve DCM) artı ekstra kesme ve G/Ç yetenekleri içerir. Bu daha başarılı olduğunu IBM 1710 IBM, 1130 için bir halefi olarak, IBM 1620 .

IBM 1500 Bu çeşitli 32 öğrenci iş istasyonları, her birine kadar bağlanabilir bir IBM 1130 veya bir IBM 1800 ya etrafında dayalı çok kullanıcılı bir eğitim sistemidir görsel-işitsel yetenekleri.

Bunların dışında IBM, 1130'a uyumlu bir ardıl sistem üretmedi. IBM System/7 , bir süreç kontrolü ve gerçek zamanlı sistemdir ve IBM Series/1 , her ikisi de farklı mimarilere sahip, genel amaçlı bir 16-bit mini bilgisayardır . 1130 ve birbirinden.

kronoloji

  • 11 Şubat 1965 - IBM, 1130'u tanıttı (1A, 1B, 2A ve 2B Modelleri). Ayrıca o tarihte IBM tarafından duyurulan en düşük maliyetli çevrimiçi bilgisayar yazıcısı olan IBM 1132 yazıcısı da duyuruldu.
  • 1965'in dördüncü çeyreği – San Jose tesisinden ilk müşteri sevkiyatları başladı.
  • 31 Mart 1966 – IBM, IBM 1500 eğitim sistemini tanıttı.
  • Nisan 1966 - IBM 1800 gemileri.
  • 9 Ağustos 1966 - IBM, küçük 1130 sisteminin normal kiralık telefon hatlarıyla bağlanmasına ve IBM System/360'ın herhangi bir modeli için bir iletişim terminali olarak işlev görmesine izin veren 1130 eşzamanlı iletişim adaptörünü piyasaya sürdü.
  • 17 Nisan 1967 - 1130'un aşağıdakileri içeren dört yönlü bir genişletmesi duyuruldu (2C, 2D, 3B, 3C ve 3D Modelleri):
    • Disk depolamasının beş katı ve çekirdek belleğin dört katı;
    • Önceden mevcut olandan neredeyse yüzde 40 daha hızlı ek bir işlem hızı;
    • Optik işaret okuyucu da dahil olmak üzere daha fazla ve daha hızlı çevresel ekipman;
    • Geliştirilmiş bir ticari programlama paketi.
  • Ocak 1968 – 1130 Model 2C, 2D, 3B, 3C ve 3D'nin ilk sevkiyatları başladı.
  • Temmuz 1968 - Boca Raton fabrikası 1130'u göndermeye başladı.
  • 22 Temmuz 1971 – 1130 Model 4A ve 4B, yeni ekonomi seviyelerinde tanıtıldı.
  • Eylül 1971 – 1130 Model 4'ün ilk müşteri sevkiyatları başladı.
  • 31 Mayıs 1972 – 1C, 1D, 5B, 5C ve 5D Modelleri açıklandı.
  • 1973 - Xerox 530 , IBM 1130 müşterilerinin olası halefi olarak pazarlandı. Ocak 1974 itibariyle Xerox 530 için verilen siparişler "cesaret verici" olarak kabul edildi.

Yazılım

Hızı en üst düzeye çıkarmak ve alandan tasarruf etmek için, işletim sistemi ve derleyiciler tamamen montaj dilinde yazılmıştır ve kod ve verileri birbirine karıştırmanın yanı sıra kendi kendini değiştiren kod da dahil olmak üzere günümüzde nadir görülen teknikleri kullanır .

Fortran'da birçok kullanıcı programlaması yapılır . 1130 Fortran derleyicisi yalnızca 4.096 kelimelik çekirdekli bir makinede çalışabilir, ancak derlenen program böyle bir makineye sığmayabilir. Bu çok geçişli derleyicide , her "faz" tüm kaynak programı işler ve makine koduna doğru bir adım daha atar. Örneğin, ilk aşama kaynak ifadeleri belleğe okur, yorum satırlarını atar, metin değişmezleri dışındaki boşlukları kaldırır, devam satırlarını birleştirir ve etiketleri tanımlar. Derleyici, diskte yerleşik bir sürümün yanı sıra 8 kanallı delikli kağıt bant veya delikli kartlarda mevcuttur.

1130 için en yaygın kullanılan işletim sistemi , 1967'de tanıtılan Disk Monitor System Version 2'dir (DM2). DM2, tek görevli toplu iş odaklı bir sistemdir. Sistemin oturması için en az 4 KB çekirdek belleğe ve bir entegre 2310 disk sürücüsüne sahip bir sistem gerektirir. Supervisor, modern standartlara göre küçüktür ve Interrupt Level Subroutines adı verilen birinci seviye kesme rutinleri gibi çeşitli sistem ayrıntılarını , ayrıca disk sürücüsü ve iş kontrol komutlarının yorumlayıcısını ve kart okuyucu sürücüsünü yüklemek için rutinleri içerir . Bir işin gerektirdiği diğer G/Ç aygıtları için aygıt sürücüleri, o işin yüklenmesinin bir parçası olarak dahil edilir; bu, temel disk sürücüsünün daha gelişmiş bir sürücüyle değiştirilmesini de içerebilir. Bir işin yürütülmesi sırasında, yalnızca Skeleton Supervisor olarak adlandırılan yerleşik bir monitör bellekte bulunur. Bu Süpervizör yalnızca 1020 bayta ihtiyaç duyar, bu nedenle bir görevin ilk kullanılabilir belleği /01FE (onaltılık) adresi veya 510 kelimesi ile başlar. İş bittiğinde veya iptal edildiğinde, süpervizör , iş kontrolünü okumak için Monitör Kontrol Kayıt Çözümleyicisini ( MCRA ) yükler. sonraki. İş çalışırken, Süpervizör etkin değildir. Aygıt sürücüleri ve kesinti işleme dışında, tüm CPU zamanı tamamen işin faaliyetlerine ayrılmıştır. İşletim sisteminin bir parçası olarak dağıtılan diğer programlar, bir çekirdek döküm yardımcı programı, DUMP ve Disk Yardımcı Programı , DUP'dir .

Disksiz sistemleri desteklemek için bir Kart/Kağıt Bant Programlama Sistemi mevcuttu.

Aygıt sürücülerinin bir hiyerarşisi vardır: adları Z ile bitenler DISKZ gibi Fortran içindir, montajcı programcılar DISK0 kullanabilir ve DISK1 çoklu disk sektörlerini okumada daha da hızlıydı. Ancak DISKZ sektör adreslemeye ilk kullanılabilir kullanılmayan sektörle başlarken, diğerleri diskin sektör sıfırıyla başlar, bu da disk organizasyonuna aşina olmayan bir programcının yanlışlıkla önyükleyici yükleyicinin üzerine yazmasına olanak tanır.

1130'da bulunan diğer programlama dilleri şunları içerir:

Fransızca yazılmış bir ALGOL derleyicisi bile var , böylece " Debut ...Fin;" yerini alsın Begin ... End;. Tüm mesajları Fransızcadır, bu nedenle amaç "Bonne derlemesi"dir.

Eastern Michigan Üniversitesi , IBM tarafından sağlanan Fortran IV (alt küme) derleyicisine alternatif olarak 1130 için Fortran-EMU olarak bilinen bir Fortran IV derleyicisi geliştirdi. LOGICAL veri türü, altı harfli değişken adları ve gelişmiş tanılama dahil, IBM derleyicisi tarafından desteklenmeyen birçok Fortran Iv özelliği ekler. Fortran-EMU derleyicisi, birleştirici veya derleyici gibi normalde aynı diskte bulunacak diğer modüllerin kopyalanmasını önlemek için, kalan tüm sistem alanı silinmiş bir disk görüntü dosyası biçiminde delikli kart destesi olarak dağıtıldı.

Oklahoma Eyalet Üniversitesi , ANSI Fortran 1966'da yazılmış bir ALGOL 68 derleyicisi geliştirdi .

Michigan Üniversitesi'nde bir FOCAL tercümanı geliştirildi.

IBM ayrıca, hem IBM tarafından desteklenen (Tip I ve II) hem de desteklenmeyen (Tip III ve IV) geniş bir program kitaplığı dağıttı.

1130 öncelikle bilimsel pazara yönelik olduğundan, bilimsel ve mühendislik programları baskındı:

  • Bilimsel Alt Program Paketi
  • Alt Programları Çiz ve Çiz
  • Elektrik Güç Sistemi Yük Akış Programı
  • Çoklu regresyon
  • Elektrik Dağıtım Sistemi Arıza Akımlarının Hesaplanması
  • Boru Analizi
  • COGO koordinat geometrisi
  • Sürekli Sistem Modelleme (CSMP)
  • Doğrusal Programlama Matematiksel optimizasyon Altyordam Sistemi
  • Yapısal Mühendislik Sistem Çözücü (STRES)
  • İstatistiksel Sistem

1130 ayrıca daha küçük kuruluşlar için bir veri işleme makinesi olarak bir niş işgal etti :

  • 1130 Ticari Alt Program Paketi
  • Öğrenci Bilgi Sistemi
  • BGBM/PERT

Ayrıca özel amaçlı yazılımlar da vardır:

  • Uzaktan İş Girişi (RJE)
  • dizgi

İş kontrolü

1130'un toplu çalışması, birincil giriş akışındaki (kart veya kağıt şerit okuyucu) kontrol kayıtları tarafından yönlendirilir. İki tür kontrol kaydı vardır, izleme kontrol kayıtları ve süpervizör kontrol kayıtları.

Kontrol Kayıtlarını İzleyin

Monitör kontrol kayıtları, //␢sütun 4-7'de bir "sahte işlem kodu" ile tanımlanır . "␢" tek bir boşluğu temsil eder.

1130 Monitör Kontrol Kayıtları
Kontrol kaydı İşlev
//␢* comments 5'ten 80'e kadar olan sütunlarda iş listesinde yazdırılacak bir yorum sağlar
//␢JOB Bir işin başlangıcını tanımlar
//␢ASM Assembler'ı çağırır
//␢FOR FORTRAN derleyicisini çağırır
//␢PAUS Konsol BAŞLAT tuşuna basılana kadar sistemi durdurur
//␢TYP Kontrol kaydı girişi ve çıkışı için konsola geçiş yapar
//␢TEND etkisini iptal eder //␢TYP
//␢DUP Disk Yardımcı Programını çağırır
//␢XEQ Kontrolü bir ana hat programına okur ve aktarır

JOBRekor bu iş ile Kullanım Alanı eklediği tüm dosyalar sonunda silinmesi gerektiğini belirtmek için sütuna 8'de bir "T" sahip olabilir. 11'den 15'e kadar olan sütunlar bir kartuş etiketi içerebilir; sistem, devam etmeden önce belirtilen kartuşun takılı olduğunu doğrular.

XEQKayıt çalıştırılacaktır Çalışma Depolama şu anda, bu atlanırsa programın adı 12'de aracılığıyla sütunlarda 8 çalıştırılacak programı içerebilir. 14. sütun "L" içeriyorsa ve program Disk Sistem Formatındaysa (çekirdek görüntüsü değil), Çekirdek Yük Oluşturucu tarafından bir çekirdek haritası yazdırılacaktır. Bu ifadenin ardından LOCAL NOCAL, veya FILESSüpervizör Kontrol Kayıtları geliyorsa , sütun 16 ve 17 bu kayıtların sayısını içerir. Sütun 19, isteğe bağlı olarak hangi disk sürücüsü rutininin bağlanacağını belirtir. "0", "1" veya "N", istek DISK1, DISK2 veya DISKN, boş dahil herhangi bir karakter, DISKZ, FORTRAN disk rutini ister.

Süpervizör Kontrol Kayıtları

Danışman Kontrol kayıtları 1. sütun bir "*" ile başlayan, hemen sütunda 2. Komut sözde operasyon ardından Bunlar LOCAL, NOCALve FILESÇekirdek Yük Oluşturucu için. DUP kontrol kayıtları benzer bir formata sahiptir. Bu kayıtlar, // XEQdeyim veya DUP *STORECIkomutu için program bağlantısını kontrol eder .

Süpervizör Kontrol Kayıtları
Kontrol kaydı Açıklama
*LOCAL Ana programa dahil edilmek yerine çalışma zamanında bindirmeler olarak yüklenecek olan alt programların bir listesini sağlar
*NOCAL Hiçbir zaman çağrılmasalar bile ana programa bağlanacak alt programların bir listesini sağlar. Bunlar genellikle operatörün konsoldan manuel olarak dallayabileceği hata ayıklama rutinleridir veya servis rutinlerini kesintiye uğratır.
*FILES FORTRAN deyiminden veya Assembler deyiminden Dosya Kimlik Numaralarını diskteki adlandırılmış dosyalara eşitler . DEFINE FILEFILE

İşletim prosedürü

Giriş haznesine kendisinden sonra yerleştirilen kart destesini kopyalayacak, kendi kendine yüklenen bir 1130 programı içeren delikli kart.

IBM 1130'un kalıcı bellekleri, sürekli insan müdahalesine olan ihtiyacından kaynaklanmış olabilir. Genellikle delikli kart destesi tarafından belirtilen "işleri" yürütmekle meşguldü . İnsan operatör, işleri kart okuyucuya yükler ve bunları, belki de basılı çıktıyla birlikte göndericiye iade edilmek üzere işlere geri ayırırdı. Operatör ayrıca 1130'u arızalı veya durmuş bir iş kanıtı için izlemeli ve bir INT REQsonraki işin başlangıcına atlamak için klavyedeki tuşa basarak müdahale etmelidir .

Bir işin başlangıcını işaretlemek, ile başlayan delikli bir karttı // JOB. İle başlayan herhangi bir kart //, Süpervizöre verilen bir komuttur ve kullanıcı programı veya verisi olarak kullanılamaz. // DUPDisk Yardımcı Programını yürütmek (dosyaları silmek veya geçici alandaki dosyayı dosya koleksiyonuna eklemek) ve // XEQdiskten adlandırılmış bir programı yürütmek için dahil edilen diğer komutlar . Bir kullanıcı programı bir komut kartını okumaya çalışırsa, standart kart okuyucu rutini programa girişin bittiğini bildirir ve bu kartın içeriğini Süpervizör için kaydeder.

İlk Program Yükü (IPL)

Sistem konsolundan bir önyükleme aygıtının seçilebildiği IBM 360'ın aksine , bir IBM 1130 yalnızca harici bir aygıttan "önyüklenebilir" (IPL'd: İlk Program Yüklemesi): bir kart okuyucu veya bir kağıt şerit okuyucu.

Önyükleme prosedürü, kart okuyucudan bir kart okur. Önyükleme kartı, disk sürücüsünün sıfır kesiminin içeriğini okumak için ikili kod içerir, bu da sırayla disk sürücüsünden "işlem tamamlandı" kesintisini yönetir ve 1130'u ilk delikli kart işine hazırlamak için ek disk okumaları gerçekleştirir. Tüm işlemin tamamlanması yaklaşık bir saniye sürer.

Kurtarma prosedürleri

IBM 1130 başlatıldığında, Süpervizör hala bellektedir ve çekirdek bellek güç olmadan durumunu koruduğu için muhtemelen sağlamdır. Operatör, bir kullanıcı programının durduğu sonucuna varırsa, Süpervizör programı iptal etmek için bir tuşa basıldığını hissedebilir ve sonraki // karta geçebilir. Süpervizör, kötü yazılmış bir iş tarafından değiştirilmeye karşı korumalı değildir; bu, operatörün 1130'u yeniden başlatmasını gerektirebilecek bir durumdur. Diske yazmaya karşı koruma da yoktu. Sistem yazılımının diskteki kopyası değiştirilirse, yaklaşık 4000 ikili kodlu delikli karttan (yaklaşık iki kutu) yeniden yüklenerek geri yüklenebilir.

Disk organizasyonu

IBM 2315 disk kartuşu
2315 uyumlu disk kartuşu.(boyutlar 1 3/8 x 15 inç)

IBM 2310 disk sürücüsü , 320 kelimelik (640 bayt) sektörleri artı tek kelimelik bir sektör adresini depolar . Bir silindir , iki oluşur parça 2315 üstüne ve alt yüzeyler, veya 2311. kullanılan 1316 diski paketi üzerinde bir plakalı Her disk silindir sekiz sektör içermektedir. Bir sektör, monitör tarafından mantıksal olarak her biri 20 kelimelik (40 bayt) on altı disk bloğuna bölünür . Disk bloğu, dosyalar için ayırma birimidir.

Sistem arasında farklılaşacaktır sistemi kartuşu kullanıcı verileri ile birlikte bir monitör ve yardımcı içeren, ve sistem dışı kartuşlar kullanıcı verilerini sadece içerir. Tüm kartuşlar, hatalı silindir tablosu, kartuş kimliği ve bir önyükleme programı ( önyükleme kodu ) dahil olmak üzere silindir 0 hakkında bilgiler içerir . Sistem dışı kartuşlarda, önyükleme yalnızca bir hata mesajı yazdırır ve bu kartuştan önyükleme girişiminde bulunulursa bekler. Bir sistem kartuşunda bu, soğuk başlatma programıdır , bunu bir iletişim alanı ve sektör bir ve ikide yerleşik monitör izler . Üçten beşe kadar olan sektörler , tüm izleme programlarının tüm aşamalarının bir dizini olan Sistem Konumu Eşdeğerlik Tablosunu (SLET) içerir. Diğer kontrol bilgileri ilk parçayı doldurur.

Sistem alanı, sistem kartuşlarında bulunur. Disk Monitor programını ve isteğe bağlı olarak FORTRAN derleyicisini, Assembler'ı ve yeri değiştirilebilen programları bağlamak için kullanılan bir çekirdek görüntü arabelleğini içerir . Ayrıca kullanıcı dosya dizinlerini de içerir: Sabit Konum Eşdeğerlik Tablosu (FLET) ve Konum Eşdeğerlik Tablosu (LET),

Sistem alanından sonra, kartuş en fazla üç mantıksal alt bölüm içerir: sabit alan , kullanıcı alanı ve çalışma deposu . Hem sabit alan hem de kullanıcı alanı, geçici olmayan programları ve verileri depolar. Sabit alan boyutu DUP tarafından tanımlanır ve verileri ve programları yalnızca çekirdek görüntü biçiminde depolar. Dosyalar silindiğinde yeniden paketlenmez. Kullanıcı alanı, verileri ve programları herhangi bir biçimde saklar. Kullanıcı alanı ve çalışan depolama arasındaki sınır "yüzer"—kullanıcı alanı, dosyalar eklendikçe genişler ve silinen dosyalardan alan kazanmak için yeniden paketlendikçe daralır. Bir dosyanın değiştirilmesi gerekiyorsa, olağan işlem, // DUPonu silmek için komutları kullanmaktır ; bu, sonraki dosyaları boşluğu kapatmak için geri taşır ve ardından bu adı geçici dosyaya dosyanın yeni sürümü olarak verir. Nadiren değiştirilen dosyalar, yeni dosyalar veya yeni sürümler eklendikçe diskin başına doğru taşınır ve sık değiştirilen dosyalar diskin sonuna doğru saklanır.

Çalışan depolama, kullanıcı alanındaki son dosyadan sonra başlar ve kartuşta kalan tüm alanı kaplar. Bir derleyicinin veya bir uygulama programının çıktısı gibi sistem veya kullanıcı tarafından oluşturulan geçici bir dosya içerebilir. Bu dosya, sabit alana veya kullanıcı alanına kaydedilmediği sürece mevcut işin sonunda olası silinmeye tabidir.

Tüm disk dosyaları bitişik disk bloklarıdır, bu nedenle parçalanma olmaz . Bir program adlandırılmış dosyaları kullanabilir ve değiştirebilir, ancak bunları oluşturulan boyutlarının ötesine genişletemez. Birden fazla dosya oluşturan bir program, bir DUP tarafından önceden tahsis edilmiş biri hariç tümüne sahip olmalıdır.

Sınırlı disk alanı ile program kaynak dosyaları normalde kart destesi olarak tutulur. Daha büyük gereksinimleri olan kullanıcılar, işletim sistemini içeren kendilerine ait bir diske sahip olabilir, ancak yalnızca kendi dosyalarını içerebilir ve programları çalıştırılacağı zaman "havuz" sistem diskini kendi diskleriyle değiştirmeleri ve sistemi yeniden başlatmaları gerekir. Tamamen tek bir kullanıcının koduna ve verilerine ayrılabilen ikinci bir disk sürücüsüne sahip bir sistem biraz rahatlama sağlar.

Disk Paketi Başlatma Rutini (DIPR) tarafından 1130'da kullanılmak üzere bir disk paketi veya kartuş başlatılır . Bu rutin diski tarar ve tüm silindirlere sektör adresleri yazar, hatalı sektörleri işaretler ve silindir sıfırına bir kartuş kimliği yazar. DIPR, kartlardan veya kağıt bantlardan yüklenen ve sistem konsolundan kartuş kimliğini kabul eden Bağımsız bir programdır .

Disk Yardımcı Programı (DUP)

Disk Utility Programı (DUP) programları, alt ve veri aktarımı için komutlar sağlar. İş kontrol // DUPkartı ve ardından bir veya daha fazla kontrol kartı tarafından çağrılır :

Ortak DUP komutları
Emretmek İşlev
*MAĞAZA Bir programı Disk Sistem Biçiminde
saklayın (yer değiştirebilir nesne)
* MAĞAZA Bir programı Core Image Formatında saklayın
(tamamen bağlantılı ve yeri değiştirilmiş)
*DEPOLANAN VERİ Bir veri dosyasını diske kaydedin
*STOREDATACI Dökülen bir çekirdek görüntü programını yeniden yükleyin
* MAĞAZA MODU Bir disk dosyasını değiştirin veya oluşturun
*ÇÖPLÜK Diskten veri dosyası dökümü
*DUMPDATA Diskten rastgele sektörleri boşaltın
*KÖFTE
Sabit bir alan varsa , disk Konum Eşdeğerlik Tablosunu (LET) ve Sabit Konum Eşdeğerlik Tablosunu (FLET) yazdırın
*SİLMEK Bir programı veya veri dosyasını silin

Diğer komutlar, özellikle sistem yöneticisi tarafından kullanılmak üzere, Sabit Alanı tanımlar veya genişletir, FORTRAN derleyicisini ve/veya Assembler'ı sistemden siler ve değiştirilmişlerse doğru sektör adreslerini Working Storage'a geri yükler.

İşlenenler sabit sütunlara yerleştirilmelidir. Kaynak cihaz kodu 13 ve 14. sütunlarda, hedef cihaz 17 ve 18. sütunlarda yer alır. Bu cihaz kodları şunlardır:

  • UA – Kullanıcı Alanı
  • FX – Sabit alan (360'a göre "kapsam" yok; sadece bitişik alan)
  • WS – Çalışan Depolama
  • CD – Delikli Kart/Ana Giriş cihazı ( PT olabilir : Kağıt Bant)
  • Halkla İlişkiler – Yazıcı

İsteğe bağlı olarak, 21'den 25'e kadar olan sütunlarda bir program adı ve 27'den 30'a kadar olan sütunlarda bir sayım alanı kodlanabilir. Bu alanların yorumlanması, talep edilen DUP işlevine bağlıdır.

Programlar, Core Image Builder'ı ( DM2'nin 360'ın Bağlantı Düzenleyicisi'nin karşılığı) çağıran STORECI komutuyla daha hızlı yüklenen bir formata dönüştürülebilir . Alternatif olarak, bir program her çalıştırıldığında bu süreçten geçebilir ve seyrek kullanılan programlar için bu, disk alanından tasarruf etmek için tercih edilir.

Aşağıdaki kontrol kartı, DUP'a çalışan depolamanın mevcut içeriğini alması ve onu PROGZ olarak adlandıran kullanıcı alanına taşıması talimatını verir. DUP, çalışan depolamadaki dosyanın boyutunu bilir. Kullanıcı alanının boyutu, dosyanın boyutuna göre artırılacak ve buna bağlı olarak çalışan depolama alanı boyutu azaltılacaktır.

IBM 1130 DUP kontrol kartı örneği

Çevresel aygıtlar

IBM 1442 kart okuyucu/delici
IBM 1627 davul çizici.

Disk belleği, işletim sistemini, nesne kodunu ve verileri depolamak için kullanılır, ancak kaynak kodu delikli kartlarda tutulur.

Temel 1130 , IBM'in San Jose'deki Genel Ürünler Bölümünden "Ramkit" adı verilen bir IBM 2310 ses bobiniyle çalıştırılan disk sürücüsüyle birlikte geldi . Pizza kutusu boyutundaki IBM 2315 tek plakalı kartuşları 512.000 kelime veya 1.024.000 bayt tutar ( 3.5" HD disketin 1.44MB'ından ve hatta 5.25" HD disketin 1.2MB'sinden daha az ).

IBM 1053 konsol daktilo, bir IBM Selectric mekanizması kullanır ; bu, içi boş, golf topu boyutundaki bir yazı öğesini değiştirerek yazı tipini veya karakter setini değiştirebileceğiniz anlamına gelir. Özel bir sembolik gösterim kullanan güçlü bir dizi yönelimli programlama dili olan APL için özel bir tip öğesi mevcuttur . Konsol daktilosundaki bir dizi 16 geçiş anahtarı, örneğin özel Fortran deyimi kullanılarak programların içinden ayrı ayrı test edilebilir . IF (SENSE SWITCH i)

Diğer mevcut çevre birimleri şunları içerir:

  • YazıcılarIBM 1132 ve IBM 1403 satır yazıcıları
  • Delikli kartIBM 1442 kart okuyucu/delici ve IBM 2501 kart okuyucu
  • Kağıt bant – IBM 1055 kağıt bant zımbası, IBM 1054 kağıt bant okuyucu ve IBM 1134 kağıt bant okuyucu
  • DiskIBM 2311 Disk Sürücüsü
  • Manyetik bant – 1968'den itibaren, IBM 2415 Manyetik bant veri depolama sürücüleri bir RPQ olarak mevcuttu .
  • GrafiklerIBM 2250 Grafik Görüntüleme Birimi.
  • Renkli Kalem ÇiziciIBM 1627 tambur çizici.
  • Optik İşaret OkuyucuIBM 1231 Optik İşaret Sayfası Okuyucu
  • İletişim – Senkron İletişim Adaptörü (SCA). 1970 yılında duyurulan Çoklu Terminal Kontrol Adaptörü için IBM 1130 MTCA, APL ile kullanım için dört adede kadar 2741 terminalin bir IBM 1130'a bağlanmasına izin verdi.

Çevresel aygıtların tasarımını basitleştirmek için bunlar işlemciye dayanır. Kart okuyucunun bellek arabelleği yoktur, bunun yerine CPU'ya kartın her bir sütunu okunduktan sonra sıfır düzeyinde (en yüksek öncelik) bir kesinti verir. CPU, bir sonraki sütunun okunduğunu başka bir kesinti göstermeden önce on iki bit veriyi yanıtlamaz ve saklamazsa, veriler kaybolacaktır. Benzer şekilde, 1132 yazıcısı 1130'daki yazılıma dayanır. gibi bir harf yerine Ageldiğinde, CPU arabelleğe alınmış bir metin satırını analiz etmeli ve 1132'ye hangi yazdırma konumlarının yazdırılması gerektiğini gösterecek bir dizi biti bir araya getirmelidir. A. CPU, Apozisyon dışına çıkmadan önce yanıt veremezse , baskı hızı ciddi şekilde düşebilir.

Diğer çevre birimleri, donanımı için uygun olan aygıta özel bir koddaki metni kabul eder. CPU, onu, CPU'nun metni işlediği EBCDIC koduna veya kodundan çevirmek zorundadır.

Komut setine genel bakış

Talimatların kısa (tek kelimelik) ve uzun (iki kelimelik) biçimleri vardı. Çoğu hesaplama, yükleme ve saklama talimatı, bir kayıt (genellikle ACC) ve bir hafıza konumuna atıfta bulunur. Hafıza konumu, kısa formatta, mevcut adresten veya indeks kayıtlarından birinden 8 bitlik işaretli bir yer değiştirme ile tanımlandı; veya uzun formatta, indekslenebilen ve dolaylılığı belirtebilen tam 15 bitlik bir adresle. Bellek, sözcük birimleriyle ele alındı.

1130, yalnızca büyük endian biçiminde depolanan yerel olarak (16 ve 32 bit) tek duyarlıklı ve çift duyarlıklı ikili verileri destekledi . Standart ve genişletilmiş hassas kayan nokta (32 ve 48 bit) ve ondalık veriler, alt rutinler kullanılarak desteklendi.

Koşullu transferler, (a) akümülatörün mevcut içeriğine veya (b) önceki bir işlem tarafından belirlenen taşıma ve taşma göstergelerine dayanıyordu. Transferler, atlama (bir sonraki talimatın kısa olduğu varsayılır) veya şube yoluyla olabilir. Belirtilen testlerden herhangi biri doğruysa bir atlama meydana geldi. Eğer bir dal meydana hiçbiri belirtilen testlerin gerçek.

Main Registers:
IAR = Instruction Address Register
ACC = Accumulator
EXT = Extension Register
XRx = Index Registers: x = 1,2,3
      Implemented as memory words 1,2,3, not as hardware registers.

Condition tests:
Z  Accumulator zero
-  Accumulator negative
+  Accumulator positive
E  Accumulator even
C  Carry indicator off
O  Overflow indicator off

1130 Instruction Set Mnemonics:
LD   = Load ACC                   STO  = Store ACC
LDD  = Load Double (ACC & EXT)    STD  = Store Double (ACC & EXT)
LDX  = Load Index                 STX  = Store Index
LDS  = Load Status                STS  = Store Status
A    = Add ACC                    AD   = Add Double
S    = Subtract ACC               SD   = Subtract Double
M    = Multiply                   D    = Divide
AND  = Boolean AND                OR   = Boolean OR
XOR  = Boolean Exclusive OR
SLA  = Shift Left ACC             SLT  = Shift Left ACC & EXT
SLCA = Shift Left and Count ACC   SLC  = Shift Left and Count ACC & EXT
SRA  = Shift Right ACC            SRT  = Shift Right ACC & EXT
RTE  = Rotate Right ACC & EXT
BSC  = Branch or Skip on Condition (Modifier dependent)
       i.e. BP BNP BN BNN BZ BNZ BC BO BOD
BOSC - Branch Out or Skip Conditionally (alternate for BSC with bit 9 set)
       Exits current interrupt level.
BSI  = Branch and Store IAR
MDX  = Modify Index and Skip (Increment IAR one if a sign change or becomes zero)
WAIT = Halt                       NOP  = No Operation (alternate for SLA 0)
XIO  = Execute I/O

1800 Additional Instruction Mnemonics:
CMP  = Compare ACC                DCM  = Double Compare ACC & EXT

Equivalent Mnemonics
The disk assembler introduced several mnemonics equivalent to existing
instructions intended to make the programmer's intent clearer:
SKP - Skip on condition, equivalent to a short BSC
B   - Branch unconditionally, equivalent to BSC with no conditions specified
BP  - Branch Accumulator Positive, equivalent to BSC specifying '+' condition
BNP - Branch Accumulator not Positive
BN  - Branch Accumulator Negative
BNN - Branch Accumulator not Negative
BZ  - Branch Accumulator Zero
BNZ - Branch Accumulator not Zero
BC  - Branch on Carry
BO  - Branch on Overflow
BOD - Branch Accumulator Odd
MDM - Modify Memory, equivalent to unindexed long-format MDX
XCH - Exchange Accumulator and Extension, equivalent to RTE 16

Short instruction format (one 16 bit word):
                       1
Bits    0...45678......5
        OP---FTTDisp----

OP    is Operation
F     is format 0 = Short
TT    is Tag
Disp  is Displacement

Long instruction format (two 16 bit words):
                       1               1
Bits    0...456789.....50..............5
        OP---FTTIMod----Address---------

OP    is Operation
F     is format 1 = Long
TT    is Tag
I     is Indirect bit
Mod   is Modifier

Effective Address Calculation (EA):
          F = 0            | F = 1, I = 0     | F = 1, I = 1
          Direct Addressing| Direct Addressing| Indirect Addressing
-------------------------------------------------------------------
TT = 00 | EA = Displ + IAR | EA = Add         | EA = C/Add
TT = 01 | EA = Displ + XR1 | EA = Add + XR1   | EA = C/Add + XR1
TT = 10 | EA = Displ + XR2 | EA = Add + XR2   | EA = C/Add + XR2
TT = 11 | EA = Displ + XR3 | EA = Add + XR3   | EA = C/Add + XR3
-------------------------------------------------------------------
    Disp = Contents of displacement field
     Add = Contents of address field of instruction
       C = Contents of location specified by Add or Add + XR
Ayrılmış bellek

Çekirdek belleğin en düşük adresleri, ya donanım ya da kural tarafından belirlenen kullanımlara sahipti:

Adres kullanım
/0000 Kural olarak, B *-1bir operatör tüm konsol IAR ışıklarının karanlık olduğunu fark edene ve işi Int Req'e basarak veya yeniden başlatarak temizleyene kadar süresiz olarak dallanacak olan talimatı içeriyordu .
/0001 XR1. İndeks kayıtlarının bellek adresleri, aralarında olduğu gibi doğrudan hareketlere izin verdi.LDX I1 2
/0002 XR2.
/0003 XR3.
/0008 Düzey 0 (en yüksek öncelikli) kesmesi için işleyicinin adresi— 1442 kart okuyucu/delme "sütun hazır" kesmesi.
/0009 Düzey 1 kesmesi için işleyicinin adresi— 1132 yazıcı ve Senkronize İletişim Adaptörü. Bunun ve daha düşük kesintilerin işleyicileri, hangi aygıtın kesintiye uğradığını belirlemek için bir Durum Sözcüğü'nü test etmek zorunda kalacaktı.
/000A=10 Düzey 2 kesmesi için işleyicinin adresi— disk depolama, Depolama Erişim Kanalı.
/000B=11 Seviye 3 kesmesi için işleyicinin adresi— 1627 çizici, Depolama Erişim Kanalı.
/000C=12 4. Düzey kesme için işleyicinin adresi— 1134 kağıt şerit okuyucu, 1055 kağıt şerit delgi, konsol, 1442 kart okuma delgisi, 2501 kart okuyucu, 1403 yazıcı, 1231 optik işaret okuyucu, Depolama Erişim Kanalı aygıtı.
/000D=13 Düzey 5 (en düşük öncelikli) kesme için işleyicinin adresi— konsol durdurma ve kesme anahtarları, Depolama Erişim Kanalı.
/0020=32 1132 yazıcı için tarama alanının ilk sözcüğü (/0020–/0027).
/0026=38 Tarama alanının son tam kelimesi.
/0027=39 Yarısı kullanılmış: 120 sütun = 120 bit = yedi 16 bit kelime artı 8 bit.
/0038=56 Süpervizöre ÇIKIŞ/İzlemeye Geri Dön (ÇAĞRI ÇIKIŞ)

Programlama

alt programlar

1130, yığın için donanım desteğine sahip değildir . Çoğu alt program BSI (Branch and Store IAR) komutuyla çağrılır. Bu, IAR'nin (dönüş adresi) değerini hedef adrese yatırır ve kontrolü hedef+1'e aktarır. Alt programlar, alt programın o ilk kelimesi aracılığıyla dolaylı bir dal kullanarak o durumda çağrıldıkları yere geri dönerler. Dönüş adresini satır içine yerleştirmek, o zamanlar Hewlett-Packard HP 2100 , DEC PDP-8 ve Scientific Data Systems SDS 920 gibi bilgisayarlarda yaygın bir teknikti .

Böylece SIMPL adlı bir alt program aşağıdaki gibi organize edilebilir (yorumlar talimat işlenenini takip eder):

SIMPL: DC     *-*    This is the entry point, filled with a zero initially.
       (whatever the routine does)
       B    I SIMPL  Return by an Indirect branch, to the address found in location SIMPL.
       END    SIMPL  Instructs the assembler that the source for routine SIMPLE is complete.

Alt program aşağıdaki gibi çağrılır:

       BSI  L SIMPL  Call SIMPL. L (Long) is needed if SIMPL is more than -128 or +127 words away.

Sözde operasyon ÇAĞRI tipik olarak kullanılır.

Gösterildiği gibi, bir alt programın giriş noktası, DC *-*ifade tarafından belirtilen değere sahip bir Sabit (bir kelime depolama alanı kaplayan) Tanımlamak için kullanılan bir montajcı sözde işlemidir. *, derlemenin geçerli adresini temsil eder ve bu nedenle *-* sıfırla sonuçlanır. 0 yerine bunu yazmak, çalışma zamanında oraya anlamlı bir değerin (dönüş adresi) yerleştirileceğine dair görsel olarak ayırt edici bir not sağlar. Giriş noktasının alt programın ilk kelimesi olması gerekmez. Aslında, önceki sözcük, adres alanı SIMPL'de olan iki sözcüklü bir doğrudan dal talimatının başlangıcı olabilir. Ardından, oradaki tek kelimelik dallar tarafından iadeler gerçekleştirilebilir:B SIMPL-1

SIMPL çağrıldığında, BSI talimatı, BSI talimatından *-*hemen sonraki adres olan IAR'ın mevcut değeri ile değiştirilir . SIMPL, yazılan her şeyi yaptıktan sonra, SIMPL'e B I SIMPLdeğil, onun aracılığıyla dolaylı olarak dallanır, böylece SIMPL olarak adlandırılan BSI talimatını takip eden talimatla yürütmeye devam eder.

İade adresini korumak için ekstra düzenlemeler olmadan, özyineleme imkansızdır: SIMPL kendini ararsa veya onu çağıran bir alt program çağırırsa, orijinal iade adresinin üzerine yazılır. Yeniden giriş aynı nedenden dolayı sorunludur: Bir kesme hizmeti rutini, kesintiye uğrayan kod olabilecek herhangi bir alt programı çağırmaktan kaçınmalıdır.

SIMPL'i arayan kişi, değerler veya değerlerin adresleri olabilecek parametreleri iletebilir. Parametreler sıralı olarak kodlanabilir (BSI talimatının hemen ardından) veya XR1 ve XR2 dizin kayıtlarına yerleştirilebilir. Parametreler sıralı olarak yerleştirilirse, SIMPL kendi dönüş adresini değiştirir, böylece nihai dolaylı dalı parametrelerin ötesine döner.

Tek bir tamsayının tamsayı işlevleri, akümülatördeki parametreyi bekler ve sonuçlarını orada döndürür. Kayan nokta işlevleri, kayan nokta toplayıcısını (kayan nokta kitaplığı tarafından ayrılan iki kelimelik bir alan, genişletilmiş kesinlik için üç kelime) vb. kullanır.

Giriş noktasında ilk değer olarak 0 kodlama kuralı, bir programlama hatası SIMPL'nin ilk çağrılmasından önce geri dönmesine yol açarsa, yürütmenin bellek konumu 0'a atlayacağı anlamına gelir. Yukarıda bahsedildiği gibi , konumun olması gelenekseldir. 0, 0 konumuna bir dal içerir. 1130, 0 konumunda takılı kalır ve konsoldaki IAR ışıkları tamamen karanlık olur, bu da programın başarısız olduğunu açıkça gösterir.

Kütüphane rutinlerine bağlantı

Birçok kez çağrılacak olan alt programlar için (örneğin, kayan nokta aritmetiği için alt programlar), her çağrının boyutunu bir kelimeye indirmek önemlidir. Bu tür "kütüphane rutinleri" LIBF protokolünü kullanır. Önceki bölümde açıklanan CALL protokolünden daha karmaşıktır, ancak LIBF, karmaşıklığı derleme dili programının yazarından gizler.

Kitaplık rutinleri, dizin kaydı XR3 aracılığıyla adreslenir. (Fortran alt programları, parametre adresleri ve dönüş adresi için XR1 indeks kaydı kullanır, ancak XR2 kaydı kullanılmaz.) XR3 , ilk girişin XR3'ün değerinden -128 kelime olacağı şekilde üç kelimelik transfer vektörleri dizisine işaret eder . Programcı LIBF, doğrudan BSIrutine değil , yer değiştirmesi (-128, -125, vb.) vektör. BSI 3 disp

Transfer vektörü, programı bir araya getirdiğinde bağlantı yükleyici tarafından hazırlanır. SIMPL adlı bir kitaplık işlevine bir aktarım vektörü girişi şu şekli alır:

      DC       *-*            A word into which BSI stores the return address.
      B    L   SIMPL          Branch to the start of the library function.

SIMPL'in dönüş adresinin nerede olduğunu bilmesinin yolu, SIMPL'nin bir LIBF rutini olarak ilan edilmesi durumunda, bağlantı yükleyicisinin SIMPL kodunu değiştirerek SIMPL'nin transfer vektörü girişinin adresini SIMPL+2'ye yerleştirmesidir. LIBF rutinleri, CALL alt programlarından farklı olarak, dönüş adresini tutmak için bir DC yönergesi ile başlamaz (aktarım vektöründedir), ancak aşağıdaki gibi gerçek kodla başlar:

SIMPL STX   1  RCVR1+1        Save the caller's value of XR1 at a nearby location.
      LDX  I1  *-*            The linkage loader changes the address word to point to the transfer vector.

SIMPL'nin transfer vektörünün adresini SIMPL+2'ye yerleştirmek, seçilen indeks kaydını, burada XR1'i kaydetmek için tek kelimelik bir talimat için yer bırakır. Daha sonra dolaylı LDX talimatı XR1'i transfer vektörüne değil, onun aracılığıyla dönüş adresine veya BSI'dan sonra hat içinde saklanan herhangi bir parametreye işaret eder. SIMPL daha sonra, XR1 aracılığıyla herhangi bir hat içi parametreye erişim sağlayarak (ki bu durumda dönüş adresi için XR1'i artırması gerekir) yapmak için yazılan her şeyi yapar ve aşağıdaki gibi döner:

      STX   1  RETN+1         Store XR1 to prepare to use it as a return address.
RCVR1 LDX  L1  *-*            SIMPL's first instruction modified this address.  Now,
*                              restore the original value of XR1.
RETN  B    L   *-*            This instruction was modified two instructions ago; return.
Örnek

SIMPL'e LIBF tarzı bir çağrının 100 adresinde olduğunu varsayalım. O zaman dönüş adresi 101 olacaktır, çünkü tek kelimelik bir talimattır. XR3, transfer vektörleri grubuna işaret eder. SIMPL için transfer vektörü 2000 adresinde başladıysa, BSI XR3+disp = 2000 olacak şekilde a ile birleştirilir . BSI'nin çalıştırılması 101 konumunda 2000'i depolar ve 2001 konumuna atlar. 2001'de iki kelimelik bir uzun atlamadır. bağlantı yükleyicisinin 300 adresine yerleştirmiş olabileceği SIMPL giriş noktasına. BSI 3 dispdisp

Uzun atlama, kontrolü SIMPL'e aktarır. 300'deki talimat XR1'i depoladıktan sonra, 301'deki talimat, 2000'i 302 konumuna yerleştiren bağlantı yükleyicisidir. Bu, 2000'i XR1'e yüklemez; bu dolaylı bir talimattır ve bu çağrının dönüş adresi olan 101 olan 2000'in içeriğini SIMPL'e yükler. LDX I1 2000

Yukarıda gösterilen dönüş dizisinde, zaman kontrolü RETN'e ulaştığında B L 101, arayana geri dönen talimat vardır . (101'de bir veya daha fazla hat içi parametre varsa, SIMPL, XR1'i 102 veya ötesine işaret edecek şekilde artıracaktır ve bu, Btalimatın hedefi olacaktır .)

Varyasyonlar

SIMPL, BSI talimatını takiben hat içinde kodlanmış parametreleri aldıysa, SIMPL bunlara XR1 kapalı dizinlenmiş adresleme ile erişim kazanır. Birincisi LD 1 0, ikincisi LD 1 1vb. ile elde edilebilir . İkinci parametre gerçek parametrenin adresi ise, değerini alır. Dönmeden önce, SIMPL , RETN+1'e doğru değeri yerleştirmek gibi bir talimatla XR1'i n parametreyi geçerek artırır . LD I1 1MDX 1 n

XR1'in orijinal değerini geri yüklemeyi reddeden bir LIBF rutini, yukarıdaki adımları atlayabilir ve n satır içi parametreyi atlaması basit bir şekilde geri dönebilir . Ancak, böyle bir rutin diğer LIBF rutinleri tarafından çağrılamaz çünkü arayan kişinin kendi parametrelerine ve dönüş adresine erişim için XR1 kullanımını bozar. B 1 n

LIBF'nin karmaşıklığı, sıklıkla çağrılan alt programlar için bellek tasarrufu sağlar.: LIBF bağlantısı, çağrı başına bir sözcük, ayrıca transfer vektörü girişi için üç sözcük ve rutinin kendisinde ekstra kod gerektirirken, ÇAĞRI bağlantısı, çoğu çağrı başına iki sözcük gerektirir. ÇAĞRILAR, tek kelimelik işlem kodunun -128 ila +127 kelime erişiminin ötesinde bir adrese yapılacaktır.

XR3 kaydı , yalnızca adreslerinden oluşan bir gönderme tablosundan ziyade kitaplık rutinleri için transfer vektörü girişlerine işaret etmelidir , çünkü bu, LIBF rutinlerinin dolaylı bir BSI talimatı ile çağrılmasını gerektirecektir. Bu talimatlar iki kelime uzunluğundadır, bu nedenle böyle bir tasarım LIBF'nin kod boyutu tasarrufunu ortadan kaldıracaktır. Sekiz bitlik sınırlama disp'e fazla 85 ayrı girişlere libf rutinleri tek kelimelik talimat kod sınırları kullanım alanına.

Kod değişikliği

Önceki bölümler, kod ve verilerin iç içe geçtiğini göstermektedir. 1130 programlamasında talimatların adres alanlarını değiştirmek ve aslında tüm talimatları değiştirmek yaygındır.

Fortran derleyicisi tarafından

Fortran derleyicisi, parametreleri olan herhangi bir alt program (alt rutinler veya işlevler) için kod üretirken kendi kendini değiştiren kod üretir. Derleyici, alt programın parametrelerinden birine başvurduğu her konumun bir tablosunu oluşturur ve alt programın gövdesindeki ilk talimat olarak, her başvurunun adres alanını değiştirmek için tabloyu kullanan SUBIN adlı bir alt programa yapılan çağrıyı derler. parametre, geçerli çağırma sırasında parametrenin gerçek adresi olacaktır. SUBIN, alt program her çağrıldığında bu yamaları yapar.

Bir Fortran programı bir alt programı çağırdığında, çağrının ardından herhangi bir parametrenin adresi satır içinde görünür. Örneğin, CALL SIMPL(X) Fortran ifadesi şu şekilde derlenebilir:

  BSI L  SIMPL
  DC     X      The address of X, on which SIMPL is to operate

Alt program içinde, parametrelere yukarıda Variations ' da gösterildiği gibi dolaylı dizinlenmiş adresleme ile erişilebilir , bu nedenle, XR1'in uygun şekilde hazırlanmış olması koşuluyla, akümülatöre aşağıdaki gibi bir komutla bir tamsayı parametresi yüklenebilir:

  LD  I1 0      Load the value of the first parameter (offset 0) into the accumulator

Derleyici bunun yerine doğrudan adreslemeyi kullandı. SUBIN çalıştığında, X'in adresini alır ve komutun adres alanını şu şekilde yamalar:

  LD  L  X      Load the value of X into the accumulator

SUBIN'in avantajları aşağıdaki gibidir:

  • İşlenenin adresini elde etmek için bir dolaylı indekslenmiş talimat üç hafıza döngüsü gerektirir (indeks kaydı hafızadadır), doğrudan erişim talimatı ise sadece bir tane gerektirir.
  • SIMPL, parametrelerinden birini parametresinin adresini alması beklenen herhangi bir alt programa geçirecekse (kayan nokta aritmetiği için tüm LIBF rutinleri dahil), orijinal parametrenin gerçek adresini sağlamak için SUBIN gerekir.

SUBIN'in dezavantajları, çalışması için gereken süre ve referanslar tablosu için gereken bellektir. Bu tablonun boyutu 5'in toplamı, parametre sayısı ve referans sayısıdır; bu toplam 511'i aşarsa derleme başarısız olur. Bir parametreye birçok referansı olan alt programlar için, alt programın yazarı parametreyi yerel bir değişkene kopyalayabilir.

kullanıcı tarafından

Tüm talimatları değiştirmek, o zamanlar yaygın bir teknikti. Örneğin, 1130'da bir VEYA talimatı olmasına rağmen, Fortran'ın sözdizimi onu yazmanın bir yolunu sağlamaz. Mantıksal VEYA'nın aşağıdaki gibi bir Fortran ifadesinin parçası olmasını sağlayan bir tamsayı işlevi IOR tanımlanabilir:

   M = 3*IOR(I,J) + 5

Fortran derleyicisi I ve J adreslerini sıraya yerleştirir ve sonucu akümülatörde bekler. Bir Fortran ifadesinde IOR(I,J) kullanmak aşağıdaki dört kelimeyi derler:

  BSI  L IOR    Two-word jump to the start of the IOR function.
  DC     I      A one-word in-line parameter: The address of I.
  DC     J      A one-word in-line parameter: The address of J.

Aslında, montajcı IOR işlevi, I veya J'yi hiç hesaplamaz . Bunun yerine , yukarıdaki dört kelimeyi aşağıdaki ile değiştirir:

  LD   L I      Load accumulator with I (two-word instruction)
  OR   L J      OR accumulator with J   (two-word instruction)

Bu dönüşümü gerçekleştirdikten sonra, (az önce değiştirdiği) dört kelimelik bloğun sonuna dönmez. Bunun yerine, orijinal olarak çağrıldığı tam adrese dallanır. BSI talimatı artık orada değil; şimdi ne var, az önce yazdığı iki talimat var. İki tamsayıyı makine dili VEYA komutuyla birleştirirler ve sonucu gerektiği gibi akümülatörde bırakırlar.

IOR çağrısı ve dört kelimelik bloğun dönüşümü, program çalıştırması başına en fazla bir kez gerçekleşir. Yukarıda gösterilen Fortran satırı tekrar çalıştırılırsa, ilk seferden daha hızlı çalışır. Diğer faydalı işlemler için benzer işlevler tasarlanabilir.

Kendi kendini değiştiren bir işlev, IOR'un yaptığı gibi, bir Fortran alt programında o alt programın herhangi bir parametresinde kullanılamaz (yerel değişkenleri birleştirmek için kullanılabilse de), çünkü yukarıda tartışılan SUBIN alt programıyla uyumlu değildir. IOR'nin yukarıda gösterilen dört kelimelik arama dizisini dönüştürmesi, değişken I'in adresinin konumunu hareket ettirir. Fortran alt programına yapılan sonraki çağrılarda, parametrelere referans tablosu hatalı olur ve SUBIN yanlış kelimeye yama yapar. bu durumda I'nin yeni adresini VEYA işlem kodunun üzerine yerleştirir.

Genişletilmiş hassasiyet

1130 FORTRAN iki kayan nokta biçimi sunar: 32 bit "standart kesinlik" biçimi ve 40 bit "genişletilmiş kesinlik" biçimi.

Standart hassas biçimi 24 bit içeriyor ikinin tamamlayıcısı significand ise genişletilmiş hassas bir 32 bit kullanır ikinin tamamlayıcısı significand . Bu biçim, CPU'nun 32-bit tamsayı işlemlerini tam olarak kullanır. Genişletilmiş format, kullanılmamış ilk kelimenin yüksek dereceli sekiz biti ile üç adet 16 bitlik kelimeyi kaplar. Her iki formattaki karakteristik , 128 ile iki taraflının gücünü içeren 8 bitlik bir alandır . Kayan nokta aritmetik işlemleri yazılım tarafından gerçekleştirilir.

*EXTENDED PRECISIONDerleyici seçeneği kartı tüm kayan nokta verileri için 40 bit yerine 32 bit kullanmak FORTRAN derleyici söyler, biçimleri karıştırmak için bir hüküm yoktur.

Büyük Fortran programları

Manipüle edilecek veriler ve onları manipüle eden talimatlar, çekirdek bellekte bir arada bulunmalıdır. Yüklü bellek miktarı (4,096 ila 32.768 kelime arasında) önemli bir sınırlamadır. Fortran, bu sınırlamaya rağmen büyük programlar yazmak için çeşitli teknikler sunar.

YEREL alt programlar

Fortran, herhangi bir alt programın "YEREL" (Çağrı Üzerine Yükleme) olarak atanmasına izin verir. Her YEREL alt program bir bindirmedir ; diskte yerleşik yürütülebilir programın bir parçasıdır, ancak çağrıldığı süre boyunca yalnızca çekirdek belleğe (zaten orada değilse) yüklenir. Bu nedenle, örneğin, altı YEREL alt program, altısının tümü için toplam miktar yerine yalnızca en büyüğü kadar çekirdek bellek gerektirir. Ancak, altısından hiçbiri, doğrudan veya aracı alt programlar aracılığıyla bir diğerini çağıramaz.

Aşamalı programlar

Tüm bir Fortran programı, denetimi sonraki bir aşamaya geçirebilir ve izleme aşamasını çekirdek belleğe yüklemek için bir talimatla Süpervizöre gidebilir. Büyük bir program, ayrı ayrı derlenmiş, PART1, PART2 ve PART3 olarak adlandırılan üç bölüme ayrılabilir. Yürütme // XEQ PART1uygun bir noktada başlatılır , PART1 Fortran deyimini CALL LINK(PART2)vb. yürütür . CALL'daki ardıl programın adı değişken olamaz, ancak program mantığı, kontrolün başka bir aşamaya aktarılıp aktarılmayacağını ve hangi CALL LINKifadenin yürütüleceğini belirleyebilir. Yukarıda bahsedildiği gibi , Fortran derleyicisinin kendisi bu şekilde yazılmıştır ve derlemenin her aşaması ayrı bir program tarafından gerçekleştirilmiştir.

ORTAK veri depolama

Fortran programları gibi programlar, düşük çekirdekli bellek adreslerinde bulunur (Süpervizörün hemen üstünde). Fortran, COMMON olarak bildirilen tüm değişkenler ve diziler için en yüksek adreslerde alan ayırır. Programın devam eden bir aşaması karşılık gelen bir ORTAK bildirim içeriyorsa, bu ortak alandaki bilgiler fazlar arasında paylaşılabilir. Fazlar, program kodunun ortak alanı işgal edecek kadar büyük olmaması koşuluyla, ORTAK bildirimi sorunsuz bir şekilde atlayabilir. ORTAK depolama yalnızca fazlar arasında veri paylaşmakla kalmaz; alt bellek ORTAK değişkenler, verileri bir sonraki aşamaya geçerken kaybedilebilir olsa da, tek bir aşamada bir ana program ve alt programlar arasında veri aktarmak için kullanılabilir.

Programlama örnekleri

Örnekler, IBM 1130.org adresinde bulunan IBM 1130 öykünücüsü üzerinde yürütülebilir .

Örnek montajcı program güvertesi

Aşağıdaki liste, satır yazıcısına bir kart destesini listeleyen bir birleştirme programı derleyen ve çalıştıran bir kart destesini gösterir .

 // JOB
 // ASM
 *LIST
                     * LCARD.ASM - LIST A DECK OF CARDS TO LINE PRINTER
                     *
                     * PROGRAM
                     *    NEW PAGE ON PRINTER
                     * A  READ A CARD
                     *    CONVERT FORMAT
                     *    PRINT A LINE ON PRINTER
                     *    GOTO A
                     *
                     START LIBF    PRNT1    GOTO NEW PAGE ON 1132
                           DC      /3100    PRINTER CHANNEL 1-NEW PAGE
                     *
                     NEXTC LIBF    CARD0    READ FROM 1442 CARD READER
                           DC      /1000    CONTROL TO READ
                           DC      CBUFF    STORE 80 COLUMNS
                     CINP  LIBF    CARD0
                           DC      0
                           B       CINP     LOOP UNTIL CARD IS READ
                     *
                           LIBF    ZIPCO    CONVERT CARD TO PRINTER
                           DC      /1100    UNPACKED IN, PACKED OUT
                           DC      CBUFF+1  INPUT BUFFER
                           DC      PBUFF+1  OUTPUT BUFFER
                           DC      80       CHARACTER COUNT
                           CALL    HLEBC    HOLLERITH TO EBCDIC
                     *
                           LIBF    PRNT1    PRINT 80 CHARACTERS
                           DC      /2000    CONTROL CODE TO PRINT
                           DC      PBUFF    PRINT BUFFER
                           DC      PERR     PRINT ERROR
                     POUT  LIBF    PRNT1    CHECK FOR PRINT COMPLETE
                           DC      0
                           B       POUT     LOOP UNTIL COMPLETE
                     *
                           B       NEXTC    READ NEXT CARD
                     *
                     * DATA
                     *
                     CBUFF DC      80       80 COLUMNS PER CARD
                           BSS     80
                     *
                     PBUFF DC      40       40 WORDS 80 CHARACTERS
                           BSS     40
                     *
                     PERR  DC      0
                           B    I  PERR     THIS RETURNS TO THE
                     *                       PRINTER ERROR HANDLER
                     *                       WHICH WILL TERMINATE THE PROGRAM
                     *
                           END     START    PROGRAM ENTRY POINT
 // XEQ
 TEST DATA 1
 HELLO WORLD
 TEST DATA 2

Bu işte, montajcı, derlemesinin sonucunu sistem diskinin geçici alanında bırakır ve XEQ komutu, geçici alanın içeriğini yürütür. Garip görünenin END STARTiki anlamı vardır: montajcı kaynağının sonu ve START etiketine sahip rutinin giriş noktasının adı.

Assembler kaynağı, birinci sütunla değil, kartın 21. sütunuyla başlar. Disk sürücüsü olmayan sistemlerde, montajcı henüz okunan kartın başlangıcına kod deler (kart okuyucu aslında bir okuyucu delgiydi, delme istasyonu okuma istasyonundan sonra gelirdi) ve ardından bir sonraki kartı okurdu. İleri dalları ve benzerlerini işlemek için, birleştiricinin ikinci geçişi, kelimenin tam anlamıyla, kartların okuyucu/delici içinden ikinci bir geçişini içeriyordu. Kaynak değişikliklerine ihtiyaç duyulursa, programcı, birleştirici aracılığıyla bir sonraki çalıştırma için 1-20 boş sütunlu bir deste elde etmek için kartları çoğaltırdı.

Geleneksel olarak, arabelleklerden önce bir kelime sayısı gelir. DC(Sabit tanımlamak) bir sayma kelime ve aşağıdakileri monte BSS(Sembol başlatan Bloğu) rezervleri tamponu için kelimelerin gerekli sayısı. Kart arabelleği, her kart sütunu için bir tane olmak üzere 80 kelime gerektirir. Sürücü CARD0 biraz seti ile, tampon kelime, 16-bitlik 12 kullanarak, tam anlamıyla, her kart sütunu okur ile bu sütun için uygun üst üste açılmış her bir delik için. Zımba deseni tipik olarak Hollerith kodunu kullanan bir metin karakterini tanımlar . Konsol klavyesi, aynı karakter kodlamasını kullanan iki cihazın tek durumu olan Hollerith kodunda programa girdi de verir.

Ancak yazıcı rutini, 40 kelimelik bir arabellek gerektiren, kelime başına iki karakter içeren 8 bitlik EBCDIC'deki metinle çalışır . Program, dönüştürmeyi gerçekleştirmek için kütüphane rutini ZIPCO'yu kullanır. CALL HLEBCHLEBC bir alt program değil, IBM tarafından sağlanan Hollerith-to-EBCDIC dönüştürme tablosu olduğundan , görünüşe rağmen ifade yürütülmez. CALL deyimi ZIPCO'ya tablonun adresini sağlar ve bağlantı yükleyicinin tabloyu programa dahil etmesini sağlar, bu nedenle ZIPCO'nun beşinci parametresidir, ancak biri iki depolama kelimesini işgal eder: CALL için BSI işlem kodu kelimesi kullanılmaz ve bu nedenle genellikle boşa harcanır, ancak genişlemenin ikinci kelimesi CALL HLEBCZIPCO'nun ihtiyaç duyduğu HLEBC tablosunun adresidir. Dönüştürmeden sonra, program dönüştürülen çıktıyı şimdi tampon PBUFF içinde, PRNT1 sürücüsü aracılığıyla yazıcıya gönderir. Yine, program, yazıcı sürücüsü tamamlandığını bildirene kadar döngüye girer, ardından program bir sonraki kartı okur.

Bu örnek, ne zaman duracağına karar vermek için kod içermez. Daha eksiksiz bir program //, bir sonraki işin başlangıcını belirten ile başlayan kartları kontrol eder. Kart okuyucuyu mümkün olan en kısa sürede durdurmak için, bir program /kartı EBCDIC'e dönüştürmeden önce Hollerith kodunu kontrol edebilir .

Asenkron G/Ç ve performans

Bir kartı okumak için CARD0'a yapılan çağrı, bu işlemi başlatır ve hemen başka bir faaliyete geçebilecek arayan kişiye geri döner. Bununla birlikte, örnek program, iki ayrı çalışma alanına sahip olmasına rağmen, arabellekleri kullanarak girdi ve çıktıyı çakıştırma girişiminde bulunmaz; yeniden test etmek için basitçe CIMP'ye geri döner. CARD0, kart okuyucunun işlem tamamlama kesintisini algıladıktan sonra, bir kelime daha ileri geri döner, böylece CIMP'ye geri atlamayı atlar ve döngüden çıkar.

Örnek rutinler, G/Ç cihazlarını en yüksek hızda çalıştırmaz. Özellikle, kart okuyucu, bir kartın okunmasının tamamlandığını bildirdikten sadece birkaç milisaniye sonra, durma sırasını başlatacak ve bundan sonra yeni bir okuma komutunun başka bir okuma döngüsünü başlatmak için beklemesi gerekecektir. IBM 1442 okuyucusu tam hızda 400 kart/dakika okuyabilir, ancak okuma komutlarında yalnızca küçük bir tereddüt, verimi yarıya indirebilir veya daha da kötüleştirebilir. Bir Fortran programı, en basit girdi işlemlerini bile zamanında tamamlayamaz ve bu nedenle kartları tam hızda okuyamaz. DOKartları okumak için yaygın bir Fortran döngüsü, motorun aşınmayı hızlandıracak kadar sık ​​durmasına ve çalışmasına neden oldu. Arabelleğe alma ile, kart okuyucu kontrolü işleme ile örtüşebilir ve okuyucu, büyük veri desteleri aracılığıyla tam hızda çalıştırılabilir, ancak daha karmaşık program ve arabellekler için bellek genellikle birinci sınıftı.

Birleştirici ve çift ara belleğe alma ile bile, satır yazıcısında IBM 2501 okuyucudan (1.000 kart/dakika) bir kart destesini listeleyen bir program, yazıcı için kart deliği modellerinden EBCDIC'e çeviri tarafından yapıldığı gibi devam edemedi. EBPRT çok yavaştı; örnekte olduğu gibi bunun yerine daha karmaşık ZIPCO ve HLEBC'ye ihtiyaç vardı.

Örnek APL\1130 oturumu

Aşağıdaki görüntü basit bir APL \1130 oturumunu göstermektedir. Bu oturum, IBM 1130.org'dan sağlanan 1130 simülatörü aracılığıyla gerçekleştirildi . Yukarıdaki oturum, bir oturum açmayı, 1'den 100'e kadar olan tam sayıların eklenmesini, 1..5 tamsayıları için bir toplama tablosunun oluşturulmasını ve bir oturum kapatmayı gösterir.
apl \ 1130 apl \ 1130 örnek oturum

Rakip sistemler

1130'un tanıtımıyla aynı yıl, Digital Equipment Corporation , ilk başarılı mini bilgisayar olarak tanınan daha küçük, daha ucuz ve daha çok satan 12-bit PDP-8'i piyasaya sürdü.

1130'un etkisi

  • Brian Utley, geliştirme ve tanıtım sırasında 1130'ların Proje Yöneticisiydi . Brian üçüncü 11/30 partisinde, IBM Marketing 1130'u adlandırmadan önce bunun Küçük Mühendislik Bilgisayar Sistemi veya SECS olarak bilindiğini söyledi. İlk mimari 18 bitti ancak System/360 geliştirmesinin etkisiyle 16 bite değiştirildi . 2005 sunumunun tam diyaloğu IBM1130.org adresinde mevcuttur .
  • Kayda değer yazılım tasarımcısı Grady Booch , programlamaya ilk kez bir IBM 1130'da maruz kaldı:

... Bir satıcı bana acıyana kadar yerel IBM satış ofisinin kapılarını çaldım. Bir süre sohbet ettikten sonra bana bir Fortran [kılavuz] verdi. "Bu çocuktan bir daha haber almayacağım" diye düşünerek verdiğine eminim. Ertesi hafta, "Bu gerçekten harika. Her şeyi okudum ve küçük bir program yazdım. Nerede bir bilgisayar bulabilirim?" diyerek geri döndüm. Dostum, zevkle, hafta sonları ve akşam geç saatlerde bir IBM 1130'da programlama zamanı buldu. Bu benim ilk programlama deneyimimdi ve bu anonim IBM satıcısına kariyerimi başlattığı için teşekkür etmeliyim. Teşekkürler IBM'im.

  • LISP gurusu Guy Steele lisedeyken IBM 1130 için bir LISP yorumlayıcısı yazmıştı ( öğrenci kullanımı için IBM 1130'a sahip olan Boston Latin Okulu ). LISP 1.6 için kodu ve belgeleri, simülasyon altında çalıştırılmasına yönelik mevcut çalışmaların bir özeti ile birlikte IBM1130.org adresinde mevcuttur .
  • Chuck Moore yeni dilini "Dördüncü" olarak adlandırmak istedi, ancak IBM 1130 işletim sistemi beş karakterli adlarla sınırlıydı, bu nedenle FORTH olarak adlandırıldı .
  • VisiCalc programının yaratıcısı olan Dan Bricklin , 1966 yılında Pennsylvania Üniversitesi'nde lise öğrencileri için verilen Ulusal Bilim Vakfı Bilgisayar/Matematik Yaz Projesi kapsamında IBM 1130'u öğrenip kullandığında programlamaya başladı.
  • Ohio Eyalet Üniversitesi Radyo Gözlemevi'nde dünyanın ilk tam zamanlı Dünya Dışı İstihbarat Araması araştırması için 8 kiloword çekirdekli bir IBM 1130 kullanıldı . Bu ekipman Wow'u tespit etti ! sinyal .
  • SGML'nin babası Charles Goldfarb , "sonunda kariyerimi değiştiren" ve onu genel biçimlendirmeye yönlendiren bir IBM 1130 tabanlı bir dizgi sistemi kurma işini anlatıyor:

Sistem bir IBM 1130 bilgisayarı, 8 KB ana belleğe, 512 KB disk sürücüsüne, bir Teletype CX kağıt şerit okuyucusuna ve BRPE kağıt şerit delgisine ve bir Photon 713 fotomekanik dizgi makinesine sahip bir masa boyutunda bir makineydi. Bu ödev, makine tarafından okunabilen bir belge veritabanını yönetme konusundaki ilk deneyimimdi: Delikli kağıt bandı, silindirik atık kağıt sepetlerinde düzgün bir şekilde saklanabilmesi için dikkatlice yuvarlamayı öğrendim.
Bu arada benim haberim olmasa da genelleştirilmiş işaretlemenin kökleri ekiliyordu. Tarihsel olarak, elektronik el yazmaları, belgenin belirli bir şekilde ("belirli kodlama") biçimlendirilmesine neden olan kontrol kodları veya makrolar içeriyordu. Buna karşılık, 1960'ların sonlarında başlayan jenerik kodlama, açıklayıcı etiketler kullanır (örneğin, "format-17" yerine "başlık").

  • Alan Kay , IBM 1130'u ilk GUI çalışmasında doktora için kullandı. tezi 1969.
  • NY, Buffalo'daki Hutchinson Merkez Teknik Lisesi ("Hutch Tech") , 1969'da ülkenin ilk dört yıllık lise bilgisayar bilimi müfredatında IBM 1130'u kullandı. Robert Santuci, bilgisayar bilimi program başkanıydı ve programlama ve tümevarımsal mantık dersleri verdi. .
  • IBM'den bir mühendis Signetics tarafından işe alındı ​​ve IBM 1130'daki bir dizi mimari özelliği Signetics 2650 tek çipli işlemciye dahil etti.

1130'lar bugün

Üretilen tahmini 10.000 sistemden, 2021 itibariyle aşağıdakilerin var olduğu bilinmektedir:

apokrifa

Ürüne neden 1130 numarasının verildiğine dair spekülasyonlar, aşağıdaki olasılıklara odaklandı:

  • 1130 küçük bir bilimsel makine olduğundan, sayı 360 ( IBM 360'ta olduğu gibi ) π ile çarpılarak seçilmiştir .
  • Saat 11:30, ürün planlamacılarının ürünü nasıl adlandıracakları konusunda bir çıkmaza girdiği günün saatiydi.
  • 1130, IBM'in 11. Bilgisayar Tasarımıydı ve 30 talimatı vardı.

Diğerleri, IBM 1130'un varlığının, PDP-11 makine ailesinde neden "11/30" olarak adlandırılan hiçbir bilgisayarın ortaya çıkmadığını açıkladığını öne sürdü .

Ayrıca bakınız

Notlar

Referanslar

Dış bağlantılar