DEUCE: Англияда жасалған алғашқы компьютерлердің бірі
English Electric DEUCE
DEUCE компьютері: 1955 ж. жасалған, Англиядағы алғашқы электрондық есептегіш машиналардың бірі. Тюрингтің ACE жобасының жетілдірілген нұсқасы, құрылымы, мүмкіндіктері туралы ақпарат.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
DEUCE (Digital Electronic Universal Computing Engine) – 1955 жылдан бастап English Electric компаниясы құрастырған алғашқы британдық коммерциялық есептеу машиналарының бірі. Ол Алан Тьюрингтің ACE машинасының тобырлы нұсқасы болған Pilot ACE-нің өндірістік үлгісі еді.
The DEUCE (Digital Electronic Universal Computing Engine) was one of the earliest British commercially available computers, built by English Electric from 1955. It was the production version of the Pilot ACE, itself a cut down version of Alan Turing's ACE.
Жабдықтың сипаттамасы
DEUCE-де 1450 термоиондық клапан болды және оның негізгі жады үшін сынаптық кешіктіру желілері қолданылды; 12 кешіктіру желісінің әрқайсысы 32 биттік 32 нұсқауды немесе дерек сөзін сақтай алатын. Ол Pilot ACE-нің сол кездегі 1 мегагерцтік сағат жылдамдығын қабылдады. Кіріс/шығыс Холлериттің 80 бағаналы перфокартасы арқылы жүзеге асырылды. Оқығыш минутына 200 картаны оқыды, ал картаны перфорациялау жылдамдығы минутына 100 картаны құрады. DEUCE-де 8192 сөзді сақтау үшін магниттік барабан да болды. 32 сөзден тұратын 256 жолдың кез келгеніне қол жеткізу үшін барабанда 16 оқу және 16 жазу басының тобы болды, әр топ өздігінен жылжымалы иірімдерде орналасқан, әрқайсысы 16 позицияның біріне жылжуға қабілетті. Бастар орнында болса, қол жеткізу уақыты 15 миллисекунд болды; егер бастарды жылжыту қажет болса, қосымша 35 миллисекунд қажет болды. Барабаннан оқып, барабанға жазу кезінде айналу кешігуі болмады. Деректер барабан мен 32 сөзді кешіктіру желісінің бірі арасында берілді. DEUCE қағаз таспасымен жабдықталуы мүмкін; оқу жылдамдығы секундына 850 таңба, ал қағаз таспасының шығару жылдамдығы секундына 25 таңба болды. (Жаңа Оңтүстік Уэльс университетіндегі (UTECOM) DEUCE-де 1964 жылы Siemens M100 телепринтері орнатылған, ол секунд сайын 10 таңба кіріс/шығыс жүргізе алды). Decca магниттік таспа құрылғыларын да қосуға болады. Автоматты көбейтуші және бөлуші асинхронды түрде жұмыс істеді (яғни, көбейтуші/бөлуші бірлігі жұмыс істеп тұрғанда басқа нұсқаулар орындалуы мүмкін). Толық сандық операциялар үшін екі арифметикалық бірлік берілген: біреуі 32 биттік, екіншісі 32 биттік және 64 биттік операцияларды орындауға қабілетті. 1957 жылдан бастап сегіз тіркелімде автоматты түрде арттыру және азайту мүмкіндігі қарастырылды. Массивтік арифметика және массивтік деректерді беруге рұқсат етілді. Manchester Mark 1 сияқты бір замандастарымен салыстырғанда, DEUCE шамамен он есе жылдам болды. Төрттік тіркелімдердің жеке сөздері автоматты түрде арттыру/азайту мүмкіндігімен байланыстырылған. Бұл мүмкіндікті санау және нұсқауларды өзгерту үшін (индексация, циклді басқару және нұсқаутың бастапқы немесе мақсатты мекенжайын өзгерту үшін) пайдалануға болады. Бір тіркелімге қол жеткізу уақыты 32 микросекунд, екі тіркелімге 64 микросекунд, ал төрттік тіркелімге 128 микросекунд болды. Кешіктіру желісі үшін – 1024 микросекунд. Нұсқау орындау уақыты: қосу, алу, логикалық операциялар: 32 биттік сөздер үшін 64 микросекунд; қос дәлдік үшін 96 микросекунд; көбейту және бөлу үшін 2 миллисекунд. Массивтік арифметика және деректерді беру операциялары үшін, 32 сөз үшін бір сөзге кететін уақыт 33 микросекунд болды. Айналмалы нүктелі операциялар бағдарламалық қамтамасыз ету арқылы жүзеге асырылды; уақыты: қосу және алу үшін 6 миллисекунд, көбейту үшін 5,5 миллисекунд орташа, ал бөлу үшін 4,5 миллисекунд орташа. Алғашқы машиналарда магниттік барабанға қатысты барлық нұсқаулар операция орындалып жатқанда бір-бірімен байланыстырылған. Осылайша, егер оқу бастары жылжыса, жолды оқу немесе жазу сияқты кез келген магниттік операцияны біріншісі аяқталғанға дейін орындауға тыйым салынды. 1957 жылдан бастап "рационалды магнит" деп аталатын жаңа құрылғы қолжетімді болды. Бұл құрылғы қажетсіз байланыстарды жойды. Осылайша, оқу бастарын жылжытатын нұсқауды орындау мүмкін болды: егер одан кейін жазу бастарын жылжыту немесе жолға жазу нұсқаулары болса, мұндай нұсқаулар байланыстырылмайды және оқу бастарын жылжытумен бірге орындалуы мүмкін. DEUCE-дің алдыңғы панелінде екі ЭЛТ дисплейі болды: біреуі тіркелімдердің ағымдағы мазмұнын көрсетті, ал екіншісі сынаптық кешіктіру желілерінің кез келген сақтағышының мазмұнын көрсетті. 1958 жылдан бастап жеті қосымша кешіктіру желісін қосуға болады, бұл 224 сөздік жоғары жылдамдықты сақтауды қамтамасыз етеді. IBM 528 біріктірілген оқу-перфоратор Hollerith жабдықтарын алмастыра алады, бұл бірдей кіріс/шығыс жылдамдықтарын береді, бұл жағдайда машина Mark II деп аталды. Алфа-цифрлық деректерді BCD форматына автоматты түрде түрлендіру кіріс кезінде барлық сексен карта бағаны үшін қамтамасыз етілді, ал кері операция шығыс кезінде жүзеге асырылды. Бұл жабдықта оқу және перфорациялау қажет болған жағдайда бір мезгілде жүргізілуі мүмкін, сондықтан жазбаны оқу, жаңарту және кейін жаңартылған жазбаны келесі жазбаны оқумен бір мезгілде перфорациялау үшін пайдалануға болады. Жеті қосымша кешіктіру желісімен DEUCE Mark IIA деп белгіленді.
The DEUCE had 1450 thermionic valves, and used mercury delay lines for its main memory; each of the 12 delay lines could store 32 instructions or data words of 32 bits each. It adopted the then high 1 megahertz clock rate of the Pilot ACE. Input/output was via Hollerith 80 column punch card equipment. The reader read cards at the rate of 200 per minute, while the card punch rate was 100 cards per minute. The DEUCE also had an 8192 word magnetic drum for main storage. To access any of the 256 tracks of 32 words, the drum had one group of 16 read and one group of 16 write heads, each group on independent moveable arms, each capable of moving to one of 16 positions. Access time was 15 milliseconds if the heads were already in position; an additional 35 milliseconds was required if the heads had to be moved. There was no rotational delay incurred when reading from and writing to drum. Data was transferred between the drum and one of the 32 word delay lines. The DEUCE could be fitted with paper tape equipment; the reader speed was 850 characters per second, while the paper tape output speed was 25 characters per second. (The DEUCE at the University of New South Wales {UTECOM} had a Siemens M100 teleprinter attached in 1964, giving 10 characters per second input/output). Decca magnetic tape units could also be attached. The automatic multiplier and divider operated asynchronously (that is, other instructions could be executed while the multiplier/divider unit was in operation). Two arithmetic units were provided for integer operations: one of 32 bits and another capable of performing 32 bit operations and 64 bit operations. Auto increment and auto decrement were provided on eight registers from about 1957. Array arithmetic and array data transfers were permitted. Compared with contemporaries such as the Manchester Mark 1, DEUCE was about ten times faster. The individual words of the quadruple registers were associated with an auto increment/decrement facility. That facility could be used for counting and for modifying instructions (for indexing, loop control, and for changing the source or destination address of an instruction). Being a serial machine, access time to a single register was 32 microseconds, a double register 64 microseconds, and a quadruple register 128 microseconds. That for a delay line was 1024 microseconds. Instruction times were: addition, subtraction, logical operations: 64 microseconds for 32 bit words; double precision 96 microseconds; multiplication and division 2 milliseconds. For array arithmetic and transfer operations, time per word was 33 microseconds per word for 32 words. Floating point operations were provided by software; times: 6 milliseconds for addition and subtraction, 5.5 milliseconds average for multiplication, and 4.5 milliseconds average for division. In the early machines, all instructions involving the magnetic drum were interlocked while an operation was in progress. Thus, if the read heads were moved, any subsequent magnetics operation such as to read a track or write a track, were prohibited from proceeding until the first had completed. From about 1957, a new unit, called "rationalised magnetics" was made available. This unit eliminated unnecessary interlocks. Thus, it was possible to execute an instruction that moved the read heads: if followed by an instruction to move the write heads, or to write a track, such instructions were not interlocked, and could proceed in parallel with moving the read heads. The front panel of the DEUCE featured two CRT displays: one showed the current contents of registers, while the other showed the content of any one of the mercury delay line stores. From about 1958, seven extra delay lines could be attached, giving 224 more words of high speed store. An IBM 528 combined reader–punch could be substituted for the Hollerith equipment, giving the same input/output speeds, in which case the machine was called Mark II. Automatic conversion of alphanumeric data to BCD was provided on input, and the reverse operation on output, for all eighty card columns. On this equipment, reading and punching could proceed simultaneously, if required, and thus could be used for reading in a record, updating it, and then punching an updated record simultaneously with reading in the next record. With the seven extra delay lines, the DEUCE was denoted Mark IIA.
Бағдарламалау
DEUCE бағдарламалау басқа компьютерлерден өзгеше болды. Кешіктіру желілерінің тізбектік табиғаты нұсқаулардың орындалу ретін талап етті, яғни бір нұсқау орындалғаннан кейін келесісі кешіктіру желісінен шығуға дайын болу керек еді. Жеке тіркеліштегі операциялар үшін келесі нұсқаудың орындалуына болатын ең ерте уақыт қазіргі нұсқаудан кейін 64 микросекундтан соң болды. Осылайша, нұсқаулар тізбекті орналасқан жерлерден орындалған жоқ. Жалпы, нұсқаулар бір немесе бірнеше сөзді көшіре алатын. Сондықтан әр нұсқау келесі нұсқаудың орналасқан жерін көрсететін. Оптималды бағдарламалау дегеніміз, әр нұсқау орындалғанда, келесісі кешіктіру желісінен шығуға дайын болуы керек. Нұсқаудың жадтағы орналасуы оңтайлы болмаса, өнімділікке елеулі әсер етуі мүмкін еді. Карта оқығыштан деректерді оқу нақты уақытта жүзеге асырылды – әр қатар оқу щеткаларынан өтетін кезде тоқтамай оқылуы керек еді. Картаны перфорациялау үшін де осы принцип сақталды; белгілі бір қатарға арналған сөз алдын ала дайындалды және картаның сол қатары перфорация пышақтарының астында болғанда дайын болуы керек еді. Оқу мен перфорациялаудың стандартты режимі екілік санау жүйесінде болды. Ондық сандарды енгізу және шығару бағдарламалық тәсілмен жүзеге асырылды. Жылдам жадта төрт 32 биттік бір сөздік тіркеліш, үш екі сөздік тіркеліш және екі төрт сөздік тіркеліш болды. Екі және төрт сөздік тіркеліштердің әр 32 биттік сөзіне жеке-жеке жүгінуге болады. Оларды жұп ретінде де, ал төрт сөздік тіркеліштерді үш немесе төрттік топ ретінде де қолдануға болады. Нұсқаулар жады он екі сынапты кешіктіру желісінен тұрды, әрқайсысы 32 сөзден тұрады және 1-ден 12-ге дейін нөмірленді. 11-ші желі (DL11) магниттік барабан мен жылдам жад арасындағы буферлік аймақ қызметін атқарды. "Деректерді ауыстыру машинасы" ретінде, деректерді бір сөзбен, сөздер жұбымен және бір уақытта 33 сөзге дейін ауыстыруға болады. Мысалы, барабаннан оқылған 32 сөзді кез келген басқа кешіктіру желісіне блок ретінде ауыстыруға болады; 4 сөзді бір төрт сөздік тіркеліштен екіншісіне немесе төрт сөздік тіркеліш пен кешіктіру желісі арасында бір нұсқаумен ауыстыруға болады. Кешіктіру желісінің 32 сөзін бір ұзындықтағы қосушыға жіберу арқылы (бір нұсқау арқылы) қосуға болады. DL10 пен 16-шы тіркеліш арасындағы арнайы байланыс арқасында DL10 төмен қарай жылжымалы стек ретінде пайдаланылуы мүмкін еді.
Programming the DEUCE was different from other computers. The serial nature of the delay lines required that instructions be ordered such that when one instruction completed execution, the next one was ready to emerge from a Delay Line. For operations on the single registers, the earliest time that the next instruction could be obeyed was 64 microseconds after the present one. Thus, instructions were not executed from sequential locations. In general, instructions could transfer one or more words. Consequently, each instruction specified the location of the next instruction. Optimum programming meant that as each instruction was executed, the next one was just emerging from a Delay Line. The position of instructions in the store could greatly affect performance if the location of an instruction was not optimum. Reading data from the card reader was done in real time – each row had to be read as it passed the read brushes, without stopping. Similarly for the card punch; the word for a particular row was prepared in advance and had to be ready when a given row of the card was in position under the punch knives. The normal mode of reading and punching was binary. Decimal input and output was performed via software. The high speed store consisted of four single word registers of 32 bits each, three double word registers, and two quadruple word registers. Each 32 bit word of the double and quadruple word registers could be addressed separately. They could also be accessed as a pair, and—in the case of the quadruple registers—as a group of three or four. The instruction store consisted of twelve mercury delay lines, each of 32 words, and numbered 1 to 12. Delay line 11 (DL11) served as the buffer between the magnetic drum and the high speed store. Being a "transfer machine", data could be transferred a word at a time, a pair of words at a time, and any number of words up to 33 at a time. Thus, for example, 32 words read from the drum could be transferred as a block to any of the other delay lines; 4 words could be transferred as a block from one quadruple register to the other, or between a quadruple register and a delay line—all with one instruction. The 32 words of a delay line could be summed by passing them to the single length adder (by means of a single instruction). By a special link between DL10 and one register, namely, register 16, DL10 could be used as a push down stack.
Өндіріс
Алғашқы үш машина 1955 жылдың көктемінде жеткізілді; 1958 жылдың соңында DEUCE Mark II жақсартылған моделі пайда болды. Бұл нұсқада карта оқу және перфорациялау біріктірілген. Бірлескен IBM 528 карта оқу құрылғысы және перфораторы бұрынғы DEUCE Mark I машиналарындағы Hollerith жеке құрылымдары сияқты жұмыс істеді; алайда, ол деректерді енгізу кезінде алфавиттік-цифрлық форматтан BCD форматқа, ал шығару кезінде кері форматқа аппараттық түрлендірумен де жабдықталған. Деректерді бір уақытта минутына 100 картадан оқуға және перфорациялауға болады. DEUCE Mark IIA жеті қосымша сынаптық кешіктіру желісімен жабдықталды, әрқайсысы 32 сөзден тұрады. 1955 жылдан 1964 жылға дейін барлығы 33 DEUCE машинасы сатылды, олардың екеуін қозғалтқыш өндіруші Bristol Siddeley сатып алды. DEUCE машинасының табысы 1000-нан астам бағдарлама мен қосалқы бағдарламалардан тұратын бағдарламалық кітапханасына байланысты болды.
The first three machines were delivered in the spring of 1955; in late 1958 a DEUCE Mark II improved model appeared. This version employed a combined card reader and punch. The combined IBM 528 reader and punch behaved like the separate Hollerith units on the earlier DEUCE Mark I machines; however, it was also provided with hardware conversion of alphanumeric data to BCD on input, and vice versa on output. Data could also be read in and punched simultaneously at 100 cards per minute. The DEUCE Mark IIA provided seven extra mercury delay lines, each of 32 words. A total of 33 DEUCE machines were sold between 1955 and 1964, two being purchased by the engine manufacturer Bristol Siddeley. The success of DEUCE was due to its program library of over 1000 programs and subroutines.