Aralık Prizması - DEC PRISM

Aralık Prizması
Dec-prism-logo.png
tasarımcı Dijital Ekipman Şirketi
bitler 32 bit
tanıtıldı 1988 (iptal edildi)
Tasarım RISC
Varis Aralık Alfa
Kayıtlar
  • 64× 32-bit genel amaçlı kayıtlar
  • 16× 64-bit vektör kayıtları

Prizma ( P arallel R düşürülmüş bir nstruction S ve M achine) bir olduğu bir 32-bit RISC komut seti mimarisi tarafından geliştirilen (ISA) Digital Equipment Corporation (DEC). 1982-85 zaman dilimindeki bir dizi DEC araştırma projesinin sonucuydu ve proje sürekli değişen gereksinimlere ve girişini geciktiren planlı kullanımlara tabiydi. Bu süreç sonunda tasarımı yeni bir Unix iş istasyonu hattı için kullanmaya karar verdi . Aritmetik mantık birimi (ALU) ait microprism sürümü Nisan 1988'de tasarım tamamladığını ve numuneler imal edilmiş, ancak gibi diğer bileşenlerin tasarımı kayan nokta birimine (FPU) ve bellek yönetim biriminin (MMU) hala yaz aylarında değil tamdı DEC yönetimi projeyi MIPS tabanlı sistemler lehine iptal etmeye karar verdiğinde .

PRISM'in iptali Aralık ayında önemli etkiler yarattı. Ekip üyelerinin çoğu, özellikle Microsoft'a taşınan ve Windows NT'nin geliştirilmesine öncülük eden Dave Cutler olmak üzere, gelecek yıl şirketten ayrıldı . MIPS tabanlı iş istasyonları, DEC'in mevcut Ultrix kullanıcıları arasında orta derecede başarılıydı, ancak Sun Microsystems gibi şirketlere karşı rekabette çok az başarı elde etti . Bu arada, yeni RISC tasarımları, VAX 9000 serisinin en üstünden bile daha iyi performans gösterdiğinden , DEC'in nakit inek VAX serisi giderek daha az performans gösterdi . Şirket, VAX'ın geleceğini araştırırken, birkaç ek değişiklikle PRISM benzeri bir işlemcinin tüm bu pazarlara hitap edebileceği sonucuna vardılar. PRISM'in kaldığı yerden başlayarak, DEC Alpha programı 1989'da başladı.

Tarih

Arka plan

1977'de tanıtılan VAX , DEC için kaçan bir başarıydı ve IBM'in arkasında dünyanın 2 numaralı bilgisayar satıcısı olarak yerini sağlamlaştırdı . VAX, karmaşık mikro kodda uygulanan zengin komut seti mimarisi (ISA) ile dikkat çekti . VAX / VMS işletim sistemi için bazı gereksinimler için sürdü ve ISA, üst tabaka halinde kesme kullanımı ve kullanılan bellek modeli bellek sayfalama . 1980'lerin başlarında, VAX sistemleri "bilim ve mühendislik departmanlarının çalışmasını sağlayan VT-100 terminallerinin bir kenarına RS-232 kablolarının konuşmacılarını gönderen birçok teknoloji odaklı şirketin bilgi işlem merkezi haline geldi."

Bu mutlu durum, Moore Yasası tarafından kodlanan yarı iletken imalatının amansız gelişimiyle altüst oldu ; 1980'lerin başında , ilk VAX makinelerine benzer performansa sahip, ancak bir masaüstü pizza kutusu form faktörüne sığabilen bir dizi 32-bit tek çipli mikroişlemciler vardı . Sun Microsystems gibi şirketler, çok kullanıcılı devasa bir VAX makinesini daha da fazla performans sağlayan, ancak buna ihtiyaç duyan her kullanıcı için satın alınabilecek kadar ucuz olan bir makineyle değiştirebilecek Motorola 68000 serisi tabanlı Unix iş istasyonlarını tanıttı . DEC'in kendi mikroişlemci ekipleri daha düşük fiyat noktalarında bir dizi VAX uygulaması sunarken , sistemlerinin fiyat-performans oranı aşınmaya devam etti. 1980'lerin ikinci yarısında, DEC kendini teknik pazarın dışında kalmış buldu.

RISC

