Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Система Speedcoding



У цей час в інших місцях були розроблені імперативні системи, що розширювали машинну мову, доповнюючи її діями над числами з плаваючою крапкою. Прикладом такої системи може служити система Speedcoding, розроблена Джоном Бекусом для комп'ютера IBM 701 (Бекус, 1954). Інтерпретатор системи Speedcoding ефективно перетворював 701-й комп'ютер у віртуальну трьохадресну обчислювальну машину, яка виконує дії над числами з плаваючою крапкою. Система містила в собі псевдокоманди, які виконують чотири арифметичні операції над числами з плаваючою крапкою, а також такі операції, як добування квадратного кореня, обчислення синуса, арктангенса, експоненти і логарифма. Умовні і безумовні переходи і перетворення введення-виведення також були частиною віртуальної архітектури. Для того щоб уявити собі обмеженість подібної системи, візьміть до уваги те, що після завантаження інтерпретатора залишалося всього 700 слів доступної оперативної пам'яті, і команда додавання двох чисел вимагала 4,2 мілісекунди на її виконання. З іншого боку, система Speedcoding містила таку нову можливість, як автоматичне збільшення індексних регістрів. В апаратному забезпеченні ця можливість не реалізовувалася аж до появи в 1962 році комп'ютерів UNIVAC1107. Завдяки наявності таких властивостей множення матриць у системі Speedcoding можна було виконати, застосувавши всього 12 команд. Бекус стверджував, що задача, на програмування якої в машинних кодах піде два тижні, при використанні системи Speedcoding може бути вирішена за кілька годин.

4.2.3. Система "компіляції" UNIVAC

Між 1951 і 1953 роками команда, очолювана Грейс Хопер (Grace Hopper), створила на комп'ютері UNIVAC серію "компілюючих" систем, названих А-0, А-1 і А-2, в основі яких лежали машинні коди, які реалізують псевдокоди, аналогічно тому, як мова ассемблера реалізує макроси. Вихідна програма, написана на псевдокоді для цих "компіляторів", була ще занадто примітивною, хоча це вже було значним удосконаленням у порівнянні з машинним кодом, оскільки зробило вихідні програми коротшими. Незалежно від цієї команди в 1952 році подібний підхід був запропонований Уілксом (Wilkes).

4.2.4. Суміжна робота

Практично в той же час були розроблені й інші засоби полегшення програмування. У Кембріджському університеті Девид Дж. Уілер (David J. Wheeler) розробив метод використання блоків переміщуваних адрес для часткового розв’язку задачі абсолютної адресації (Wheeler, 1950), а пізніше Моріс В. Уілкіс (Maurice V. Wilkes) (також у Кембріджу) втілив цю ідею при розробці програми ассемблера, що могла б поєднувати обрані підпрограми і розподіляти пам'ять (Wilkes et al., 1951, 1957). Це було дійсно важливе і фундаментальне досягнення.

Крім того, ми повинні згадати, що мови ассемблера, які зовсім відрізнялися від описаних псевдокодів, хоча й еволюціонували протягом початку 1950-х років, але на розробку мов високого рівня не зробили істотного впливу.

4.3. Комп'ютер IBM 704 і мова FORTRAN

Безумовно, одне з найбільших досягнень в обчислювальній техніці зобов'язано своєю появою впровадженню в 1954 році комп'ютера IBM 704, оскільки можливості саме цієї машини підштовхнули до розробки мови FORTRAN. Можна стверджувати, що якби не корпорація IBM зі своїм комп'ютером IBM 704 і мовою FORTRAN, то дуже скоро з'явилася б яка-небудь інша організація, яка має подібний комп'ютер і відповідну мову високого рівня. Проте, першою була все-таки корпорація IBM, яка не тільки передбачала такий розвиток подій, але і знайшла ресурси для того, щоб взятися за цю справу.





Дата публикования: 2015-09-18; Прочитано: 354 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...