Конспект лекций для специальностей 23020165 Информационные системы и технологии, 08080165 Прикладная информатика в экономике Шахты 2011г

Вид материалаКонспект

Содержание


Структура ЭВМ с позиций цифрового автомата.
Четырехадресные команды
Одноадресные команды
Б КОП езадресные команды
Для указания адреса в любых командах может быть использована как прямая, так и косвенная адресация.
Уровни функционирования ЭВМ
Режимы работы процессора
Разработка устройств управления ЭВМ
Устройства управления на базе жесткой логики.
Способы кодирования микрокоманд.
1. Горизонтальное микропрограммирование
2. Вертикальное микропрограммирование
3. Смешанное микропрограммирование
К недостатку следует отнести сложность блока формирования управляющих сигналов, поскольку он должен содержать несколько дешифрат
Управление адресом микрокоманды
1. Структурная схема устройства управления при одно форматной
Структурная схема устройства управления при двухформатной
1. Подключение ПУ по системе индивидуальных шин
2 ША ШД ШУ . Подключение периферийных устройств по системе коллективных шин.
4.Прерывание работы процессора.
...
Полное содержание
Подобный материал:
  1   2   3   4   5   6   7   8   9   10   11


Министерство образования и науки Российской Федерации

ГОУ ВПО Южно-Российский государственный технический университет (НПИ)

Шахтинский институт


Кафедра «Информационные технологии и управление»


В.А. Зуев


АРХИТЕКТУРА ЭВМ И СИСТЕМ


Конспект лекций


для специальностей 23020165 Информационные системы и технологии, 08080165 Прикладная информатика в экономике


Шахты 2011г


ЛЕКЦИЯ 1


Архитектура и структура ЭВМ.


Прообразом цифровых вычислительных машин с программным управлением можно считать ткацкие станки восемнадцатого века. Это были станки с числовым программным управлением, на которых ткались сложные рисунки, задаваемые программой на перфокартах. Принципиально нет никакой разницы в том, что выполняется механическими частями таких автоматов : новый материальный объект или новые знания. Механические арифмометры разной сложности уже были известны. Их авторами были Паскаль (1642 г.) и Лейбниц (1674 г.). Однако только Бэббиджу в 1822 году пришла мысль соединить арифмометр с перфокартным устройством управления. В 1833 году он приступил к изготовлению, как он сам назвал, аналитической машины. Она не только выполняла сложные вычисления, но и сохраняла промежуточные результаты на перфокартах. Таким образом, его машина обладала не только вычислителем, но и памятью. Сложность устройства не позволили ему завершить ее изготовление. Идеи Бэббиджа намного опередили свое время. Возможности программирования в кодах таких автоматов исследовала дочь поэта лорда Байрона - Ада Лавлейс. Ее можно считать первой программисткой в мире. В ее честь назван один из современных алгоритмических языков.

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

В 1936 году математик Тьюринг теоретически исследовал возможности дискретных вычислительных автоматов и доказал, что на них можно реализовывать любой алгоритм.





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

Первая универсальная вычислительная машина релейно-механического типа с перфолентой в качестве носителя информации "Марк-1" была установлена в Гарвардском университете в 1944 году. В 1946 году в Пенсильванском университете была установлена машина ЭНИАК, в которой вместо реле использовались радиолампы. Однако быстрый вычислитель еще больше показал недостатки общего потока команд и данных и медленной перфоленты в качестве носителя.

В 1946 году Нейманом была совершена революция в области вычислительной техники. Он предложил принцип предварительного ввода и хранения программы в памяти ЭВМ. Данные, будучи отделены от программы, также вводились в свое место в памяти. Нейманом также были предложены такие понятия, как ячейка памяти и ее адрес.




Ранее команда имела вид:


Нейман предложил:

