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

История создания и принципы построения цифровых вычислительных машин



История создания цифровых вычислительных машин

Первые попытки создания машин для проведения арифметических расчетов относятся к эпохе Возрождения. Леонардо да Винчи в начале XVI в. создал эскиз 13-разрядного суммирующего устройства с десятью зубчатыми кольцами. Хотя работающее устройство на базе этих чертежей было построено только в XX в., реальность проекта Леонардо полностью подтвердилась.

С XVII в. появляются уже реально работающие вычислительные машины; их главная особенность состояла в том, что алгоритмвы­полнения арифметических операций закладывался в само устройство. В 1623 г. немецкий ученый Вильгельм Шиккарди создал 6-разрядное механическое устройство, с помощью которого можно было складывать, и вычитать числа.

В 1642 г. французский философ и математик Блез Паскаль построил механическую 8-разрядную цифровую машину, способную суммировать числа с соответствующим увеличением разрядов. Она должна была об­легчить работу отца Паскаля - налогового инспектора. Проводить на такой машине вычисления с многозначными числами было достаточно сложно, но изобретенный Паскалем принцип связанных колес стал основой для конструирования вычислительных устройств на протяжении трех столетий.

В 1673 г. известный немецкий философ и математик Лейбниц изобрел механический калькулятор - более совершенную счетную машину, спо­собную выполнять все основные арифметические действия. Работающая на базе двоичной системы счисления машина могла складывать, вычитать, умножать, делить и извлекать квадратные корни.

В 1820 г. была выпущена первая промышленная партия цифровых счетных машин - арифмометров. В 1874 г. инженер из Петербурга В. Од-нер значительно усовершенствовал их конструкцию, предложив исполь­зовать для ввода чисел колеса с выдвижными зубьями (колеса «Однера»). Такой арифмометр позволял производить вычислительные операции со скоростью до 250 действий с четырехзначными цифрами в час.

Вполне возможно, что развитие цифровой техники вычислений ограничилось уровнем малых машин, если бы не открытие француза Жозефа Мари Жаккара, который в 1804 г. применил для управления ткацким станком для выработки крупноузорчатых тканей специальную карту с пробитыми в ней отверстиями (перфокарту). Машина Жаккара

программировалась при помощи целой колоды перфокарт, каждая из ко­торых управляла одним ходом челнока; при переходе к новому рисунку оператор должен был заменять одну колоду перфокарт другой. Вскоре это открытие попытались использовать для создания принципиально новой счетной машины, выполняющей вычислительные операции без вмешательства человека.

В 1830 г. Бэббидж разработал проект аналитической машины для выполнения разнообразных научных и технических расчетов. В этом проекте были предугаданы все основные устройства современной ЭВМ, включая прототипы периферийных устройств ввода и печати. В качестве носителей информации при ее вводе и выводе Бэббидж предлагал исполь­зовать перфокарты. Управление машиной должно было осуществляться программным путем. Уровень промышленной технологии, однако, тогда был еще недостаточно высок для реализации этого проекта; разработка машины так и не была завершена.

В середине XIX в. английский математик Джордж Буль в своей работе «Законы мышления» (1854 г.) заложил основы современной математиче­ской логики. Ее формальный аппарат (логика высказываний), известный теперь как алгебра Буля, лежит в основе любой системы автоматической обработки данных, прежде всего в использующих двоичный код ком­пьютерах.

В 1885 г. американский изобретатель Уильям Барроуз создал само­пишущий арифмометр- Машина Барроуза имела клавиатуру для ввода данных и печатное устройство для вывода результатов вычислений.

В 1888 г. сотрудник национального бюро переписи населения США инженер Герман Холлерит сконструировал первую электромеханическую счетную машину. Эта машина, названная табулятором, могла считывать и обрабатывать записи, закодированные в виде пробивок на перфокартах. Два года спустя это изобретение было использовано во время 11-й аме­риканской переписи населения. Успех новой вычислительной машины оказался феноменальным. То, чем за 10 лет до этого 500 сотрудников занимались в течение 7 лет, Холлерит на 43 вычислительных машинах, каждую из которых обслуживал всего один человек, сделал за 4 недели. Это изобретение вскоре получило широкое распространение в Европе; перфорационная техника стала систематически использоваться для ста­тистических исследований.

