Кіріспе
KDF8 - RCA 501 нұсқасы ретінде English Electric компаниясы жасаған алғашқы британдық компьютер. Бағдарламалық қамтамасыз етумен үйлесімді жүйені жасау арқылы бағдарламалық қамтамасыз етуді әзірлеудің уақытын және құнын қысқарту көзделді. Алайда, өндіріс қабілетін дамытудың ұзақ процесі жүйені басқа сатушылардың жүйелері тез артта қалдырды дегенді білдірді. 5 жыл бойы өндірілген бірнеше жүйе ғана сатылды. Британдық компьютерлік индустрияның бірігуіне байланысты English Electric компаниясының компьютерлік бөлімі ICL компаниясының құрамдас бөліктерінің бірі болды.
Өмірбаян
1950 жылдардың аяғында English Electric екі ірі компьютерлік жобаны қолға алды. Біріншіден, English Electric RCA 501 компьютердің нұсқасын KDP10 (Kidsgrove Data Processing үшін KDP) деп атады. Бұл коммерциялық деректерді өңдеуге арналған машина, оның нұсқаулары тұрақты, ал сандық және альфа-сандық деректерді өңдеу мүмкіндігі өзгермелі. RCA-ның бастапқы дизайны Ұлыбританияда шығарылған транзисторлар, диодтар және басқа компоненттер түрлерін пайдалануға бейімделген. KDP10 алғаш рет 1961 жылы жеткізілді. 1964 жылы KDF8 деп қайта аталып, 1965 жылға дейін сатылымда болды. Бұл машина RCA 501 машинасымен бірдей болды және лицензия бойынша шығарылды, сондықтан English Electric барлық клиенттеріне компьютерлік жүйелердің толық спектрін ұсына алды, мүлдем жаңа машинаны әзірлеуге шығынсыз. Машина 400 000 фунтқа сатылды. Тек 13 данасы ғана сатылды. Kidsgrove-дегі даму жұмысынан шыққан екінші үлкен компьютер KDF9 болды, ол негізінен ғылыми жұмыс үшін жасалған. Бір KDF8 The English Electric Company компьютерлік бюросының Kidsgrove (Стаффордшир) сайтына орнатылды. Жылдар бойы және бірігулер кезегімен бұл ұйым English Electric Leo Marconi (EELM), International Computing Services Limited (ICSL) және ақырында ICL мен Barclay's Bank, Baric арасындағы бірлескен келісім бойынша болды.
Өңдеуші/негізгі қойма
KDF8 - магниттік ядролық жады бар транзисторлық машина. Kidsgrove компьютер бюросында орнатылған машинаның негізгі жады 64k-дан сол кездегі ең жоғары 96k негізгі жадыға дейін жаңартылды. KDF8 октальдық (сегіздік) адрестік жүйені қолданды. Машиналық кодтың нұсқаулығы он октал таңбадан тұратын, ұзындығы белгіленген. Нұсқаулық жиынтығы арнайы коммерциялық мақсатта жасалған. Ол өзгермелі ұзындықтағы сандарға жұмыс істейтін ондық арифметикалық функциялардың төртеуі үшін машиналық код деңгейіндегі нұсқауларға ие болды, сондай-ақ өзгермелі ұзындықтағы деректер тізбектерін тиімді басқаруға арналған нұсқауларға ие болды. Барлық нұсқаулықтарда он таңбаның барлығы талап етілмеген. Қолда бар негізгі жадының аздығын ескере отырып, бағдарламашылар тұрақтыларды сақтау және ұқсас сақтауды сақтау үшін нұсқауларда "қосалқы" таңбаларды жиі қолданған. KDF8 бір уақытта бір бағдарламаны орындайтын топтық өңдеу компьютері болды. Бір уақытта тек бір есептеу нұсқаулығын өңдеуге болады, бірақ бір оқу және/немесе бір жазу нұсқаулығын (әдетте магниттік таспадан және магниттік таспаға) қатар орындау мүмкін. Синхронды жұмыс дәрежесін бақылау үшін машиналық код деңгейінде орнатылған және тексерілетін аппараттық "қақпалар" жүйесі қолданылды. Алайда, ешқандай операциялық жүйе болмағандықтан, оны жеке бағдарлама деңгейінде бақылау керек болды. Қызмет бюросындағы KDP10 жүйе RCA германий транзисторларымен жасалғандықтан, оны орнында жаңартты. Жаңартудың бір бөлігі негізгі логиканы кремний транзисторларына аудару болды. Сонымен қатар, үш таңбалы адресті қосушы қосылды, ал машина циклі 15 микросекундты, алты уақыт импульсімен, ал алтыншы импульс уақыт орнату үшін болды, сондықтан машина циклі 12,5 микросекундқа қысқарды. Бағдарламашы дағдысының деңгейі толық оқу / жазу / есептеудің үстіне жабылуын бақылау үшін, әсіресе егер деректер жазбалары магниттік таспадағы "нақты" дерек блогына бірнеше рет "топталған" болса, едәуір болды, өйткені барлық бір мезгілділік тексерулері бағдарламаға қолмен кодталуы керек еді. Автоматты қателерді анықтау, негізінен, таңбалар деңгейіндегі аппараттық теңдікті тексерумен шектелген, ал бағдарламашының не істей алатыны туралы процессорлық аппараттық тексерулер болған жоқ. Мысалы, егер физикалық жадынан тыс жад орналасуына қол жеткізуге нұсқау берілсе, компьютер жай ғана тоқтап қалады.
Бағдарламалық жасақтама
Операциялық жүйе жоқ еді. Бағдарламаларды оператордың консолі арқылы желідегі оператор бастаған. Операторлар сонымен қатар жадыны қолмен тазалау және компьютерді бағдарламалардың арасында қайта орнату, таспаларды орнату және ауыстыру, желіден тыс басып шығаруды басқару және т.б. үшін жауапты болды. Кейбір стандартты бағдарламалық жасақтама топтамалары қол жетімді болды немесе қол жетімді болды, олардың барлығы АҚШ-та RCA ұйымымен жазылды. Олардың ішінде келесілері бар. Параметрлік реттеу біріктіру бағдарламасы, өте үлкен көлемдегі деректерді өңдеуге қабілетті. Сорт параметрлері қағаз таспасын оқушыдан оқуға болады, немесе "компиляцияланады" (әдетте бағдарламада сақталады). Пайдаланушымен қамтамасыз етілген кодты сұрыптау / біріктіру процесінің әртүрлі кезеңдерінде енгізуге болатын кең ауқымды пайдаланушы "бұғалар" болды. EZ Code деп аталатын ассемблерлік тіл компиляторы. Бұл коммерциялық мақсатта біраз уақыт пайдаланылмаған, өйткені құрастыру уақыты ауыр жүктеме ретінде қарастырылды, бірақ кейінгі жылдары жиі қолданыла бастады. Компьютер уақытын үнемдеу үшін, әдетте, бағдарламашы бастапқы компиляцияны жасайды, бағдарламаны қолмен құрғақ тексеруді жүргізеді, қайта компиляциялайды, содан кейін бағдарламаның компиляцияланған машиналық код нұсқасын сынап, қателерді жоюды жүргізеді, әрбір түзету жасалған сайын бағдарламаға қағаз таспасы машиналық код жаңыртуларының катушкасын құрастырады. Қатаң көшірмесі қол жетімді болғаннан кейін, өзгерістер Assembler-де қайталанады және бағдарлама қайта құрастырылып, қайта сыналады. Жиі соңғы кезең мүлдем аяқталмайтын, және өндіріс бағдарламалары үшін машиналық кодтың жаңыртуларын әр рет қағаз таспасынан жүктеуді талап ету белгісіз емес еді. Сонымен қатар, Ассемблер компиляторы қабылданбағанға дейін бюро қызметкерлері жалақы, есеп және акцияларды тіркеу бойынша бірқатар ірі коммерциялық пакеттерді жазды және олар толығымен машиналық кодта қалды. Тағы бір ерекшелігі, құрастырушының I/O генерациялау реті COBOL файл сипаттамалары кестелерінің пішімдеріне негізделген Tape Control деп аталатын өздерінің жалпыланған I/O пакетін жазған бір бағдарламалау бөлімінде қолданылмады. Бұл жазбаларды топтастыру / топтастыруды және бір мезгілде оқу / жазу операцияларын және файл шарттарының аяқталуын басқаруды қатеге ұшыраған бағдарламалауды автоматтандырды. COBOL компиляторы. Бұл әдіс өте сирек қолданылды, өйткені алғашқы тәжірибелер мүлдем жағымды болмады. Бір ерекше ерекшелігі "WRS1" деп аталатын сымдарды жобалау бағдарламасы болды, ол кейіннен ағылшындық Electric KDF9 және System 4 Mainframe компьютерлерінің жабдықтарын жобалауға көмектесті. Тағы бір ерекшелігі - COBOL бағдарламалары үшін COBOL-те жазылған шешім қабылдау кестесі. Бұл белгілі бір қызығушылық тудыратын, өйткені бюроның бағдарламалау қызметкерлері сол кезде блок-схемаларға балама ретінде шешім кестелерін пайдаланумен тәжірибе жүргізді. Алайда, бұл бағдарламашылар қолмен жазылған шешім кестелерінен құрастырушы кодты сәтті жалғастыра берген кезде, компиляция шығыны алдын ала процессорды пайдалануға жол бермеді. Өндірістік бағдарламалардың өнімділігін оңтайландыру үшін бюро бағдарламалаушылары жалақы төлеу, сату және сатып алу кітапшалары, акцияларды тіркеу, қорды бақылау және т.б. үшін стандартты бағдарламалық жасақтамаларды шығарды, ал кейбір қосымшалар (мысалы, жалақы төлеу) көптеген бюро клиенттерінен деректерді бір компьютерде өңдеуді қолдады, жеке параметрлер параметрлері жеке клиенттердің талаптарын басқарады. Клиенттің күрделі талаптары арнайы жасалған бағдарламалармен орындалды.
Компьютерлік жұмыс
Әр бағдарламаның алдыңғы жағында өте кішкентай (20-ге жуық нұсқау) жүктеуші болуы мүмкін, бірақ бұл тәсіл әрқашан қолданылмайды. Таспалы этикеткалар (COBOL және Таспалы басқаруды басқаратын қосымшалардан басқа) мүлдем жоқ еді. Әке-әке-баланың таспаны айналдыру циклі өндіріс таспаларын үлкен апаттардан қорғады, бірақ мұқият қолмен басқаруды қажет етті. Бағдарламашылар (немесе операциялық топтамалар үшін Өндірісті басқару персоналы) операторға қай бағдарлама таспасы мен деректі таспаларды жүктеу керектігі туралы, қай құрылғыларға жүктеу керектігі туралы жазбаша нұсқаулар берді және әр бағдарламаны қалай жүктеу және бастау туралы жазбаша қорытынды берді. Оператор содан кейін таспаларды жүктейді және консольдан әр бағдарламаны қолмен жүктейді және бастайды. Консоль, биіктігі 5 фут, ұзындығы 2 метр болатын тік дисплей панелі мен оның астында ұқсас өлшемді, сәл бұрышты басқару панелі бар. Бұл екі бөліктің әрқайсысы бір-бірінен бір (шамамен) сантиметрлік шаршы метрге дейін белгісі бар батырмалармен және жарық индикаторлармен толтырылған. Дисплей бөлімі индикаторлардан тұрады, олар жарықтандырылған кезде екілік (октал ретінде топтастырылған) таңбалармен, машинаның қазіргі жұмыс (немесе статикалық) күйін жеке машинаның негізгі мекенжайы мен тіркелім деңгейінде, сол кезде жүргізіліп жатқан есептеу, оқу және жазу операциялары үшін көрсетті. Бағдарлама орындалған кезде бұл дисплей тез өзгеріп, жанып тұрған, түрлі-түсті жарықтардың калейдоскопы болды. Басқару панелі келесі тіркелімді таңдау үшін басқан батырмалардан және бір машинаның негізгі мекенжайының орналасуын бейнелейтін орталық бөлімнен тұрады. Басқа батырмалар күрделірек операцияларды жүзеге асырады. Бұл батырмаларды пайдалану операторға машинаның негізгі сақтау орындарын таңдауға және тікелей енгізуге мүмкіндік береді және ол қолмен енгізілген сегіздік үлгіді тіркейді. Оператор бір машина нұсқаулығын енгізу үшін нұсқаудың онға дейінгі октал таңбаларының әрқайсысын таңдап, оның екілік үлгісі ретінде әрқайсысы дұрыс (еркін) теңдік битпен кілтпен кіргізу керек болды.