1970'lerde IBM , bilgisayar sistemlerinin performansıyla ilgili çalışmalar yürütüyordu ve şaşırtıcı bir şekilde, bilgisayar zamanının %80'inin yalnızca beş işlemi gerçekleştirmek için harcandığını keşfetti. ISA'larında mikrokod kullanılarak uygulanan diğer yüzlerce talimat neredeyse tamamen kullanılmadı. Mikro kodun varlığı, talimatların kodu çözüldüğünde bir gecikmeye neden oldu, bu yüzden biri bu beş talimattan birini doğrudan çağırdığında bile, mikro kod olmadığında olabileceğinden daha yavaş çalıştı. Bu , ilk modern RISC işlemcisi olan IBM 801 tasarımına yol açtı .

Aynı zaman zarfında, 1979 yılında, Dave Patterson bir gönderilmiştir izine gelen Kaliforniya Üniversitesi, Berkeley yardım DEC'in batı sahil ekibi VAX mikrokodları geliştirmek. Patterson, kodlama sürecinin karmaşıklığından etkilendi ve bunun savunulamaz olduğu sonucuna vardı. Önce mikro kodlamayı geliştirmenin yolları üzerine bir makale yazdı, ancak daha sonra fikrini değiştirdi ve sorunun mikro kodun kendisi olduğuna karar verdi. Yakında Berkeley RISC projesini başlattı . RISC'nin ortaya çıkışı, bilgisayar endüstrisinde yararları hakkında uzun süredir devam eden bir tartışmayı ateşledi; Patterson 1980'de konsepte yönelik argümanlarını ilk kez ana hatlarıyla belirttiğinde, DEC tarafından reddedilen bir muhalefet şerhi yayınlandı.

1980'lerin ortalarında, işlemci tasarım koluna sahip hemen hemen her şirket RISC yaklaşımını keşfetmeye başladı. Herhangi bir resmi ilgisizliğe rağmen, DEC bir istisna değildi. 1982'den 1985'e kadar olan dönemde, farklı DEC bölümlerinde bir RISC çipi oluşturmak için en az dört girişimde bulunuldu. DEC'in Palo Alto, California'daki Western Research Laboratory'den (WRL) Titan , 1982'de başlayan ve Unix'i çalıştırmayı amaçlayan yüksek performanslı ECL tabanlı bir tasarımdı . GÜVENLİ ( Hızlı İcradan Kolaylaştırılmış Mimarisi ) bir oldu 64 bit tarafından tasarlanan aynı yıl başladı tasarımı, Alan Kotok (bir jetonla! Ve Dave Yörüngeler şöhret) ve çalıştırmak için tasarlanmıştır VMS . HR-32 ( Hudson, RISC, 32-bit ) 1984 yılında Rich Witek ve Dan Dobberpuhl tarafından VAX makinesinde yardımcı işlemci olarak kullanılmak üzere Hudson, MA fab'da başlatıldı . Aynı yıl Dave Cutler , Washington, Bellevue'deki DECwest'te CASCADE projesini başlattı .

PRİZMA

Sonunda Cutler'dan 1985'te Rich Witek'i baş mimar olarak seçerek tek bir RISC projesi tanımlaması istendi. Ağustos 1985'te üst düzey bir tasarımın ilk taslağı teslim edildi ve ayrıntılı tasarım üzerinde çalışmaya başlandı. PRISM spesifikasyonu beş kişilik bir ekip tarafından aylar boyunca geliştirildi: Dave Cutler, Dave Orbits, Rich Witek, Dileep Bhandarkar ve Wayne Cardoza. Bu erken dönem boyunca, şirket içindeki tartışmalar, ticari veya teknik bir iş yüküne yönelik olarak 32 bit mi yoksa 64 bit mi olması gerektiği konusunda tartışırken tasarımda sürekli değişiklikler oldu. Bu sürekli değişiklikler, nihai ISA spesifikasyonunun Eylül 1986'ya kadar tamamlanmadığı anlamına geliyordu. O sırada, temel konseptin iki versiyonunu üretmeye karar verildi, DECwest Crystal olarak bilinen "üst düzey" bir ECL uygulaması üzerinde çalıştı , Yarıiletken ise Gelişmiş Geliştirme ekibi , bir CMOS versiyonu olan microPRISM üzerinde çalıştı . Bu çalışmanın %98'i 1985-86 arasında yapıldı ve Pete Benoit tarafından büyük bir VAXcluster üzerinde yapılan simülasyonlar tarafından yoğun bir şekilde desteklendi .