В 1930 г. американский ученый Ванневар Буш разработал большой электромеханический аналог компьютера - дифференциальный анализа­тор. Машина, способная манипулировать 18 независимыми переменными, стала предвестником бурного развития электронной вычислительной техники.

В 1937 г. Джордж Стибиц (США) впервые создал электромеханическое вычисляющее устройство, выполняющее операцию двоичного сложения - двоичный сумматор. Работа устройства базировалась на положениях ло­гики Буля, а роль логических вентилей играли электромеханические реле. Двоичный сумматор Стибица является в настоящее время неотъемлемой частью любой цифровой ЭВМ. В 1939 г. он же впервые организовал обмен информацией между вычислительным устройством и пользователями при помощи телетайпа.

В 1942 г. американский физик Джон Атанасофф и его коллега Клиф­форд Берри закончили работу над вычислительным устройством, рабо­тавшим на электронных лампах, которое получило название машины Атанасоффа-Берри. Она обеспечивала точность вычислений, в тысячу раз превышающую точность дифференциального анализатора Буша, счи­тавшегося в ту пору самым передовым вычислительным прибором. Не­которые идеи Атанасоффа не потеряли своей актуальности и по сей день (например, использование конденсаторов в запоминающих устройствах с произвольной выборкой, в том числе в оперативной памяти; регенерация конденсаторов; разделение памяти и вычислительного устройства).

Основываясь на идеях и изобретениях Беббиджа и Холлерита, группой американских инженеров во главе с Говардом Эйкеном в 1937-1943 гг. была спроектирована, а в 1944 г. представлена вычислительная машина под названием «Марк-1». Машина была основана на электромеханиче­ских реле и оперировала десятичными числами, закодированными на перфоленте. Она могла выполнять любую заданную последовательность из четырех арифметических действий (сложение, вычитание, умножение, деление), а также ссылаться на предыдущий результат без вмешательства человека. Для умножения двух 23-разрядных чисел ей было необходимо 4 секунды.

Программа обработки вводилась с перфоленты, так что машина могла управляться человеком с минимальной подготовкой. «Марк-1» в дальнейшем использовался Военно-морскими силами США для реше­ния различных задач оборонного характера.

Примерно в тот же период появились теоретические предпосылки и технические возможности для создания гораздо более совершенной машины, работающей на электронных лампах. В 1943 г. к ее разработке приступили сотрудники университета Пенсильвании (США) под руковод­ством Джона Мокли и Преспера Эккерта, с участием математика Джона фон Неймана. Результатом их совместных усилий стала первая универ­сальная вычислительная машина на электронных лампах, получившая на­звание ENIAC (1946 г.). Машина работала в двоичной системе счисления и производила 5000 операций сложения или 300 операций умножения в секунду. Ввод данных осуществлялся с помощью перфокарт.

В 1945 г. фон Нейман опубликовал «Предварительный доклад о машине ENLAC», в котором описывалась ее инженерная и логическая конструкция; это было первое изложение знаменитой «архитектуры фон Неймана», которая была положена в основу всех последующих моделей компьютеров.

В 1949 г. в Кембриджском университете (Англия) была создана первая ЭВМ с хранимой в памяти программой, получившая название EDSAC (Electronic Delay Storage Automatic Calculator - электронное вычисли­тельное устройство с памятью на линиях задержки). Все последующие ЭВМ работали по этому принципу. В том же году Джей Форрестер изо­брел магнитное запоминающее устройство; оно заменило гораздо более медленные, ненадежные системы хранения информации, применявшиеся в ранних компьютерах.

В 1951 г. Джон Мокли и Преспер Эккерт создали машину UNIVAC, предназначенную для коммерческих расчетов; первый ее экземпляр был передан в Бюро переписи населения США. Затем появились различные ее модификации, использовавшиеся во многих сферах деятельности. Можно сказать, что эта машина стала первым в мире серийным компьютером.

В России разработка современных компьютеров началась в 1947 г., и уже в 1951 г. под руководством академика С. А. Лебедева была создана первая советская ЭВМ, получившая название МЭСМ.

Принципы построения и структура ЭВМ

Несмотря на большое разнообразие типов ЭВМ, все они построены на основе принципов фон Неймана, сформулированных им в 40-х годах XX в.:

