
Учебное_пособие_по_Схемотехнике / =В + Т= Введение
.doc
Федеральное агентство по образованию
Архангельский государственный технический университет
И. И. Василишин,
кандидат технических наук
схемотехника
машинных команд
учебное пособие
Архангельск
2007
УДК 004.31 : 621.38
ББК 32.973 В19
Рассмотрено и рекомендовано к изданию методической комиссией
Института информационных технологий
Архангельского государственного технического университета
25 мая 2007 г.
Рецензенты:
С. Б. Писарев, зав. кафедрой проектирования электронных средств
СПбГУТ им. проф. М. А. Бонч-Бруевича, д-р техн. наук;
кафедра автоматизированной обработки информации и телемедицины
СГМУ, г. Архангельск
Василишин, И.И.
В19 Схемотехника машинных команд: учеб. пособие / И. И. Василишин. Архангельск: Арханг. гос. техн. ун-т, 2007. 165 с.
ISBN 9785261003540
В пособии изложены как математические основы синтеза функциональных узлов схемотехники, так и приведены методики, позволяющие на основании необходимых требований получить минимальные уравнения для реализации принципиальных схем комбинационных и последовательностных устройств. Указаны основные требования для формирования системы машинных команд микропроцессора. Рассмотренные методики синтеза логических и цифровых узлов схемотехники, совместно с требованиями к системе машинных команд, позволяют выполнить построение принципиальной схемы микропроцессора произвольной степени сложности.
Предназначено для студентов направления 230201 «Информационные системы и технологии», очной и заочной форм обучения. Может быть использовано техническими специалистами при синтезе вычислительных узлов.
И
УДК 004.31 : 621.38
ББК 32.973
Утверждено к изданию Учёным советом
Архангельского государственного технического университета
ISBN
9785261003540
Архангельский государственный
технический университет, 2007
Василишин,
И.И., 2007
Оглавление
-
Предисловие …………………………………………………..…
4
Введение ……………………………………………………….....
5
Глава первая. Математические основы синтеза
функциональных узлов ………………………………………….
9
1.1. Основы булевой алгебры ……………………………….
9
-
1.2. Преобразование логических функций …………………
16
1.3. Логические базисы ………………………………..……
22
Глава вторая. Комбинационные функциональные узлы …….
24
2.1. Логические элементы ……………………………….…
25
2.2. Синтез комбинационных узлов …………….…………
30
2.3. Стандартные комбинационные узлы …………….……..
38
Глава третья. Триггеры ……………………………..….………
67
3.1. Стандартный элемент памяти ……………………...…..
69
3.2. Основные структуры триггеров …………………….…
74
3.3. Методика синтеза триггеров ……………………..……
81
Глава четвёртая. Последовательностные
функциональные узлы ….………..……….……….……..………
95
4.1. Генераторы кодов ………………..…….……….………..
97
-
4.2. Конечные автоматы …………………………..…….…
106
4.3. Регистры ……………………….……………….………
113
Глава петая. Структура машинных команд ……….….….….
116
5.1. Характеристики машинных команд ………….…….…….
117
5.2. Система машинных команд ……….……….……………
119
5.3. Адресация машинных команд ……………….…………
123
5.4. Кодирование машинных команд …………..……………
127
5.5. Язык микроопераций ………………..……….……………
136
5.6. Микрокомандное управление ……..…….……….………
141
Глава шестая. Синтез микропроцессора ………….…….……….
147
6.1. Функциональные блоки микропроцессора ……..….….
149
6.2. Структурный синтез микропроцессора …….….…...….
156
Список рекомендуемой литературы . …………….…………
164
предисловие
В процессе программирования многим студентам, обучающимся по специальности «Информационные системы и технологии», затруднительно представление прохождения вычислительных процессов на уровне команд языка ассемблера, которые являются мнемоническими обозначениями машинных команд. Для более глубокого осмысления студентами каждой машинной команды создана новая дисциплина «Схемотехника машинных команд», которая объединяет три дисциплины «Схемотехника», «Периферийные устройства» и частично «Программирование на языке низкого уровня» и в то же время расширяет их включением синтеза вычислительного узла микропроцессора по заданным уникальным исходным данным.
Формирование системы кодирования машинных команд позволяет в полной мере разработать формирование микрокомандного управления при исполнении каждой машинной команды, что обеспечивает, наряду со схемотехнической оптимизацией эффективный синтез принципиальной схемы микропроцессора.
В основу настоящего пособия положены лекции, читаемые автором по дисциплинам «Схемотехника» и «Периферийные устройства».
Автор надеется, что широта и подробность изложения делают данное учебное пособие полезным для студентов изучающих вычислительные процессы на уровне схемотехнического исполнения машинных команд.
Введение
Схемотехника машинных команд это научно-техническая дисциплина, изучающая теоретические методы построения вычислительных систем посредством придания кодам управляющих команд требуемых качеств с последующим синтезом оптимальных принципиальных схем на их основе. Использование машинных команд, обладающих определёнными качествами, позволяет усовершенствовать архитектуру, повысить производительность, надёжность и другие характеристики при построении вычислительных систем.
В вычислительных системах для формализованного описания характеристик их функционирования, в зависимости от требуемой степени детализации вычислительной структуры, используются различные языки. Наличие формализованных языков описания структур и функционирования вычислительных систем позволяет компьютеризировать решение задач обучения, оптимизации проектирования, проверки работоспособности при помощи тестирования и т. д. Иерархическая структура языков описания показана на рисунке.
Рассмотрим краткую характеристику каждого из языков, описывающих функционирование вычислительных систем, в соответствии с их иерархией:
-
язык дифференциальных уравнений, определяет характеристики процессов изменений токов и напряжений в цепях принципиальных схем, состоящих из транзисторов, диодов, резисторов и других дискретных элементов;
-
язык булевых функций, определяет как внешние, так и внутренние логические состояния («0» или «1») отдельных комбинационных и последовательностных устройств, состоящих из логических элементов и триггеров;
-
язык микроопераций, определяет последовательность элементарных действий преобразования данных на уровне операционного блока, состоящего из совокупности комбинационных и последовательностных устройств (регистров RG, счётчиков, сумматоров SM и др.);
-
язык машинных команд, однозначно определяет месторасположение операндов, над которыми выполняется действие;
-
языки высокого уровня, отображают вычислительный процесс в компьютере (вычислительной системе) на уровне программ;
-
языки статистического моделирования, позволяют выполнить анализ функционирования вычислительных систем при воздействии случайных факторов (сбоев, отказов, интенсивности запросов и др.).
Существующие шесть уровней языков формализованного описания вычислительных систем позволяют использовать каждый из них на соответствующем этапе, а именно:
-
на этапе проектирования:
-
язык дифференциальных уравнений при разработке принципиальных электрических схем элементной базы;
-
язык булевых функций при разработке принципиальных электрических схем отдельных логических и цифровых устройств;
-
язык микроопераций при формировании совокупности действий, выполняемых определёнными узлами за один тактовый интервал сигналов синхронизации;
-
язык машинных команд при создании программных модулей диагностирования и загрузки для вычислительной системы;
-
на этапе внедрения:
-
язык машинных команд при создании управляющих и технологических программных модулей для вычислительной системы;
-
языки высокого уровня при создании операционных систем, прикладных программ;
-
на этапе эксплуатации:
-
язык машинных команд при создании драйверов, операционных систем, программ для работы в режиме реального времени;
-
языки высокого уровня при создании программ пользователя.
Языки машинных команд представляют исходную исполняемую программу непосредственно в виде последовательности двоичных цифр единственно возможного способа задания команд для исполнения вычислительного процесса. К их достоинствам можно отнести:
-
достижение наивысшей гибкости вычислений;
-
программирование на основании использующейся системы команд;
-
отсутствие трансляторов.
Основной недостаток машинного языка представление всех команд программы цифрами, что затрудняет написание и отладку.
Алгоритмические языки высокого уровня представляют исходную исполняемую программу в привычном для человека виде. К их достоинствам можно отнести:
-
естественное для человека представление вычислительного процесса;
-
достаточное удобство и простоту при программировании;
-
независимое использование от состава ассемблерных команд.
Основным недостатком языков высокого уровня является обязательное использование транслятора для представлений программ в машинном языке. В свою очередь, при трансляции не всегда достигается требуемая эффективность при ограниченных объёмах памяти и/или времени исполнения программы. Кроме того, языки высокого уровня не позволяют в полной мере использовать технические возможности состава ассемблерных команд.
Языки ассемблера представляют исходную исполняемую программу из последовательности операторов, каждый из которых содержит эквивалент машинного кода. На языке ассемблера практически всегда формируются программы для систем реального времени и операционных систем, к которым предъявляются высокие требования по скорости выполнения и/или накладываются ограничения на занимаемый объем памяти.
К достоинствам языков ассемблера можно отнести:
-
достижение гибкости технических возможностей вычислений, аналогичной машинному языку;
-
использование простого транслятора из языка ассемблера в машинный язык;
-
использование макрокоманд.
Основным недостатком языков ассемблера является привязанность каждого из них к определённому составу ассемблерных команд.
Языки ассемблера в общей иерархии занимают промежуточное положение между машинными языками и языками высокого уровня, объединяют основные достоинства двух языков, но при этом значительно больше соответствуют машинным языкам.