1987 yılının ortalarında, her iki tasarımın da 64 bit olmasına karar verildi, ancak bu sadece birkaç hafta sürdü. Ekim 1987'de Sun, Sun-4'ü tanıttı . Patterson'ın RISC tasarımının ticari bir versiyonu olan 16 MHz SPARC ile güçlendirilmiş , 20 MHz Motorola 68020 kullanan önceki üst seviye Sun-3'ten dört kat daha hızlı çalışıyordu . Bu sürümle DEC, PRISM'in hedefini bir kez daha değiştirdi ve yalnızca iş istasyonu alanını hedefledi. Bu, Crystal projesi iptal edilirken microPRISM'in 32 bitlik bir sistem olarak yeniden tanımlanmasıyla sonuçlandı. Bu, projeyi programın çok gerisinde bırakarak daha fazla gecikmeye neden oldu.

1988'in başlarında sistem hala tamamlanmamıştı; CPU tasarımı neredeyse tamamlanmıştı, ancak her ikisi de VAX için çağdaş Rigel yonga setine dayanan FPU ve MMU hala tasarlanıyordu. Ekip, tasarımın bu kısımları üzerinde çalışmayı bırakmaya ve tamamen CPU'ya odaklanmaya karar verdi. Tasarım Mart 1988'de tamamlandı ve Nisan ayına kadar bantlandı .

İptal

PRISM dönemi boyunca DEC, şirketin gelecekteki yönü hakkında büyük bir tartışmaya dahil oldu. Daha yeni RISC tabanlı iş istasyonları piyasaya sürüldükçe, VAX'ın performans avantajı sürekli olarak aşındı ve fiyat/performans oranı tamamen zayıfladı. Şirket içindeki farklı gruplar en iyi nasıl yanıt verileceğini tartıştı. Bazıları VAX'ı üst uçlara taşımayı, alt uçtan Sun gibi iş istasyonu satıcılarına geçmeyi savundu. Bu , dahili olarak "IBM katili" olarak anılan VAX 9000 programına yol açtı . Diğerleri, PRISM veya bir emtia işlemcisi kullanarak iş istasyonu pazarına girmeyi önerdi. Yine diğerleri, VAX'ın bir RISC işlemci üzerinde yeniden uygulanmasını önerdi.

Palo Alto'da , Merkezi Mühendislik dışında, iş istasyonlarına ve UNIX/ Ultrix'e odaklanan bağımsız bir skunkworks grubu , bağımsız olarak, daha ucuz ve daha hızlı rekabetçi makinelere yönelik artan sayıdaki kayıplarla hüsrana uğrayarak , bunu yapmak için kullanıma hazır bir RISC işlemcisi kullanma fikrini eğlendirdi. yeni bir iş istasyonu ailesi oluşturun. Grup durum tespiti yaparak sonunda MIPS R2000'i seçti . Bu grup bir geliştirme makinesi satın aldı ve sisteme bir Ultrix bağlantı noktası prototipi oluşturdu. MIPS ile yapılan ilk toplantılardan bir prototip makineye geçiş sadece 90 gün sürdü. Bir DEC versiyonunun tam üretimi Ocak 1989 gibi erken bir tarihte başlayabilirken, PRISM tabanlı bir makinenin hazır hale gelmesi en az bir yıl daha alacaktır.

Konu DEC genel merkezinde gündeme geldiğinde şirket, hangi yaklaşımın daha iyi olduğu konusunda ikiye bölündü. Bob Supnik'ten yaklaşan bir proje incelemesi için konuyu düşünmesi istendi. PRISM sistemi daha hızlı görünse de, MIPS yaklaşımının daha ucuz ve piyasaya çok daha erken çıkacağı sonucuna vardı. Temmuz 1988'de şirketin İcra Komitesi tarafından yapılan sert gözden geçirme toplantısında şirket, Prism'i iptal etmeye ve MIPS iş istasyonları ve üst düzey VAX ürünleriyle devam etmeye karar verdi. İş istasyonu DECstation 3100 olarak ortaya çıktı .

Bu zamana kadar microPRISM örnekleri iade edilmişti ve çoğunlukla çalıştığı tespit edildi. Ayrıca, R2000'in 16 ila 20'sine kıyasla 50 ila 80 MHz hızlarında çalışabildiklerini kanıtladılar. Bu, MIPS sistemlerine göre önemli bir performans artışı sunabilirdi.

Miras

Temmuz 1988'deki toplantıya kadar, şirket neredeyse tamamen RISC yaklaşımının bir iş istasyonu oyunu olduğu pozisyonuna dönmüştü. Ancak PRISM'in performansı en son VAX makinelerinin performansına benziyordu ve RISC konseptinin büyüme için önemli bir yeri vardı. Toplantı sona erdiğinde Ken Olsen , Supnik'ten Digital'in VAX/VMS sistemlerinin performansını RISC tabanlı Unix sistemleriyle rekabet edebilir durumda tutabilmesinin yollarını araştırmasını istedi.