1) принцип двоичного кодирования. Машина должна работать не в десятичной системе счисления (как механические арифмометры), а в двоичной. Это означает, что как программа, так и данныедолжны быть записаны в кодах двоичной системы, где каждое число или символ представляется определенной комбинацией нулей и единиц;

2) принцип программного управления. Это означает, что программадолжна состоять из набора команд, которые выполняются процессором автоматически в определенной последовательности;

3) принцип однородности памяти. Как программы, так и данныехранятся в одних и тех же ячейках памяти. ЭВМ не различает, что хранится в конкретной ячейке - число, текст или команда. С командами можно производить такие же действия, что и с данными;

4) принцип иерархии памяти. Чтобы работать достаточно быстро,

5) память компьютера должна быть организована по иерархическому принципу, то есть состоять по крайней мере из двух частей: быстрой памяти небольшой емкости (оперативной) и более емкой (а потому и более медленной) внешней;

6) принцип адресности. Структурно основная память машины должна состоять из пронумерованных ячеек, причем процессору в произвольный момент времени должна быть доступна любая ячейка.

Согласно фон Нейману, любая ЭВМ должна включать четыре основ­ных блока - процессор, оперативную память, внешнюю память и ком­плекс устройств ввода-вывода (рис. 2):

Процессор - это устройство, обеспечивающее обработку данных по заданной программе; в его функции также входит обмен данными и ко­мандами между различными устройствами, входящими в ЭВМ.

Процессор может обрабатывать только программы и данные, нахо­дящиеся непосредственно во внутренней памяти машины, реализован­ной в виде набора запоминающих устройств (ЗУ), то есть устройств, способных записывать данные и сохранять их для последующего счи­тывания. Внутренняя память обычно состоит из оперативной памяти

Рис.2. Структурная схема ЭВМ

(оперативного запоминающего устройства, ОЗУ) и постоянной памяти (постоянного запоминающего устройства, ПЗУ).

Оперативная память предназначена для хранения программ и данных и последующей передачи их другим устройствам ЭВМ в процессе обра­ботки. ОЗУ обеспечивает чтение находящихся в нем программ и данных и записьв него новой информации. ПЗУ же позволяет выполнять только чтение находящихся в нем программ и данных.

Внешняя память предназначена для долговременного хранения про­грамм и данных.

Устройства ввода-вывода обеспечивают ввод, корректировку и вы­вод программ и данных, представленных в различной (не обязательно двоичной) форме.

Эта схема, широко использовавшаяся в первых вычислительных машинах, имела один существенный недостаток: управление вводом-вы­водом и выполнение команд осуществлялось одним устройством управ­ления. При такой структуре ЭВМ все виды программной обработки на время выполнения операций ввода-вывода прекращались из-за занятости процессора, что существенно снижало быстродействие машины.

Рис. 3. Структурная схема ЭВМ с автономным устройством ввода-вывода

Для устранения этого недостатка в схему был включен дополни­тельный компонент - каналввода-вывода; это устройство, обеспечива­ющее прямое взаимодействие процессора и периферийных устройств (рис. 3).

Существовало два типа каналов:

мультиплексный - для обеспечения взаимодействия с относительно низко с корсетным и устройствами ввода и вывода информации (осу­ществлявшими чтение с перфокарт и перфолент, печатающими устрой­ствами и т.п.); этот каналможет одновременно обслуживать несколько устройств;

селекторный - для обеспечения высокоскоростного обмена инфор­мацией (чтение с магнитных дисковых, ленточных, барабанных и т.п. накопителей), который может одновременно обслуживать только одно устройство.

Каналы обеспечивали не только независимый доступ к памяти, но и автономное управление операциями ввода-вы вод а. Таким образом, в ЭВМ были унифицированы принципы обмена информацией с любыми внешними устройствами.

Совершенствование элементно-технологической базы привело к определенным изменениям в принципах проектирования вычислитель­ной техники. Появились ЭВМ, основанные на идеях параллельной и конвейерной обработки информации. Наибольшее распространение по­лучил вариант обмена информацией между устройствами через общую магистраль (так называемую «шину»); структура таких ЭВМ получила название шинной (рис. 4).

В состав таких машин входят те же функциональные устройства: про­цессор (включающий арифметически-логическое устройство и устрой­ство управления), память, устройства ввода-вывода. Все они связаны между собой с помощью шины данных (используемой для передачи данных), шины адреса (для передачи адресов при обращении к различным устройствам) и шины управления (для передачи команд).

