mgr Ina. Krzysztof DZIK rn^r inż. Wojciech KUBERA mgr inż. Włodzimierz ZAPENDOWSKI Instytut Maszyn Ma toina ty cznych
SPRZĘT A OPROGRAMOWANIE O PEWNYCH KIERUNKACH ROZWOJU ARCHITEKTURY ELEKTRONICZNYCH MASZYN CYFROWYCH
Pojawionio się w połowie lat sześćdziesiątych rodzin maszyn cyfrowych trzeciej goneracji miało sygnalizować przewrót w technice obliczeniowej. Szumne reklamy zapowiadały połne zaspokojenie wszystkich potrzeb każdego użytkownika.
Wydajny, niezawodny sprzęt i bogate oprogramowanie w połączeniu z koncopcją rodziny maszyn miało być uniwersalnym antidotum na wszystkie dotychczasowe bolączki użytkowników i producentów. Oknie euforii minął jednak dość szybko po skonfrontowaniu oczekiwań z rzeczywistością. Zaczęto dostrzegać wiolo nogatywnych zjawisk określanych terminem "kryzys softwarogowy". Kryzys ten po-luga na:
• nadmiernym przeciążeniu systemu funkcjami administracyjnymi, któro w znacznym stopniu obniżaJq rzeczywistą wydajność systemu Jako całości;funkcJo systemu oporacyjnogo związano z wieloprogra-mowośclą.czy stosowaniem przez użytkowników Języków programowania wysokiego poziomu pochłaniają znaczną część czasu pracy JocLnostki centralna J, dość po\/iedzioć, żo w niektórych systemach na samą translację programów zużywa się 70# czasu pracy; w tym kontekście stajo się Jasno stanowisko użytkownika, którego przostajo interesować fakt,że procesor, którym dysponuje wykonuje kilku milionów dodawań na sekundę; dla użytkownika Jost to zupelnio nioistotno; przecież jego naszyna
z tą wlnśnio zawrotną prędkością nie robi nic innego tylko Mliczy" - systom oporacyjny!
• olbrzymich kosztach oprogramowania (we współczesnych systemach specjalnych koszt sprzętu nio przekracza 25#), któro odznaczają się tendencją wzrostową i są niewspółmierne w stosunku do osiąganych ofoktów.
Naszym zdaniem Jedną z podstawowych przyczyn "kryzysu software'owego" jest niedopasowanie tradycyjnej, pochodzącej jeszcze od von Neumanna struktury systemu do potrzeb współczesnego użytkownika. Można zaryzykować twierdzenie, że cechą charakterystyczną sprzętu większości dotychczas projektowanych maszyn cyfrowych jest logiczny prymitywizm. V/ większości znanych systemów jedynym elementem aktywnym jest sumator. Prymitywizm sprzętu w konsekwencji powoduje ograniczoność języka wewnętrznego maszyny.
Z drugioj strony struktura pamięci w większości znanych rozwiązań jest liniowa. Nic odpowiada to złożonym strukturom zbiorów danych, charakterystycznym dla realnych problemów. Istnieje zatem sprzeczność między językiem wewnętrznym maszyny a językami programowania oraz między liniową strukturą pamięci a złożonymi strukturami danych stosowanymi przez użytkowników.
Przepaść dzieląca skrajnie złożone problemy, które są rozwiązywano za pomocą maszyn cyfrowych i skromno możliwości logiczne współczesnego sprzętu, musi być zasypana przez oprogramowanie, które siłą rzeczy rozrasta się do monstrualnych rozmiarów. Ta sytuacja zmusza projektaiitó?; systemów do nowego spojrzenia na sposób projektowania maszyn cyfrowych.
Systemy cyfrowo projektowane były dotychczas "z dołu do góiy", tzn. od szczegółu do ogółu: wychodząc z ogólnych założeń konstruowano pewien sprzęt, dla którego tworzono systemy operacyjno, translatory, programy użytkowe - wszystko po to, aby system cyfrowy był użyteczny. Jak głęboko przeniknęła ta metoda do świadomości konstruktorów, świadczy samo słowo "oprogramowanie", któro w oczywisty sposób kojarzy się etymologicznie z czynnością wyposażenia czegoś w programy, czyli z pisaniem programów dla zadanego, istniejącego już sprzętu.
Zdaniem autorów, właściwszym od tradycyjnego sposobem projektowania byłoby podejście "z góry w dół"; można sobie wyobrazić, że wszystkie funkcje projektowanego systemu, realizowano w nim al-