Bir grup mühendis, bu sorunu araştırmak için çeşitli şekillerde "RISCy VAX" veya "Genişletilmiş VAX" (EVAX) görev gücü olarak adlandırılan bir ekip oluşturdu. Yaz sonunda, grup üç kavramı araştırmıştı: RISC benzeri bir çekirdeğe sahip VAX ISA'nın bir alt kümesi, yerel VAX kodunu çalıştıran ve onu anında RISC koduna çeviren ve bir önbellekte saklanan çevrilmiş bir VAX ve ultrapipelined VAX, çok daha yüksek performanslı bir CISC uygulaması. Tüm bu yaklaşımların, basit bir RISC makinesiyle rekabet edemeyecekleri anlamına gelen sorunları vardı.

Grup daha sonra performans ihtiyaçları için hem mevcut bir VAX tek çip çözümünü hem de bir RISC çipini birleştiren sistemleri düşündü. Bu çalışmalar, sistemin kaçınılmaz olarak düşük performanslı kısım tarafından engelleneceğini ve hiçbir zorlayıcı avantaj sunamayacağını öne sürdü. Bu noktada Nancy Kronenberg, insanların VAX değil VMS çalıştırdığına ve VMS'nin kesinti modellemesine ve bellek sayfalamasına dayalı olarak yalnızca birkaç donanım bağımlılığına sahip olduğuna dikkat çekti. Modelin bu küçük parçaları korunduğu sürece, VMS'nin bir RISC yongasına taşınamaması için hiçbir zorlayıcı neden yok gibi görünüyordu. Bu konsept üzerinde daha fazla çalışma, bunun uygulanabilir bir yaklaşım olduğunu gösterdi.

Supnik, sonuç raporunu Şubat 1989'da Strateji Görev Gücü'ne götürdü. İki soru ortaya çıktı: ortaya çıkan RISC tasarımı Unix pazarında da bir performans lideri olabilir mi ve makine açık bir standart olmalı mı? Ve bununla birlikte, uygun modifikasyonlarla PRISM mimarisini benimsemeye karar verildi, sonunda Alpha oldu ve yeni mimariye VMS limanı başladı .

PRISM ve MICA iptal edildiğinde Dave Cutler Digital for Microsoft'tan ayrıldı ve burada Windows NT olarak bilinen şeyin geliştirilmesinden sorumlu oldu . Cutler'ın NT mimarisi, MICA'nın birçok yönünden büyük ölçüde ilham aldı. Ortak bir çekirdeğin ( NT durumunda Win32 , OS/2 ve POSIX ) üzerine birden çok işletim sistemi API'sinin uygulanmasına ek olarak MICA ve NT , çekirdeğin yöneticiden ayrılmasını , soyutlama olarak bir Nesne Yöneticisinin kullanımını paylaştı . işletim sistemi veri yapılarıyla arabirim oluşturmak ve çoklu iş parçacığı ve simetrik çoklu işlem desteği için .

Tasarım

Tamsayı işlemleri açısından , PRISM mimarisi MIPS tasarımlarına benziyordu . Talimatlardaki 32 bitin 6 en yüksek ve 5 en düşük biti talimattı ve kelimenin diğer 21 bitini ya sabit ya da kayıt konumlarını kodlamak için bıraktı . MIPS'deki otuz iki yerine altmış dört 32 bitlik kayıt dahil edildi, ancak kullanım başka türlü benzerdi. Hem PRISM hem de MIPS , diğer büyük RISC tasarımı olan Berkeley RISC'nin ayırt edici özelliği olan kayıt pencerelerinden yoksundur .

PRISM tasarımı, komut setinin çeşitli yönleriyle dikkate değerdi . Özellikle, PRISM , işletim sistemine birden çok uygulamada kararlı bir ABI sunmayı amaçlayan bir dizi "özel" talimatı tanımlayan Epicode'u ( genişletilmiş işlemci talimat kodu ) içeriyordu . Epicode'a kullanması için kendi 22 32 bitlik kayıt seti verildi. Daha sonra bir dizi vektör işleme talimatı da eklendi ve çeşitli şekillerde kullanılabilen on altı adet 64 bitlik vektör kaydı tarafından desteklendi.

MİKA