Память ЭВМ и принципы ее работы

Оперативное запоминающее устройство обеспечивает чтение находя­щихся в нем данных и записьв него новых данных; в нем также хранятся команды программ, в соответствии с которыми производится обработка данных. ОЗУ представляет собой совокупность пронумерованных ячеек памяти; номер каждой ячейки называется ее адресом. Управляющая схема ОЗУ позволяет обращаться к произвольной ячейке памяти путем указания ее адреса. Объем оперативной памяти характеризуется количе­ством ячеек, содержащихся в ней.

ОЗУ не предназначено для длительного хранения программ и данных. Оперативная память является энергозависимой, то есть информация, находящаяся в ней, сохраняется только при обеспечении непрерывного питания от сети. При случайном падении напряжения или полном от­ключении от сети содержимое ОЗУ теряется.

Принципиальная схема оперативного запоминающего устройства изо­бражена на рис. 5. Входы и выходы ЗУ подключены к шине управления, адресной шине и шине данных. По шине управления сообщается тип про­изводимой операции (считывание из памяти или записьв нее). Сигналы, подаваемые на адресную шину, определяют область памяти, из которой (в которую) ведется считывание (запись). По шине данных передается считанная (записываемая) информация. Каждая ячейка памяти содержит 8 битинформации (1 байт).

При считывании данных из памяти некоторая внешняя по отношению к ОЗУ система (например, процессор) выставляет на шине управления сигнал 0, сообщая таким образом, что должна производиться операциясчитывания. Кроме того, эта внешняя система помещает на адресную шину некоторое значение в двоичной системе счисления, соответству­ющее номеру интересующего ее байта. Тем самым запоминающему устройству сообщается, что требуется считать байт информации из ячейки с указанным номером. Дешифратор адреса однозначно определяет соот­ветствующую ячейку памяти и значение ее разрядов выводится на шину данных. В результате содержимое указанного байта (например для ячейки N-3 равное 00101110) появится на шине данных.

Процессор

Рис. 4. Структурная схема ЭВМ с шинной архитектурой: / -управление вводом;2 — адрес порта; 3 - ввод данных; 4 - управление чтением-записью; 5 - адрес памяти; б - данные; 7 - управление выводом; 8 - адрес порта; 9 - вывод данных

При записи в память на шину управления подается сигнал 1, на адресную шину и шину данных - значение адреса ячейки и записыва­емый байт. Дешифратор адреса определяет соответствующую ячейку, в которую и записывается значение, выставленное внешним устройством на шину данных.

Действующее таким образом устройство называется памятью с произвольной выборкой. Это означает, что значения, последовательно поступающие на адресную шину, совершенно не обязательно должны сле­довать в каком-то определенном порядке. Иными словами, адреса ячеек памяти могут иметь произвольные значения при каждом последующем обращении к ОЗУ; требуемые данныебудут записаны вне зависимости от порядка адресов.

Запоминающие устройства не различают типов хранимых данных. Начинающие пользователи, зная, что в памяти хранятся команды и об­рабатываемые данные, могут ошибочно полагать, что хранимая в памяти команда вызывает выполнение некоторого действия. В действительности и команды, и данные являются только группами битов (байтами), которые записываются и считываются по соответствующей команде. Функция же запоминающего устройства состоит в том, чтобы поставить в соот­ветствие каждому байту данных некоторый адрес независимо от того, содержит ли этот байт обрабатываемые данные или часть команды.

Постоянное запоминающее устройство функционирует аналогично запоминающему устройству с произвольным доступом с той лишь раз­ницей, что его содержимое всегда остается неизменным. Содержимое ПЗУ не может быть изменено в результате работы процессора и других устройств ЭВМ. Иначе говоря, постоянное запоминающее устройство (в соответствии с названием) предназначено только для считывания хранимых в нем данных.

Чаще всего в ПЗУ хранят микропрограммы процессора, с помощью которых он выполняет различные операции низкого уровня (например, операцию умножения чисел, представляющую собой совокупность команд сложения и сдвига, операции ввода-вывода и др.). Постоянное запоминающее устройство используется в ЭВМ также для хранения программ, выполняемых всякий раз в автоматическом режиме после включения электропитания.

