Основные этапы развития вычислительной техники
← 6.5. Контрольные вопросы и задания | 7.2. Архитектура ЭВМ → |
История науки и есть сама наука.
И. Гёте
Основные хронологические этапы развития вычислительной техники представлены в табл. 7.1.
Таблица 7.1.Основные этапы развития вычислительной техники
№ пп | Этап | Период развития |
Ручной | Не установлен | |
Механический | С середины XVII в. | |
Электромеханический | С 90-х гг. XIX в. | |
Электронный | С 40-х гг. XX в. |
Рассмотрим основные моменты каждого из этапов.
Более трех тысяч лет назад в Средиземноморье было распространено простейшее приспособление для счета: доска, разделенная на полосы, где перемещались камешки или кости. Такая счетная дощечка называлась абак и использовалась для ручного счета. В Древнем Риме абак назывался calculi или abaculi и изготавливался из бронзы, камня, слоновой кости и цветного стекла. Слово calculus означает «галька», «голыш». От этого слова произошло латинское слово calculatore (вычислять), а затем слово «калькуляция». Абак позволял лишь запоминать результат, а все арифметические действия должен был выполнять человек.
Первая механическая машина была построена немецким ученым Вильгельмом Шиккардом (предположительно в 1623 году). Машина была реализована в единственном экземпляре и предназначалась для выполнения арифметических операций. Из-за недостаточной известности машины Шиккарда более 300 лет считалось, что первую суммирующую машину сконструировал Блез Паскаль.
Блез Паскаль (французский математик, физик, религиозный философ и писатель) в 1642 году изобрел механическую счетную машину, выполнявшую сложение, а в 1674 году Готфрид Лейбниц расширил возможности машины Паскаля, добавив операции умножения, деления и извлечения квадратного корня. Специально для своей машины Лейбниц применил систему счисления, использующую вместо привычных для человека десяти цифр две: 1 и 0. Двоичная система счислений широко используется в современных ЭВМ.
Ни одна из этих машин не была автоматической и требовала непрерывного вмешательства человека. В 1834 году Чарлз Бэббидж (Charles Babbage) первым разработал подробный проект автоматической вычислительной машины. Он так и не построил свою машину — в то время невозможно было достичь требуемой точности изготовления ее узлов.
Ч. Бэббидж выделял в своей машине следующие составные части:
- «склад» для хранения чисел (по современной терминологии — память);
- «мельницу» для производства арифметических действий (арифметическое устройство, процессор);
- устройство, управляющее последовательностью выполнения операций (устройство управления);
- устройства ввода и вывода данных.
В качестве источника энергии для приведения в действие механизмов машины Ч. Бэббидж предполагал использовать паровой двигатель.
Ч. Бэббидж предложил управлять своей машиной с помощью перфорированных карт, содержащих коды команд, подобно тому как использовались перфокарты в ткацких станках Жаккара. На этих картах было представлено то, что сегодня мы назвали бы программой.
Ч. Бэббидж довольно подробно рассматривал вопросы, связанные, как мы сейчас говорим, с программированием. В частности, им была разработана весьма важная для программирования идея «условной передачи управления». Идеи Бэббиджа заложили фундамент, на котором со временем были построены ЭВМ.
Первые программы для вычислительной машины Бэббиджа создавала Ада Лавлейс (Ada Lovelace) — дочь известного поэта Джорджа Байрона, в честь которой впоследствии был назван один из языков программирования. Выражаясь современным языком, А. Лавлейс составила программу вычисления чисел Бернулли, разработала основные принципы программирования, которые остаются актуальными до настоящего момента времени.
Ряд терминов, введенных А. Лавлейс, используются и сейчас, например «цикл», «рабочие ячейки».
Теоретические основы современных цифровых вычислительных машин заложил английский математик Джордж Буль (1815—1864). Он разработал алгебру логики, ввел в обиход логические операторы И, ИЛИ и НЕ. (Заметим, что его дочь Э. Войнич — автор известного произведения «Овод».)
В 1888 году Германом Холлеритом (Herman Hollerith) была сконструирована первая электромеханическая машина для сортировки и подсчета перфокарт. Эта машина, названная табулятором, содержала реле, счетчики, сортировочный ящик. Изобретение Холлерита было использовано при подведении итогов переписи населения в США.
Успех вычислительных машин с перфокартами был феноменален. То, чем за десять лет до этого занимались 500 сотрудников в течение 7 лет, Г. Холлерит сделал с 43 помощниками на 43 вычислительных машинах за 4 недели.
В 1896 году Г. Холлерит основал фирму Computing Tabulation Company. Спустя несколько лет это предприятие переименовали в известнейшую теперь фирму International Business Machine Corporation (IBM).
Немецкий инженер Конрад Цузе (Konrad Zuse) был первым, кто успешно осуществил идею создания автоматической электромеханической вычислительной машины на основе двоичной системы счисления. В 1936 году он начал конструировать вычислительный аппарат, работающий в двоичной системе счисления, который впоследствии был назван Zuse 1 (Z1).
В 1941 году Цузе сумел построить действующую модель Zuse 3, которая состояла из 600 реле счетного устройства и 2000 реле устройства памяти.
В 1944 году(по другим источникам, в 1943 году) в Англии было разработано полностью автоматическое вычислительное устройство Colossus II. Основным его назначением была дешифровка перехваченных сообщений военного противника.
В том же году была построена еще одна полностью автоматическая вычислительная машина, изобретенная профессором Гарвардского университета Говардом Айкеном (Aiken Howard, 1900—1973) при участии группы инженеров фирмы IBM. Она была названа ASCC (другое название Mark 1) и была электромеханической (построена на реле), состоящей приблизительно из 750 тыс. компонентов. На умножение она тратила около 4 с. До знакомства с работами Цузе научная общественность считала машину ASCC первой электромеханической машиной.
В 1937 году в США Джордж Атанасов начал работы по созданию электронной вычислительной машины. Им были созданы и запатентованы первые электронные схемы отдельных узлов ЭВМ. Совместно с Клиффордом Берри к 1942 году была построена электронная машина ABC (Atanasoff-Berry Computer).
Электронная вычислительная машина, разработанная Преспером Эккертом и Джоном Маучли (John W. Mauchly и J. Presper Eckert, Jr.) в США в 1946 году, была названа ENIAC. При создании этой машины Эккерт и Маучли заимствовали основные идеи у Дж. Атанасова. ENIAC была примерно в 1000 раз быстрее, чем ASCC. Она состояла из 18 тыс. электронных ламп, 1500 реле, имела вес более 30 т., потребляла мощность более 150 кВт.
Фотография позволяет наглядно оценить прогресс вычислительной техники. Несколько человек находятся внутри ENIAC — современные ЭВМ уже можно разместить внутри человека.
Первоначально ENIAC программировалась путем соединения проводами соответствующих гнезд на коммутационной панели, что делало составление программы очень медленным и утомительным занятием. Американский математик и физик венгерского происхождения Джон фон Нейман (1903—1957) предложил хранить программу — последовательность команд управления ЭВМ — в памяти машины, что позволяло оперировать с программой так же, как с данными. Последующие ЭВМ строились с большим объемом памяти, с учетом того, что там будет храниться программа.
В докладе Дж. фон Неймана, посвященном описанию ЭВМ, выделено пять базовых элементов компьютера:
- арифметико-логическое устройство (АЛУ);
- устройство управления (УУ);
- запоминающее устройство (ЗУ);
- система ввода информации;
- система вывода информации.
Описанную структуру ЭВМ принято называть архитектурой фон Неймана.
ЭВМ первого поколения в качестве элементной базы использовали электронные лампы и реле.
Изобретение в 1948 году транзисторов и запоминающих устройств на магнитных сердечниках оказало глубокое воздействие на вычислительную технику. Ненадежные вакуумные лампы, которые требовали большой мощности для нагревания катода, заменялись небольшими германиевыми (впоследствии кремниевыми) транзисторами. Компьютеры, построенные в середине 50-х годов ХХ века, стали называть машинами второго поколения.
Революционный прорыв в миниатюризации и повышении надежности компьютеров произошел в 1958 году, когда американский инженер Д. Килби (Jack Kilby) разработал первую интегральную микросхему. В середине 1960-х годов появилось третье поколение ЭВМ, основу элементной базы которых составляли микросхемы малой и средней степени интеграции.
Другая революция в технологии изготовления ЭВМ произошла в 1971 году, когда американский инженер Маршиан Эдвард Хофф (Marcian E. Hoff) объединил основные элементы компьютера в один небольшой кремниевый чип (кристалл), который он назвал микропроцессором. Первый микропроцессор получил маркировку Intel 4004.
ЭВМ четвертого поколения строятся на интегральных микросхемах с большой степенью интеграции. На одном кристалле размещается целая микроЭВМ. Заметим, что переход от третьего поколения ЭВМ к четвертому не был революционным. Отличия коснулись не столько принципов построения ЭВМ, сколько плотности упаковки элементов в микросхемах.
Развитие ЭВМ идет по пути непрерывного повышения быстродействия, надежности, расширения функциональных возможностей, уменьшения габаритов и потребляемой мощности, упрощения правил работы на компьютере. Среди ЭВМ четвертого поколения появились персональные компьютеры (ПК или ПЭВМ), которые позволяют индивидуально работать каждому пользователю.
Первой ПЭВМ можно считать компьютер Altair-8800, созданный в 1974 году Э. Робертсом. Для этого компьютера П. Аллен и Б. Гейтс в 1975 г. создали транслятор с популярного языка Basic. Впоследствии Пол Аллен и Билл Гейтс создали известную компанию Microsoft.
В 1976 году Стивен П. Джобс и Стефан Г. Возниак основали в гараже Пало-Альто (Калифорния) предприятие Apple Computer. После 6 месяцев работы Возниаку удалось собрать действующий макет под названием Apple 1. Сейчас компания с таким названием хорошо известна многим пользователям ЭВМ.
В настоящее время ведется разработка ЭВМ пятого поколения, характерными особенностями которых будут способность к самообучению и наличие речевого ввода и вывода информации.
Таким образом, вычислительная техника постоянно впитывала в себя самые последние достижения науки, техники и технологии (электронные лампы, транзисторы, микроэлектроника, лазеры, средства связи), благодаря чему ее развитие идет необычайно высокими темпами.
В ХХI веке, когда на смену электронным приборам придут квантовые, оптические или биоэлектронные приборы, современные нам ЭВМ будут казаться будущим пользователям такими же м7.2. Архитектура ЭВМ
← 7.1. Основные этапы развития вычислительной... | 7.3. Принцип работы вычислительной системы → |
Электронная вычислительная машина (ЭВМ) — это устройство, выполненное на электронных приборах, предназначенное для автоматического преобразования информации под управлением программы.
Основные элементы электронной вычислительной машины (фон-неймановской структуры) и связи между ними показаны на рис. 7.1.
Рис. 7.1. Основные элементы электронной вычислительной машины
Процессор выполняет логические и арифметические операции, определяет порядок выполнения операций, указывает источники данных и приемники результатов. Работа процессора происходит под управлением программы.
При первом знакомстве с ЭВМ считают, что процессор состоит из четырех устройств: арифметико-логического устройства (АЛУ), устройства управления (УУ), блока регистров (БР) и кэш-памяти. АЛУ выполняет арифметические и логические операции над данными. Промежуточные результаты сохраняются в БР. Кэш-память служит для повышения быстродействия процессора путем уменьшения времени его непроизводительного простоя. УУ отвечает за формирование адресов очередных команд, т. е. за порядок выполнения команд, из которых состоит программа.
Программа — это набор команд (инструкций), составленный человеком и выполняемый ЭВМ. Команда обеспечивает выработку в УУ управляющих сигналов, под действием которых процессор выполняет элементарные операции.
Таким образом, программы состоят из команд, а при выполнении команд процессор разбивает команды на элементарные операции.
Элементарными операциями для процессора являются арифметические и логические действия, перемещение данных между регистрами процессора, счет и т. д.
Основная функция системной шины — передача информации между процессором и остальными устройствами ЭВМ. Системная шина состоит из трех шин: шины управления, шины данных и адресной шины. По этим шинам циркулируют управляющие сигналы, данные (числа, символы), адреса ячеек памяти и номера устройств ввода-вывода.
Сделаем образное сравнение работы системной шины с работой почты. По шине данных пересылаются письма в места, адреса которых указаны на шине адреса. Шина управления следит, чтобы письма при движении не мешали друг другу и перемещались по очереди. Под письмами нужно понимать операнды (данные и команды), которыми обмениваются отдельные блоки ЭВМ.
Память предназначена для записи, хранения, выдачи команд и обрабатываемых данных.
Существует несколько разновидностей памяти: оперативная, постоянная, внешняя, кэш, CMOS (КМОП), регистровая. Существование целой иерархии видов памяти объясняется их различием по быстродействию, энергозависимости, назначению, объему и стоимости. Многообразие видов памяти помогает снять противоречие между высокой стоимостью памяти одного вида и низким быстродействием памяти другого вида.
Память современных компьютеров строится на нескольких уровнях, причем память более высокого уровня меньше по объему, быстрее и в пересчете на 1 байт памяти имеет бóльшую стоимость, чем память более низкого уровня.
Регистровая память — наиболее быстрая (ее иногда называют сверхоперативной). Она представляет собой блок регистров (БР), которые размещены внутри процессора. Регистры используются при выполнении процессором простейших операций: пересылка, сложение, счет, сдвиг операндов, запоминание адресов, фиксация состояния процессора и т. д.
Наилучшим вариантом было бы размещение всей памяти на одном кристалле с процессором. Однако из-за существующих технологических сложностей изготовления памяти большого объема пришлось бы большое число микросхем отправить в брак.
Кэш-память по сравнению с регистровой памятью имеет больший объем, но меньшее быстродействие. В ЭВМ число запоминающих устройств с этим видом памяти может быть различным. В современных ЭВМ имеется два-три запоминающих устройства этого вида.
Кэш-память первого уровня располагается внутри процессора, а кэш-память второго уровня — вне процессора (на так называемой материнской плате).
В переводе с английского cache (кэш) означает «тайник», так как кэш-память недоступна для программиста (она автоматически используется компьютером). Кэш-память используется для ускорения выполнения операций за счет запоминания на некоторое время полученных ранее данных, которые будут использоваться процессором в ближайшее время. Введение в компьютер кэш-памяти позволяет сэкономить время, которое без нее тратилось на пересылку данных и команд из процессора в оперативную память (и обратно). Работа кэш-памяти строится так, чтобы до минимума сократить время непроизводительного простоя процессора (время ожидания новых данных и команд).
Этот вид памяти уменьшает противоречие между быстрым процессором и относительно медленной оперативной памятью.
Кэш-память первого уровня, которая размещается на одном кристалле с процессором, принято обозначать символами L1. Кэш-память, которая располагается на материнской плате (второй уровень), обозначается символами L2.
На структурной схеме показана только кэш-память L1. Энергозависимая память CMOS (КМОП-память) служит для запоминания конфигурации данного компьютера (текущего времени, даты, выбранного системного диска и т. д.). Для непрерывной работы этого вида памяти на материнской плате ЭВМ устанавливают отдельный малогабаритный аккумулятор или батарею питания.
Оперативное запоминающее устройство (ОЗУ) используется для кратковременного хранения переменной (текущей) информации и допускает изменение своего содержимого в ходе выполнения процессором вычислительных операций. Это значит, что процессор может выбрать из ОЗУ команду либо обрабатываемые данные (режим считывания) и после арифметической или логической обработки данных поместить полученный результат в ОЗУ (режим записи). Размещение новых данных в ОЗУ возможно на тех же местах (в тех же ячейках), где находились исходные данные. Понятно, что прежние команды (или данные) будут стерты.
ОЗУ используется для хранения программ, составляемых пользователем, а также исходных, конечных и промежуточных данных, получающихся при работе процессора.
В качестве запоминающих элементов в ОЗУ используются либо триггеры (статическое ОЗУ), либо конденсаторы (динамическое ОЗУ).
ОЗУ — это энергозависимая память, поэтому при выключении питания информация, хранившаяся в ОЗУ, теряется безвозвратно.
По быстродействию ОЗУ уступает кэш-памяти и тем более — сверхоперативной памяти БР. Но стоимость ОЗУ значительно ниже стоимости упомянутых видов памяти.
В постоянном запоминающем устройстве (ПЗУ) хранится информация, которая не изменяется при работе ЭВМ. Такую информацию составляют тест-мониторные программы (они проверяют работоспособность компьютера в момент его включения), драйверы (программы, управляющие работой отдельных устройств ЭВМ, например, клавиатурой) и др.
ПЗУ — энергонезависимое устройство, поэтому информация в нем сохраняется даже при выключении электропитания.
Перспективным видом постоянной памяти считается память с электрическим способом стирания и записи информации — FLASH-память, которая при острой необходимости позволяет перепрограммировать ПЗУ и тем самым оперативно улучшить характеристики ЭВМ.
Внешние запоминающие устройства (ВЗУ) предназначены для долговременного хранения информации. К ВЗУ относятся накопители на магнитной ленте (магнитофоны, стримеры), накопители на жестких дисках (винчестеры), накопители на гибких дисках, проигрыватели оптических дисков. ВЗУ по сравнению с ОЗУ имеют, в основном, больший объем памяти, но существенно меньшее быстродействие.
К устройствам ввода информации относятся: клавиатура, мышь, трекбол, джойстик, трек-пойнт, трекпад, сканер, сенсорный экран, световое перо, информационные перчатки, информационный костюм, шлем, джойстринг, диджитайзер, цифровая видеокамера, микрофон, датчики и др.
К устройствам вывода информации относятся: дисплей (монитор), принтер, плоттер, акустические колонки и др.
Модем выполняет функции и устройств ввода, и устройств вывода информации. Он позволяет соединяться с другими удаленными компьютерами с помощью телефонных линий связи и обмениваться информацией между ЭВМ. Модем на передаче превращает цифровые сигналы в звуки, а на приеме – наоборот.
Одной из плодотворных идей, положенных в основу персональных компьютеров, является открытость архитектуры. Согласно этой концепции, каждый пользователь может самостоятельно формировать конфигурацию своего компьютера по своему усмотрению. Это означает, что в зависимости от потребности пользователь может подключить к системной шине различные устройства: модем, звуковую плату, клавиатуру электромузыкального инструмента, плату телевизионного приемника и т. п. Открытость архитектуры позволяет легко модернизировать имеющийся компьютер, например, заменить винчестер на жесткий диск большего объема, или заменить процессор, увеличить объем оперативной памяти и т. д.
Общий принцип работы ЭВМ заключается в следующем. Из процессора на шину адреса (на структурной схеме она не показана и находится внутри системной шины) выдается адрес очередной команды. Считанная по этому адресу команда (например, из ПЗУ) поступает по шине данных (внутри системной шины) в процессор, где она выполняется с помощью АЛУ. Устройство управления процессора определяет адрес следующей выполняемой команды (фактически номер очередной ячейки памяти, где находится очередная команда). После исполнения процессором текущей команды на шину адреса выводится адрес ячейки памяти, где хранится следующая команда и т. д.
Сигналы, передаваемые по управляющей шине, синхронизируют работу процессора, памяти, устройств ввода и вывода информации.
Порядок выбора адресов из памяти (и очередности выполнения команд) определяет программа, которая может располагаться в ПЗУ, но чаще выполняемая в данный момент времени программа находится в ОЗУ. В линейных программах команды последовательно выбираются из очередных ячеек памяти. В разветвляющихся программах естественный порядок выбора адресов ячеек памяти может нарушаться. В результате может происходить переход (резкий скачок) к ячейке памяти, расположенной в любом месте ОЗУ. При одном наборе исходных данных переход происходит, а при другом наборе данных — перехода нет. По этой причине такие команды называют командами условной передачи управления.
Нередко при работе ЭВМ программа вводится с клавиатуры в ОЗУ. Затем процессор под управлением этой программы выполняет необходимые действия. Чаще управляющую программу загружают в ОЗУ с внешнего запоминающего устройства или по вычислительной сети. При выполнении загруженной программы ЭВМ запрашивает у пользователя необходимые данные и процессор после выполнения указанных в программе команд отправляет результат по системной шине на одно из устройств вывода информации.
Выполнение основной программы иногда может приостанавливаться для выполнения какого-то другого срочного задания, например для передачи данных на принтер. Такой режим работы, когда временно приостанавливается выполнение основной программы и происходит обслуживание запроса, называется прерыванием . По завершении обслуживания прерывания процессор возвращается к выполнению временно отложенной основной программы.
Запросы на прерывание могут возникать из-за сбоев в аппаратуре, переполнения разрядной сетки, деления на ноль, требования внешним устройством выполнения операции ввода информации и т. д. Например, при нажатии клавиши на клавиатуре возникает прерывание, обработка которого сводится к записи кода нажатой клавиши в буфер клавиатуры. Обслуживание прерываний осуществляется с помощью специальных программ обработки прерываний.
Очевидно, что устройство современной ЭВМ много сложнее рассмотренной здесь конструкции. На структурной схеме не изображены тактовый генератор, который подключен к процессору, адаптеры (или контроллеры), включенные между системной шиной и каждым устройством ввода-вывода, и другие блоки. Однако выбранный уровень детализации позволяет легче понять общий принцип работы ЭВМ.
Приведенный вид структурной схемы ЭВМ является фон-неймановской структурой, названной так в честь американского ученого венгерского происхождения фон Неймана.
Существуют и другие структуры, в частности многопроцессорные, позволяющие вести параллельную обработку данных с помощью нескольких процессоров. Так, самый быстрый в мире компьютер ASCI Red содержит более 9 тыс. процессора Pentium Pro.
Основные блоки ПЭВМ показаны на рис. 7.2.
Рис. 7.2. Основные блоки ПЭВМ
В системном блоке находится материнская плата (на ней располагаются процессор, ОЗУ, ПЗУ и др.), накопители на гибких, жестких и оптических дисках, внутренние модемы, сетевые, звуковые карты и др.
онстрами, какими нам кажутся вычислительные машины 40-х годов ХХ в.