- •1. Структура и принцип функционирования эвм
- •2. Назначение и структура одноадресной эвм
- •3. Кодирование программ и система команд
- •4. Форматы команд и способы адресации
- •5. Выполнение машинных команд
- •6. Микропрограммный уровень эвм
- •7. Микропрограммное устройство управления Структура
- •8. Работа алу
- •9. Микрокоманды
- •10,13. Варианты построения микрокоманд
- •11. Организация шин в микропроцессорах и микропроцессорных системах
- •12. Стандартная структура шины
- •14. Выполнение микропрограмм
- •15. Временная диаграмма работы шины
- •16. Сигналы подтверждения окончания цикла. Совмещение адресной шины и шины данных, побайтная запись-чтение
- •18. Методы повышения быстродействия динамической памяти
- •19. Способы передачи информации
- •20. Способы передачи информации по линиям
- •21. Дистанционная связь
- •22. Контроллеры ву
- •23. Параллельная передача данных
- •24. Параллельный прием данных
- •25. Синхронный последовательный прием данных
- •26. Синхронная последовательная передача данных
- •27. Асинхронная последовательная передача данных
- •28. Асинхронный последовательный прием данных
- •29. Организация прерываний
- •30. Организация прерываний с программным опросом готовности
- •31. Организация прерываний с использованием векторов прерываний
- •32. Организация пдп с захватом цикла
- •33. Организация памяти. Адресная, стековая, ассоциативная память
- •34. Динамические озу. Структура и принцип работы
- •35. Управление работой динамического озу
3. Кодирование программ и система команд
Все операции в ЭВМ выполняются над электрическими сигналами, закодированными двоичной цифрой 0 или 1. Поэтому перед занесением в память данные и команды должны быть вручную или аппаратно преобразованы в двоичную форму. Однако при написании программы команды могут быть записаны в любой другой форме. В общем случае программа может кодироваться четырьмя способами: в двоичной, восьмеричной, шестнадцатеричной и символической или мнемонической форме.
Двоичная форма команды. Эта форма является единственной, которую понимает машина. Каждой ЭВМ присуща система команд в двоичном коде, которая понятна ей. Регистр команд, куда помещается команда из памяти, связан электрическими цепями с устройством управления ЭВМ, где производится декодирование команды и инициируются сигналы по реализации команды.
Восьмеричное и шестнадцатеричное кодирование. Записывать программу в двоичном коде очень неудобно и утомительно, если учесть, что средняя по сложности программа состоит из нескольких сотен или тысяч нулей и единиц. Для сокращения записи целесообразно использовать систему счисления с основанием 23 = 8 или 24=16. Выбор для кодирования команд той или иной системы счисления в основном связан с форматом команд ЭВМ. В нашем случае удобнее шестнадцатеричная система, так как большинство полей в командах базовой ЭВМ равно или кратно 4.
Мнемоническое (символическое) кодирование. Шестнадцатеричное (или восьмеричное) кодирование имеет очевидное преимущество перед двоичным. Однако для длинных программ и оно неудобно. Программист должен выучить наизусть шестнадцатеричные коды всех команд, использующихся в машине (в некоторых ЭВМ их более сотни). Чтобы упростить процесс написания, отладки и чтения программы, предложен мнемонический или символический код: каждая команда представляется простым двух-, трех- или четырехбуквенным мнемоническим символом. Мнемонические символы значительно легче связать с машинными операциями, так как их можно выбирать таким образом, чтобы они напоминали название команды. Большинство мнемонических кодов — это сокращения английских названий команд: SUB от SUBtract (вычесть), BR от BRanch (перейти), BPL от Branch if PLus (перейти по положительному числу) и т. п.
Классификация команд. ЭВМ способна понимать и выполнять определенный набор команд. При составлении программы программист ограничен этими командами. Количество и тип команд изменяются в зависимости от возможностей и назначения ЭВМ.
В зависимости от того, к каким блокам машины обращается команда или на какие блоки она ссылается, команды можно разделить на три группы: обращения к памяти (адресные команды); обращения к регистрам (регистровые или безадресные); ввода-вывода.
Команды обращения к памяти предписывают машине производить действия с содержимым ячейки памяти, адрес которой указан в адресной части команды.
Безадресные команды выполняют различные действия без ссылок на ячейку памяти.
Команды ввода-вывода осуществляют обмен данными между ЭВМ и внешними устройствами. В них задаются адрес (название) устройства ввода-вывода и код той операции, которую должно выполнить это устройство (приказ на ввод-вывод).
Существует и другой способ разделения команд на группы. Он основан на учете функций, выполняемых командой. Можно выделить восемь типов команд: пересылок или обмена, арифметические, логические, сдвигов, переходов, обращения к подпрограмме, управления и ввода-вывода.