После отключения питания в ПЗУ сохраняются данные, записанные («зашитые») в него при изготовлении. Напротив, записанные в оператив­ную память данные после выключения машины теряются.

Рис. 5. Считывание данных из запоминающего устройства

Принципы работы процессора

Наиболее важной составной частью вычислительной машины яв­ляется процессор - устройство, осуществляющее непосредственное выполнение команд, содержащихся в программах, а также координа­цию действий всех остальных систем машины. Процессор выполняет следующие функции:

управляет работой всех других компонентов компьютера;

выбирает команды и обрабатываемые данныеиз основной памяти (ОЗУ);

декодирует команды;

выполняет арифметические, логические и другие операции, закоди­рованные в командах;

передает данныемежду процессором и оперативной памятью, а также между процессором и устройствами ввода-вывода;

обрабатывает сигналы, поступающие от устройств ввода-вывода (в том числе так называемые прерывания).

Таким образом, процессор представляет собой устройство, предна­значенное для выполнения некоторого набора операций по обработке данных и управления процессом этой обработки. Задания процессору на выполнение операций записываются в виде команд. Каждая команда содержит все сведения, необходимые процессору для ее выполнения (в общем случае это код операции, информация о том, где хранятся ис­ходные данныеи о том, куда следует поместить полученный результат). Это значит, что выполнять обработку данных процессор может только при наличии заранее составленной программы.

В состав процессора, как минимум, входят устройство управления (УУ), арифметико-логическое устройство (АЛУ) и набор регистров.

Устройство управления обеспечивает скоординированную работу всех компонентов компьютера с помощью импульсных сигналов, посы­лаемых на соответствующие входы этих компонентов; кроме того, УУ может получать ответные сигналы. Физически устройство управления представляет собой электронную микросхему, на вход которой поступают коды подлежащих выполнению операций, а на выходе формируются се­рии управляющих сигналов, подаваемых в нужные точки компьютера.

Арифметико-логическое устройство предназначено для исполнения арифметических и логических операций с произвольными данными. Основу АЛУ составляет операционный блок - цифровое электронное устройство, которое может настраиваться на выполнение различных операций и непосредственно осуществлять их. Настройка операционного блока на конкретную операцию и правильная последовательность шагов по ее выполнению обеспечиваются с помощью сигналов, поступающих отУУ.

Регистром называется устройство, предназначенное для временного хранения информации в форме двоичного числа. Запоминающим элемен­том в регистрах процессора является триггер, который может находиться в одном из двух состояний. Одно из них соответствует двоичному нулю, другое - двоичной единице.

В общем случае регистр содержит несколько связанных друг с дру­гом триггеров - по одному на каждый разряд запоминаемого двоичного числа. Общее число триггеров в регистре называется его разрядностью. Например, регистр из 8 триггеров - это 8-разрядный, или 8-битный регистр (так как каждый триггер обеспечивает хранение только одного бита информации).

В отличие от оперативной памяти, для которой содержимое ячеек безразлично, процессор различает данныеи команды. Некоторые бай­ты, считанные из памяти, процессор интерпретирует как команды, и в соответствии с их содержанием начинает производить те или иные дей­ствия. Другие байты воспринимаются им как данные, которые должны подвергаться обработке или передаче другому устройству (например, записываться в определенную ячейку памяти или пересылаться для вы­вода на экран дисплея).

Некоторые регистрыв процессоре могут использоваться не только для хранения информации, но и для ее преобразования; такие регистры называются управляемыми. Например, управляемый регистр может осуществлять замену всех хранящихся в нем двоичных единиц нулями, а нулей -— единицами (операцияинвертирования кода), прибавление единицы к числу, хранящемуся в регистре, вычитание единицы и т. п. Операции над числом, хранящемся в таком регистре, реализуются с по­мощью управляющих сигналов от УУ.

Многие регистрыимеют специализированные функции. Так, суще­ствуют регистр-аккумулятор, программный счетчик, регистр команд, регистр адреса памяти и др. Так, аккумулятор входит в АЛУ и предна­значен для хранения одного из операндов перед выполнением операции или для кратковременного запоминания результата операции. Регистр адреса команд (счетчик команд, программный счетчик) служит для формирования и запоминания адреса очередной выполняемой команды. После выполнения каждой команды программный счетчик уже содержит адрес следующей команды, по которому она хранится в ОЗУ.