К этому времени сложились основные принципы построения универсальных ЦВМ. Эти принципы следующие.
  1. Принцип программного управления как основа построения автоматически действующих ЦВМ.
  2. Принцип условного перехода, обеспечивающий гибкость и универсальность программ.
  3. Принцип хранимых в памяти программы и данных, что обеспечивает высокую скорость вычислений, не зависящую от скорости ввода и, кроме этого, независимость программы от данных, так как в программе используются лишь адреса размещения данных.
  4. Использование двоичной системы счисления для представления команд и данных на аппаратном уровне и других систем на пользовательском уровне.
  5. Использование в ЦВМ многоуровневой (иерархической) памяти. Этот принцип обусловлен трудностью реализации единого запоминающего устройства, сочетающего большую информационную емкость, быстроту и удобство доступа с приемлемой стоимостью.



Первая ЭВМ Неймана "EDVАC" была выполнена в 1952 году. В России первая ЭВМ "МЭСМ" начала работу в 1950 году. В ее создании принимали участие такие ученые как С.А.Лебедев, А.И.Берг, В.М.Глушков.

При описании ЭВМ следует различать такие понятия как структура и архитектура ЭВМ.

Структура ЭВМ - это информация о том, из каких элементов состоит ЭВМ и как они соединены. Это аппаратная характеристика ЭВМ.

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

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

В Гарвардском университете предложена модификация неймановской архитектуры.


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

В настоящее время наиболее распространены машины, которые имеют одну общую память. Единицей измерения объема памяти является байт, то есть восемь разрядов. Максимальный объем памяти в байтах равен Vmax=2n , где n - число разрядов в адресе. Под ячейкой обычно понимается число разрядов, которое читается из памяти за одно обращение.

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


Структура ЭВМ с позиций цифрового автомата.


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


Процессор


1


2



1,3,6,8,11

9

7


1,3,6,9,11







4,7

У – множество управляющих сигналов.

Х – множество осведомительных (проверяемых) сигналов.


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


Чтобы представить функции ОЧ, УЧ и ИЧ процессора, предположим, что в памяти ЭВМ уже загружены команды программы и данные. Необходимо запустить программу (которых в памяти может быть несколько), то есть заставить выполниться первую команду программы (остальные будут выполняться автоматически). При этом будет выполняться следующая последовательность действий.
  1. В УЧ в регистр адреса команды заносится адрес первой (пусковой) команды программы. Это выполняет человек-оператор, так как только он знает, куда в памяти была загружена программа.
  2. Занесение адреса не приводит к автоматическому запуску. Для этого необходимо выработать сигнал ПУСК, например, нажав соответствующую клавишу. Дальнейшие действия в ЭВМ будут выполняться автоматически.
  3. УЧ приказывает ИЧ выставить на системной шине (СШ) сигналы: на шине адреса (ША) - адрес команды, на шине управления (ШУ) - ЧТЕНИЕ ОСНОВНОЙ ПАМЯТИ (ЧТ ОП).
  4. ОП опознает сигналы на СШ и выдает на ШД содержимое ячейки, то есть команду.
  5. УЧ принимает команду и начинает ее дешифрацию. Допустим, что это команда прибавления содержимого какой-то ячейки ОП к предыдущей сумме, следовательно, необходимо прочитать эту ячейку.
  6. УЧ приказывает ИЧ выставить на системной шине (СШ) сигналы: на шине адреса (ША) - адрес операнда, на шине управления (ШУ) - ЧТЕНИЕ ОСНОВНОЙ ПАМЯТИ (ЧТ ОП).
  7. ОП опознает сигналы на СШ и выдает на ШД содержимое ячейки, то есть операнд.
  8. УЧ приказывает ИЧ переслать операнд в ОЧ процессора, точнее, на вход сумматора.
  9. УЧ вырабатывает для ОЧ такие управляющие сигналы, которые заставляют ОЧ выполнить операцию, соответствующую коду операции, то есть сложение.
  10. УЧ проверяет осведомительные сигналы из ОЧ, например, на предмет установления признака переполнения новой суммы. Если возникло переполнение, то УЧ обычно прекращает дальнейшее выполнение программы и вырабатывает аварийный сигнал. Допустим, переполнение не возникло. Тогда УЧ продолжает анализ кода команды и обнаруживает, например, признак записи результата по другому адресу и организует ее выполнение.
  11. УЧ приказывает ИЧ выставить результат на ШД, выставить адрес записи на ША и сигнал ЗАПИСЬ В ОП на ШУ.
  12. ОП выполняет операцию записи.
  13. УЧ формирует в регистре адреса команды адрес следующей команды и переходит к выполнению пункта 1(см. выше).