MICA , PRISM mimarisi için geliştirilen işletim sisteminin kod adıydı. MICA'nın tasarımı, Digital'in Digital'in VAX/VMS müşterileri için PRISM'e geçiş yolu sağlama ihtiyacından ve PRISM sistemlerinin giderek daha önemli olan Unix pazarında rekabet etmesine izin verme ihtiyacından kaynaklandı. MICA, VMS ve ULTRIX kullanıcı arabirimlerini , her iki ortam için gereken sistem çağrılarını (veya VMS dilinde "sistem hizmetleri"), kitaplıkları ve yardımcı programları destekleyebilecek ortak bir çekirdeğin üzerine uygulayarak bu gereksinimleri karşılamaya çalıştı .

MICA'nın asıl amacı, tüm uygulamaların hem VMS hem de ULTRIX arabirimlerine tam ve değiştirilebilir erişime sahip olması ve bir kullanıcının bir ULTRIX veya VMS ortamında oturum açmayı ve herhangi bir MICA uygulamasını her iki ortamdan çalıştırmayı seçebilmesiydi. Ancak, aynı uygulamaya aynı anda hem tam ULTRIX hem de tam VMS uyumluluğu sağlamanın imkansız olduğu ortaya çıktı ve Digital, OSF/1'e dayalı ayrı bir Unix işletim sistemine sahip olmak için bu planı rafa kaldırdı (buna çeşitli şekillerde atıfta bulunuldu). olarak PRISM Ultrix veya OZIX ). Sonuç olarak, MICA, DCL , RMS , Files-11 , VAXclusters ve VAX/VMS RTL'leri ve sistem hizmetlerinin uyumlu uygulamalarıyla VMS benzeri bir işletim sisteminin taşınabilir bir uygulaması olarak hizmet etmiş olacaktı . Bir MICA uygulamasının derlenebilmesi ve VMS arabirimlerine veya ULTRIX arabirimlerine karşı bağlanabilmesi için MICA'da Unix uyumluluğunun uygulama bazında yeniden etkinleştirilmesi için önerilerde bulunuldu, ancak her ikisi aynı anda değil.

Programlama endişeleri nedeniyle, ilk PRISM sistemleri, tam MICA işletim sisteminin sınırlı alt kümeleriyle birlikte teslim edilecekti. Bu, Cheyenne ve Glacier gibi belirli uygulamaları çalıştırmaya adanmış ve müşterilerin işletim sistemiyle doğrudan etkileşiminin sınırlı olacağı sistemleri içeriyordu .

MICA, neredeyse tamamen PILLAR adlı üst düzey bir programlama dilinde yazılacaktı . PILLAR , Sistem Uygulama Dili (SIL) adı verilen geçici bir dil aracılığıyla EPascal'dan ( VAXELN'e özgü Pascal lehçesi ) evrimleşmiştir . PILLAR, hem VAX/VMS hem de MICA için derlenebilecek uygulamaların geliştirilmesine izin vererek VAX/VMS'ye geri aktarılacaktı. ARUS (Application Runtime Utility Services) adlı ortak bir üst düzey çalışma zamanı kitaplıkları seti, MICA, OSF/1, VAX/VMS ve ULTRIX arasında taşınabilirliği daha da kolaylaştırabilirdi. PRISM projesinin bir parçası olarak, GEM adlı ortak bir optimize edici derleyici arka ucu geliştirildi (bu hayatta kaldı ve VMS'nin Alpha ve Itanium bağlantı noktalarının yanı sıra Tru64 için derleyici arka ucu oldu ).

PILLAR'a ek olarak, Mica, Unix uygulamalarını desteklemek için ANSI C için birinci sınıf destek sağladı . SPASM (Basitleştirilmiş PRISM Assembler) adlı bir montajcı , işletim sistemi için gereken az miktarda montaj kodu için tasarlanmıştı ve müşterileri taşınabilir olmayan yazılımlar geliştirmekten caydırmak için genel kullanıma sunulmamıştı. Benzer şekilde, önceden var olan VAX/VMS uygulamalarının MICA'ya taşınmasına izin vermek için yalnızca dahili kullanım için bir BLISS uygulaması geliştirilmiştir. MICA, Rdb , VAXset , DECwindows ve VAX/VMS için mevcut olan derleyicilerin çoğu dahil olmak üzere birçok VAX/VMS katmanlı ürünün bağlantı noktalarını veya yeniden yazımlarını içerecektir.

Referanslar

bibliyografya

daha fazla okuma