Регистр адреса памяти служит для запоминания адреса команды, операнда или результата операции во время извлечения (чтения) коман­ды или операнда из памяти или записи результата операций в память. Этот регистр может входить в состав не процессора, а элементов памяти компьютера.

Регистр команд используется для хранения кода текущей выполня­емой команды. Входящий в него код операции используется, как уже отмечалось, для формирования в УУ определенной серии управляющих сигналов. Оставшаяся часть кода команды обычно содержит информацию об адресах операндов, участвующих в ее выполнении.

Изменить роль специализированных регистров или даже узнать их содержимое программным путем нельзя; эти регистры, как говорят, про­граммно-недоступны. Но в состав процессора входят и программно-до­ступные регистры, которые программист может использовать по своему усмотрению. Их состав и назначение различны в разных типах процес­соров, однако среди них почти всегда имеются регистр слова состояния процессора (РССП) и несколько регистров общего назначения (РОН).

Регистр слова состояния процессора хранит информацию о со­стоянии процессора и выполняемой им программе в каждый данный момент времени. В частности, в РССП обычно запоминаются признаки результата выполнения команды (отрицательный, нулевой, переполнение разрядной сетки и т.п.). Таким образом, хотя РССП и предназначен для выполнения особых функций, с помощью соответствующих команд, за­ложенных в программу, можно читать его содержимое и даже частично изменять его.

Регистры общего назначения (РОН) не предназначены для выполне­ния какой-либо особой функции; программист может задействовать их так, как считает нужным. Например, результат выполнения некоторой ко­манды можно не сохранять в оперативной памяти, а временно запомнить в каком-нибудь РОНе с тем, чтобы позднее, в другой команде, использовать результат. Чтобы отличать РОНы друг от друга, им присваивают уникаль­ные имена (или номера), на которые и ссылается программа.

Рассмотрим функционирование про­цессора более подробно. На первом этапе процессорного цикла очередная команда считывается из памяти (рис. 6, пять основных блоков между пуском и остановом процессора). Часто команды состоят из нескольких байтов, и, чтобы считать ее целиком, может потребоваться несколько обращений к памяти. Длину команды можно определить по содержи­мому первого байта. Если необходимо читать следующий байт, на адресную шину поступает увеличенное на единицу содержимое регистра адреса; из памяти считывается следующий байт и заносит­ся в очередной байт регистра команд. Процесс повторяется до тех пор, пока вся команда не будет считана в регистр команд процессора.

Рис.6. Обобщенный алгоритмфункционирования процессора

Естественно, может возникнуть вопрос: «Откуда процессору известно, что в адресуемой области памяти содержится именно команда?» В действительности процессор этого «не знает». Запоминающее устройство построено так, что в нем отсутствуют средства указания типа хранимой информации. Поэтому разработчики вычислительных машин так выбирают значение начального адреса, чтобы он всегда указывал на выполняе­мую команду. Эта команда, как и некоторые другие, помещается в ПЗУ машины, откуда процессор (сразу после запуска компьютера) и считывает первую команду для исполнения. Вслед за начальной командой помеща­ются другие, необходимые на старте; в конце концов, после выполнения серии команд, заложенных в машину разработчиками, управление пере­дается программам, загружаемым в память пользователем.

В любом случае - как по программе первоначальной загрузки, так и по командам пользовательских программ - действия процессора под­чиняются описанному выше алгоритму. Процессор функционирует в циклическом режиме; на первом этапе цикла команды выбираются из памяти и управляют его работой. Обрабатываемые данныесчитываются на втором этапе цикла в соответствии с типом команды, выбранной на первом этапе. Затем циклповторяется, причем процессор всегда извлекает из памяти следующую по порядку команду, если только не встретилась команда перехода; в этом случае на первом этапе цикла из памяти из­влекается команда, адрес которой был определен командой перехода, выбранной в предыдущем цикле.

Система прерываний

Использование шинного интерфейса позволяет организовать взаи­модействие основных устройств на равноправных началах и их коорди­нацию. С учетом способности процессора обрабатывать информацию существенно быстрее всех остальных устройств, а также возможности их автономной работы была создана и внедрена в структуру центральной части персонального компьютера так называемая система прерываний; она и обеспечивает координацию действий всех устройств. Прерывание — это реакция процессора на некоторое условие, возникающее в самом процессоре или вне его.