ЛЕКЦИЯ 2


Структура команд ЭВМ


Команда – это двоичное число, отдельные части которого указывают, какую операцию необходимо произвести (код операции) и над какими операндами (адреса операндов), если команда операционная.

Команда имеет операционную часть и адресную часть.





В зависимости от того, сколько адресов используется в команде, они подразделяются на несколько видов.


Четырехадресные команды используются в специализированных ЭВМ, а также на микрокомандном уровне. Она имеет следующую структуру.


АК \


Здесь АК означает адрес текущей команды, содержимое которой указано справа. Действия, выполняемые командой, можно условно описывать следующим образом.

3) : = (A1)*(A2) - означает, что содержимое первого адреса оперирует с содержимым второго адреса и результат записывается по третьему адресу.

АКследующей : = А4 - означает, что естественный порядок выполнения команд не используется и следующей будет выполняться команда с адресом А4.

Преимущество такой структуры: команды не обязательно должны образовывать непрерывный массив. Недостаток: большая длина команды и большой объем памяти для размещения программ.


Более распространены трехадресные команды.






АКтек \


Если команда операционная, то ее выполнение можно описать следующим образом.

3) : = (А1)*(А2), АКследующей : = АКтекущей + , где  - длина команды.

В общем случае АКследующей : = Ф(КОП, А1, А2, А3).

Трехадресную структуру используют в машинах БЭСМ, IBM.


Базовой является двухадресная структура.





Ее действия описываются как А1(2) : = (А1)*(А2), АКследующей : = АКтекущей + , где  - длина команды. Для команд перехода АКследующей : =Ф(КОП, А1, А2), чаще АКследующей : = Ф(КОП, А2 ).


Одноадресные команды


АК \


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

(АК)*(А) АК,А; АКследующий : = АКтекущий + ;

или АКследующий : = Ф(КОП, АК, А), если команда перехода.

Преимущества: короткая команда, простота ее дешифрации. Недостатки: увеличение длины программы и ее объема.


Б
КОП
езадресные команды
содержат лишь

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


Для указания адреса в любых командах может быть использована как прямая, так и косвенная адресация.

При прямой адресации адрес в команде является непосредственным адресом операнда или перехода. Если команда операционная, то это адрес ячейки ОП или номер регистра, где находится операнд. Прямо адресуемый объем зависит от числа разрядов в адресе, указанном в команде. Если число разрядов равно k, то 2k будет числом прямо адресуемых ячеек ОП или числом программно доступных регистров, где размещается сам операнд. Число k не велико - в машинах с разной архитектурой оно колеблется в пределах 3-5 разрядов.

Косвенно адресуемый объем зависит от разрядности ячеек или регистров, используемых в команде, так как в них указывается не сам операнд, а адрес его хранения. Например, если регистры имеют 32 разряда, то в них можно указать адрес ячейки памяти объемом до 4 Гигабайт. Что касается числа разрядов в ячейке памяти, то оно условно, так как зависит от единицы измерения и способов доступа к памяти. Часто считают, что ячейка памяти - это минимальное число единиц памяти (байтов), которое читается из нее за один цикл обращения.

В качестве примера структур команд реальных ЭВМ можно привести структуру двухадресной команды машины фирмы DEC с архитектурой PDP.




Здесь код операции (КОП) имеет 4 разряда, метод адресации (МА) - 3 разряда и номер регистра ( Р ) тоже 3 разряда. Отсюда следует, что число различных операций с такими командами не может быть более 16, число различных методов адресации равно 8, число программно доступных регистров общего назначения ( РОН-ов) тоже равно 8.

Структуры команд машин INTEL значительно сложнее и будут рассмотрены далее.


Уровни функционирования ЭВМ


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

Из этой схемы следует, что выдаваемые транслятором ЕХЕ-файлы не являются окончательными и пригодными для реализации на аппаратном уровне. Они дорабатываются операционной системой. В частности, она настраивает программу на размещение в определенном месте оперативной памяти, приводит команды ввода\вывода к машинному виду, подключает обработчики прерывания. В итоге, все команды приобретают окончательный вид в двоичной системе счисления, пригодный для реализации на схемах.




