Архитектура компьютера(Лекция и лабы) / Лек / Курс лекций Архитектура ЭВМ
Одним из обстоятельств, погубивших отечественную вычислительную технику, стало решение руководства СССР о копировании американской вычислительной техники и запуске в производство машины IBM-360 под названием Единая система «Ряд». С.А. Лебедев был противником такого подхода к научно-технической работе. Рассказывают, что, узнав об этом решении, он горько пошутил: «А мы сделаем чтонибудь из „Ряда“ вон выходящее!». И действительно, ИТМиВТ сохранил свою самобытную школу разработки и производства ЭВМ.
Старший научный сотрудник ИТМиВТ О.К. Щербаков, проработавший с С.А. Лебедевым 23 года, поделился своими воспоминаниями о том, как Сергея Алексеевича вызвали в ЦК, где ему было предложено вместо разработки собственных машин копировать иностранные ЭВМ, возглавив специально создаваемый центр. С.А. Лебедев отказался от предложения, чем вызвал недоумение министров тех лет. А сам Сергей Алексеевич свою позицию объяснил так: «Любая копия всегда хуже оригинала. Так зачем нам делать плохую копию, когда мы можем сделать отличный оригинал».
Международное признание пришло к нему много лет спустя после кончины. Международное компьютерное общество IEEE Computer Society удостоило С. А. Лебедева своей высшей наградой — медалью «Computer Pioneer Award» за выдающиеся новаторские работы в области создания вычислительной техники. На медали написано : «Сергей Алексеевич Лебедев. Разработчик и конструктор первого компьютера в Советском Союзе. Награжден в 1996».
Начнём с цитаты Дональда Кнута: "Это началось еще когда я был студентом последнего курса института Case Institute of Technology. Тогда только появилась книга Андрея "Программирование для БЭСМ", и мы, группа студентов, смогли убедить преподавателя русского языка включить ее в курс в качестве одного из двух сборников текстов для изучения научной лексики. Для нас это был замечательный опыт работы, поскольку многие технические компьютерные термины нельзя было найти в наших словарях, и даже преподаватель о некоторых из них раньше вообще не слышал!
Мы почувствовали, что видим настоящий русский язык в том виде, в каком он действительно используется в науке; книга произвела на нас намного более сильное впечатление, чем второй текст, в котором говорилось о спутниках и исследовании космоса. Эта книга не только помогла мне лучше освоить русский язык; из нее я узнал интересные алгоритмы оптимизации компилятора. На самом деле ранняя работа Андрея, которая послужила толчком к созданию этой важной области компьютерной науки, до сих пор вызывает интерес.
Его метод изложения материала также оказался весьма значимым: блок-схемы, представленные впервые в его книге, я впоследствии использовал для иллюстрации процесса выполнения программы в серии книг "Искусство программирования". Первая личная встреча с Андреем произошла на конференции рабочей группы IFIP, где готовился преемник языку Algol-60. К тому времени я знал, что Андрей <. > изобрел кэширование с линейным числом испытаний - важный алгоритм, изучение которого стало поворотным моментом в моей жизни, поскольку привело меня в область алгоритмического анализа".
Кнут здесь говорит конечно же про нашего русского гения Андрея Петровича Ершова, которого по праву можно считать первым программистом в мире (в современном толковании этого слова). Еще в 1953 году, будучи студентом мехмата МГУ, Андрей Ершов (ему было тогда 22 года) прослушал курс
лекций "Принципы программирования" А. А. Ляпунова, став, таким образом, одним из первых людей в мире, кто получил специальное программистское образование.
Андрея Ершова - еще студента - пригласил читать лекции по программированию для разработчиков Большой электронной счетной машины (БЭСМ) С. А. Лебедев.
В 1952 году молодой профессор А. А. Ляпунов начал вести курс обучения основам программирования на ЭВМ. Для Ершова, с его склонностью бросать интеллектуальный вызов, ляпуновская символика программирования, полная запрещающих знаков и мучительных условностей, должна была показаться как раз райски привлекательной.
Научная деятельность Алексея Андреевича в кибернетике началась с создания операторного метода программирования.
Ляпуновым было отмечено, что традиционные языки теории алгоритмов (машины Тьюринга, продукции Поста, нормальные алгоритмы Маркова и др.) хороши для исследования природы вычислимости, но непригодны для описания алгоритмов в форме, удобной для решения практических задач. Идея "крупноблочного" описания алгоритма, реализованная в операторном методе, открыла путь к новым формализациям понятия "алгоритм", и в этом выразился значительный вклад в теорию алгоритмов, сделанный Алексеем Андреевичем.
Его операторный метод содержал:
1) неформальное определение алгоритмического языка высокого уровня — языка логических схем; 2) проблематику программирования, где в первом ряду стояла проблема трансляции с языка высокого уровня на машинный язык — проблема построения программирующей программы; 3) основы теории схем программ, моделирующих программы, положившей начало теории программирования.
В языке логических схем были выделены элементарные акты — операторы и логические условия, и определены основные средства композиции операторов. Это был язык, позволивший описывать самые различные алгоритмы в форме, близкой к содержательному их представлению в конкретных предметных областях и вместе с тем — удобной для программирования.
Язык логических схем позволил говорить об общих приемах программирования. Операторный метод лег в основу многих отечественных учебных пособий по программированию, на нем выросло первое поколение программистов в нашей стране. Многие будущие создатели трансляторов с появившихся значительно позднее алгоритмических языков программирования выросли из разработчиков программирующих программ. Создание операторного метода было первым крупным научным открытием в теории и практике программирования.
Андрей Ершов участвовал в подготовке приемных испытаний БЭСМ, разработав в качестве теста программу обращения матриц. На основе анализа результатов управления БЭСМ А. П. Ершов и выпустил в 1958 году первую в мире монографию по автоматизации программирования, которая так порадовала Дональда Кнута.
Кстати, дружба с Кнутом длилась вплоть до самой смерти Ершова в 1988 году. Время от времени они встречались на различных конференциях. Самой памятной Дональд Кнут называет конференцию "Алгоритмы в современной математике и компьютерной науке", которая проходила в СССР, в узбекском городе Ургенче (бывшая столица Хорезма, где появился сам термин "алгоритм"), где они вместе с Ершовым были сопредседателями. Дональд Кнут назвал эту конференцию "паломничеством к святым местам".
Тесное сотрудничество Ляпунова и Ершова длилось более десятилетия, вплоть до их совместного переезда в новосибирский Академгородок, где их пути постепенно разошлись: Ляпунов основал кафедру в университете, а Ершов предпочел работу в Вычислительном центре Сибирского отделения АН СССР, возглавляемом Г. И. Марчуком — блестящим специалистом в области численного анализа (будущим заместителем премьер-министра СССР и президентом АН СССР). В Вычислительном центре Ершов был руководителем Отделения информатики.
Окончив в 1954 Московский университет (это был первый выпуск программистов с университетским образованием), Ершов до 1960 работал в Москве. В 1958 он был направлен в Англию на Теддингтонскую конференцию по механизации мыслительных процессов. Именно там он встретился с еще одним дебютантом на международной компьютерной сцене — Джоном МакКарти (создателем языка LISP). С годами эта встреча переросла в дружбу и сотрудничество, практически немыслимые в годы холодной войны. В 1965 году МакКарти посетил Ершова в Новосибирске; он был первым западным визитером, которому было позволено приехать. Спустя три года МакКарти провел там два месяца, обучая и общаясь со студентами и преподавателями.
Ершов был признанным лидером в области компьютерного программирования в Советском Союзе. Он был первым программистом, получившим престижную премию имени Крылова в области математики и ставшим членом-корреспондентом АН СССР в 1970, а в 1980 — ее действительным членом.
В 1970 году, выступая на всесоюзной конференции по программированию, проходившей в новосибирском Академгородке, А. П. Ершов огорошил компьютерную общественность тезисом о том, что компьютерная программа наконец-то стала товаром, что требует соответствующего отношения к ее создателю – программисту.
В 1972 г. профессор Ф. Л. Бауэр из Мюнхена написал книжку для детей ”Andrei und das Untier“ — введение в информатику, очаровательно иллюстрированную рисунками в стиле граффитти, выполненными на основе набросков сына Ершова Василия. Выбор имени главного персонажа книги и места действия — в городе “на полпути между Томском и Омском”, двумя сибирскими городами, оказался пророческим.
И вот в 1958 году 20 сотрудников лаборатории своими руками изготовили первый образец машины. И на десятый день наладки ЭВМ "Сетунь" заработала.
Помимо более простого проектирования троичной машины были составлены требования к характеристикам всех деталей и элементов, а необходимые параметры проверялись при помощи простых стендов. Так, как это делали в Intel Гордон Мур и Роберт Нойс. Все это создало условия, в которых ошибки своевременно устранялись на самых ранних стадиях. В результате машина представляла собой стойку 2,9х1,85х0,5 м (плюс съемные субблоки от ЭВМ М-20) и состояла из 6 функциональных устройств: арифметического, управления, ввода, вывода, оперативного и постоянного ЗУ.
Ввиду ненадежности ламповых элементов (транзисторные уже существовали, но тоже не отличались качеством) были применены магнитные логические элементы. Тактовая частота 200 кГц, потребляемая мощность 2,5 кВА, время выполнения сложения/вычитания 180 мкс, умножения 320мкс, передачи управления - 100 мкс. ОЗУ - 162 слова по 9 тритов. Магнитный барабан от ЭВМ Урал использован в качестве основного ЗУ, связанного с оперативной памятью постраничным обменом. Добавленная таким образом небольшая (фактически cash) память позволила увеличить производительность до 6 тыс. операций в секунду."Сетунь" задумывалась чтобы обеспечить возможность ее программного развития (было всего 24 команды). Теперь это называют RISCархитектурой (Reduced Instruction Set Computer). "Сетунь" была "естественной" машиной, без дополнительного кода для отрицательных чисел. К тому же это была машина с фиксированной и плавающей запятой. Освоить такую машину и программировать в машинном коде было ничуть не сложнее, чем осваивать Алгол или Фортран.
В 1959 году на "Сетуни" решались задачи математического моделирования в физике и химии, оптимизации управления производством, краткосрочных прогнозов погоды, конструкторских расчетов, компьютерного обучения, автоматизированной обработки экспериментальных данных и т. д. В астрофизическом институте Якутска "Сетунь" за 1,5 месяца смогла выполнить расчет, который в течение двух лет не могли поставить на большой ЭВМ "Урал-2".
Современная цифровая техника основана на двузначных сигналах и двухстабильных элементах памяти. Объекты, принимающие более чем два значения, реализуются как совокупности битов и байтов. По аналогии с битом и байтом в компьютерный язык введены слова трит и трайт. И если 1 байт равен 8 битам, то 1 трайт = 6 тритам (то есть 1 трайт = 6 тритам, около 1,585 байта). Однако 9- тритный трайт лишь немногим больше 8-битного байта, но уже достаточно велик, чтобы закодировать алфавит, включающий русские и латинские заглавные и строчные буквы, цифры, математические и служебные знаки. Почему? Просто число двухместных функций при двузначных переменных равно 16, а в случае трехзначных составляет 19683. Таким образом, благодаря некоторому усложнению элементов, составляющих троичную машину, удается упростить создаваемые из них структуры и увеличить скорость обработки данных.
Малая цифровая вычислительная машина "Сетунь-70" серийно не выпускалась. Она имела двухстековый троичный процессор с послоговым кодированием программ и данных (это была стековая машина вроде отечественных "Эльбрусов", но имела два стека - команд и операндов).
9 Вопросы к зачёту
Нулевое поколение - механические компьютеры Первое поколение - электронные лампы Второе поколение - транзисторы
Четвертое поколение - сверхбольшие интегральные схемы Вентили И, НЕ, ИЛИ Схема сумматора Память, защёлки Общая организация ЭВМ Принципы фон Неймана
Устройство управления (УУ) Арифметико-логическое устройство (АЛУ) Оперативная память. Назначение Интерфейсы IDE/SCSI
Принципы магнитной записи Способы кодирования данных при магнитной записи Принцип работы НЖМД Форматирование НЖМД Механизмы привода головок НЖМД
Сервопривод и сервокоды. Виды. Назначение.
Компакт диск. Впадины и площадки. Технологии производства. Компакт диск. Дорожки и секторы.
Компакт диск. Обработка ошибок. Компакт диск. Кодирование данных. DVD. Основные отличия от CD. CD-R. Технология записи.
CD-RW. Технология записи/стирания Флеш память. Принцип работы. ЖК дисплеи. Основные типы.
Плазменные панели. Принципы работы. Параллельные ЭВМ. Уровни парллелизма. Параллельные ЭВМ. Классификация Флинна. Мультипроцессоры. UMA/NUMA/COMA
Проблема согласованности кэшей в мультипроцессорных системах Протокол MESI