Программные прерывания возникают в процессе выполнения про­грамм (например, в случае деления на нуль или переполнения регистров). Аппаратные прерывания инициируются, когда какое-либо внешнее устройство требует специфической реакции процессора. В обоих случаях формируется управляющий сигнал по линии прерывания, с указанием на определенную ячейку внутренней памяти. Содержимым этой ячейки является адрес команды, которая должна выполняться сразу же после воз­никновения сигнала прерывания. Адрес команды, которая выполнялась бы при отсутствии прерывания, запоминается; к нему происходит возврат по завершении действий, связанных с обработкой прерывания.

Область внутренней памяти, в которой хранятся адреса команд, вы­полняемых при появлении сигналов прерываний, называется таблицей векторов прерываний. Каждое прерывание имеет уникальный номер (от 0 до 255); с ним связана определенная программа, призванная раз­решить возникшую проблему. Таким образом, система прерываний по­зволяет обрабатывать нестандартные ситуации с помощью специально разработанных для этого программ, после чего процессор возвращается к выполнению прерванной программы.

Система управления прямым доступом

Наряду с другими операциями, процессор может осуществлять обмен данными между оперативной памятью и внешними устройствами. Во многих случаях это делать нецелесообразно, поскольку процессор во время такого обмена часто простаивает и не может заниматься чем-либо другим. Поэтому в компьютерах была предусмотрена система, позволяющая обеспечивать внешним устройствам прямой доступ к ОЗУ без его участия. На то время, пока эти устройства пишут в память или читают из нее, процессор освобождается для другой деятельности.

Оперативная память компьютера имеет лишь одну шину данных и одну шину адреса; поэтому физически невозможно обеспечить одно­временный доступ к памяти процессору и какому-то другому устройству. Фактически процессор и система управления прямым доступом работают с ОЗУ поочередно, используя сигналы прерывания. С этой целью устройство посылает сигнал в процессор по линии запроса на раз­решение прямого обмена данными с памятью и в ответ должно получить подтверждение по соответствующей линии. Очень часто из-за разницы в скорости работы процессору приходится ждать, когда освободится внутренняя память; но в целом такой подход гораздо эффективнее, чем полный простой процессора во время очень медленных операций обмена данными с внешними устройствами,

Принцип открытой архитектуры

Компьютеры с закрытой архитектурой разрабатывались исходя из того, что все компоненты машины должны быть спроектированы для работы друг с другом; при этом не предусматривалась возможность опе­ративной замены или добавления новых устройств, создаваемых другими производителями.

В августе 1981 г. фирма IBM выпустила первый персональный ком­пьютер, положивший начало современной информационной революции. Каждый из его компонентов в отдельности не отличался особой новизной; решающую роль сыграла принципиально новая архитектура системы.

Передовым шагом стало введение в конструкцию материнской платы ПК.разъемов расширения для подключения к системной шине дополни­тельных устройств, создаваемых независимыми разработчиками. Такой подход был назван принципом открытой архитектуры. Фактически фирма IBM перенесла на ПК модульный принцип построения ЭВМ. Преимущества подобного подхода очевидны:

нет необходимости в замене системы в целом, если возможно ее обновление «по частям» (особенно если учесть, что разные блоки ПК устаревают с разной скоростью);

совершенствование ПК становится задачей самого пользователя, ко­торый, работая в конкретной области применения, лучше представляет себе, что требуется от системы;

процесс ремонта и модернизации предельно упрощается: достаточно открыть корпус, извлечь плату расширения и заменить ее на другую.

Для реализации данного подхода все производители должны были соблюдать единый стандарт при разработке устройств, располагающихся на материнской плате и платах расширения. Это потребовало, в частно­сти, соблюдения принципа обратной совместимости - все последующие версии конкретного устройства должны уметь работать в режиме своих предшественников. Вскоре появилось большое количество фирм, которые занялись выпуском дополнительных плат, расширяющих возможности компьютера, купленного в стандартной конфигурации. В результате уже с середины 80-х годов начался лавинообразный рост объемов выпуска ПК, совместимых с оригинальной моделью (ШМ-совместимых компьютеров), что, в свою очередь, привело к быстрому падению цен на них. Началась эпоха массовой компьютеризации.





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



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