Режимы работы процессора


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





На временной диаграмме видно, что программа состоит из команд. При каждом нажатии кнопки “Пуск” выполняется одна команда. Обычно время выполнения одной команды занимает несколько машинных тактов, во время которых выполняется микропрограмма команды. Каждая микрокоманда микропрограммы выполняется за один машинный такт. Микрооперации, используемые при выполнении микрокоманды, могут быть совместимыми или несовместимыми. Несовместимые микрооперации (которые не могут выполняться одновременно) должны выполняться в разных микротактах микрокоманды. Разнесение во времени несовместимых микроопераций достигается путем использования промежуточных синхроимпульсов.




Например, микрооперации гашения счетчика и добавления единицы не совместимы. Если, все же, их нужно выполнить в одном машинном такте, то сначала нужно выполнить, например, микрооперацию МО7 сброса счетчика по синхроимпульсу СИ0, а затем микрооперацию МО5 "+1" по СИ1.




МО – микрооперация. В логическом смысле -

это 1/0, в схемотехническом - 5/0 вольт.


Разработка устройств управления ЭВМ


С точки зрения теории автоматов, ЭВМ – это вычислительный автомат. Так как ЭВМ – автомат, то он состоит из двух частей: ОУ – операционного устройства и УУ – устройства управления.




Y – множество управляющих сигналов.

Y=y1, y2 ... yk.

Х - множество осведомительных сигналов.

X=x1, x2 ... xk.


ЭВМ – синхронный автомат, поэтому он переключается по синхроимпульсам .

Существуют два вида автоматов: автомат Мура и автомат Мили.

Если автомат - Мили, то он описывается следующими функциями :

Yi = AXi, Qi, Qi+1 = BXi, Qi, где A – функция выходов от переменных Xi (проверяемые сигналы) и Qi (код состояния автомата). Здесь i – номер такта, в котором вырабатывается множество управляющих сигналов. B – это функция переходов, которая определяет код состояния автомата в следующем такте. A и B в математическом плане – это логические выражения, логические формулы, по которым строится аппаратная часть автомата.

Для построения ЭВМ наибольшее применение имеют автоматы Мура, у которых множество управляющих сигналов есть функция только кода состояния автомата. Автомат Мура описывается функциями : Yi =A Qi, Qi+1 = BXi, Qi.

Устройство управления на базе автомата Мили еще называют устройством управления с жесткой логикой, а устройство управления на базе автомата Мура называют устройствами управления с программируемой логикой.


Устройства управления на базе жесткой логики.


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




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


ЛЕКЦИЯ 3


Устройство управления на базе программируемой логики.


Этот тип устройства управления относится к автоматам Мура. Упрощенная такого УУ представлена на рисунке ниже.





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

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


Ниже представлена структурная схема микропрограммного устройства управления.





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


Способы кодирования микрокоманд.


Кодирование операционной части микрокоманды.


Микрокоманда, как и команда, имеет две части :




Операционная часть содержит информацию о том, какие микрооперации должны быть выполнены в операционной части процессора в данном такте. Адресная часть указывает на то, каким должен быть адрес следующей микрокоманды. Это отличает от адресной части команды, которая обычно указывает на адреса операндов.

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


1. Горизонтальное микропрограммирование


Этот способ микропрограммирования представлен на рисунке.




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


2. Вертикальное микропрограммирование


На рисунке видно, что в этом случае в операционной части микрокоманды указывается код одной микрооперации (КМО).




Как известно из теории кодирования, если число кодируемых объектов ( данном случае - микроопераций) равно N, то число разрядов в коде может быть равно LogN, то есть существенно меньше. Для формирования управляющих сигналов необходим один дешифратор. Таким образом, при этом способе кодирования активным всегда будет только один из сигналов Yi.

Достоинства этого способа: уменьшается длина микрокоманд, уменьшается объем памяти микрокоманд. Недостаток этого способа заключается в том, что длина микропрограмм, реализующих тот же самый алгоритм, возрастает, а следовательно, возрастает число тактов необходимых для его выполнения .


3. Смешанное микропрограммирование


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