- •Архитектура ом
- •Структура машин фон-Неймана, із загальною шиною, з каналами прямого доступу в пам'ять. Порівняльний аналіз і область застосування.
- •Апаратно-програмна реалізація обчислювальної системи. Призначення й основні функції операційної системи, однопрограмний і багатопрограмний режими роботи системи.
- •Класифікація операцій. Формати представлення команд і даних. Чотири-, трьох-, двох-, одно- і нуль-адресні команди. Определение наборов операций
- •Форматы команд
- •Способи адресації операндів. Безпосередня, пряма, непряма й індексна адресації. Призначення й область застосування.
- •Відносна, сторінкова і сегментна адресація. Переміщення програм і даних в оперативній пам'яті машини.
- •Операції переходу і розгалуження, їхня реалізація.
- •Операції звертання до підпрограм. Способи організації підпрограм. Організація динамічного розподілу пам'яті для підпрограм і їхніх даних.
- •Віртуальна пам'ять. Сторінкова організація віртуальної пам'яті. Алгоритми звертання до пам'яті.
- •Самообумовлені дані. Теги і дескриптори. Призначення і їхнє застосування.
- •Захист пам'яті. Призначення. Методи захисту верхніми і нижніми границями.
- •Захист пам'яті за допомогою ключів захисту. Структурна схема пам'яті з захистом. Достоїнства і недоліки.
- •Віртуальні процесори. Призначення і реалізація.
- •Віртуальні периферійні пристрої. Призначення, приклад реалізації.
- •Віртуальні машини. Призначення і приклад реалізації.
- •Операції вводу-виводу в ibm pc.
- •НкДтаЕ еом
- •Об'єкт діагностування, клас несправності, тест, система діагностування. Основні поняття і визначення.
- •Методи параметричного діагностування (пд).
- •Детермінований функціональний підхід до синтезу тестів.
- •Детермінований структурний підхід до синтезу тестів.
- •Обзор существующих методов
- •Застосування логічного моделювання для синтезу тесту.
- •Методи аналізу вихідних реакцій.
- •Ймовірний подхід до синтезу тестів.
- •Основні підходи до тестування мікропроцесорних пристроїв.
- •Попередні перетворення опису схем для синтезу схем.
- •Двійкова і двійково-кодована система числення.
- •Представлення числової інформації в еом.
- •Алгоритми додавання чисел.
- •Алгоритми множення чисел.
- •Алгоритми ділення чисел.
- •Виконання арифметичних операцій над числами з плаваючою крапкою.
- •Виконання арифметичних операцій у двійковій-десятковій системі числення.
- •Контроль по модулю арифметичних операцій.
- •Точність представлення чисел і виконання арифметичних операцій.
- •Проектування мпс
- •Мікропроцесори 2 і 3-го покоління фірми Intel.
- •Організація пам'яті в мікропроцесорних системах.
- •Організація переривань у мікропроцесорних системах.
- •Програмуємий послідовний інтерфейс мпс.
- •Організація вводу-виводу на базі віс пдп.
- •Реалізація внутрішніх системних інтерфейсів мпс.
- •Однокристальні мікро-еом фірми Intel.
- •Віс мпк 2 і 3-го поколінь фірми Intel.
- •Зовнішні інтерфейси мпс.
- •Структура пеом ibm pc.
- •Структура 32-х розрядних мікропроцесорів 4-го покоління фірми Intel.
- •Структура віс мікропроцесорного комплекту 4-го покоління для 32-х розрядних мікропроцесорних систем.
- •Комбінаційні схеми (кс). Основні поняття і визначення. Канонічний метод синтезу кс.
- •Комбінаційні схеми (кс). Аналіз кс. Основні методи аналізу кс.
- •Абстрактний автомат. Основні поняття і визначення. Класифікація. Способи завдання.
- •Способы описания и задания автоматов.
- •Канонічний метод синтезу кінцевого автомата.
- •Кодування внутрішніх станів автомата.
- •Кодирование состояний и сложность комбинационной схемы автомата.
- •Принцип мікропрограмного керування.
- •Структура операційного пристрою. Функції операційного і керуючого автоматів.
- •Мікропрограмні автомати (мпа). Інтерпретація граф-схеми алгоритму. Способы описания алгоритмов и микропрограмм
- •Канонічний метод синтезу мпа Милі з "жорсткою" логікою.
- •Канонічний метод синтезу мпа Мура з "жорсткою" логікою.
- •Достоинства и недостатки автоматов с жесткой логикой.
- •Синтез мпа Мура на базі регістру зсуву. Синтез управляющего автомата Мура на базе регистра сдвига.
- •Операційний автомат і мікропрограма додавання дробових чисел з фіксованою крапкою.
- •Операційний автомат і мікропрограма множення дробових чисел з фіксованою крапкою.
- •Двійкові-десяткові коди (д-коды) і їхньої властивості. Виконання арифметичних операцій у д-кодах.
- •Система числення в залишкових класах. Її особливість і застосування в обчислювальній техніці.
Операції звертання до підпрограм. Способи організації підпрограм. Організація динамічного розподілу пам'яті для підпрограм і їхніх даних.
При написании программ часто при реализации алгоритма работы устройства приходится повторять одни и те же операторы (например операторы, работающие с параллельным или последовательным портом). Было бы неплохо использовать один и тот же участок кода, вместо того, чтобы повторять одни и те же операторы несколько раз.
Участок программы, к которому можно обращаться из различных мест программы для выполнения некоторых действий называется подпрограммой.
Проблема, с которой приходится сталкиваться при многократном использовании участков кодов, это в какое место памяти программ возвращаться после завершения подпрограммы. Обращение к подпрограмме производится из нескольких мест основной программы. Описанную ситуацию иллюстрирует рисунок 1. На этом рисунке изображено адресное пространство микроконтроллера. Младшие адреса адресного пространства на этом рисунке находятся в нижней части рисунка.
Для того, чтобы получить возможность возвращаться на команду, следующую за командой вызова подпрограммы, требуется запомнить адрес этой команды. Адрес возврата хранится в особых ячейках памяти. После выполнения подпрограммы необходимо осуществить переход к адресу, который записан в этих ячейках.
Для обращения к подпрограмме и возврата из неё в систему команд микропроцессоров вводят специальные команды. В микроконтроллерах семейства MCS-51 это команды LCALL, ACALL для вызова подпрограммы и команда RET для возврата из подпрограммы. Эти команды не только осуществляют передачу управления на указанный адрес, но и запоминают адрес команды, следующей за командой вызова подпрограммы. Команда возврата из подпрограммы RET передаёт управление команде, адрес которой был запомнен командой вызова подпрограммы.
Очень часто требуется из одной подпрограммы обращаться к другой подпрограмме. Такое обращение к подпрограмме называется вложенным. Количество вложенных подпрограмм называется уровнем вложенности подпрограмм. Максимально допустимый уровень вложенности подпрограмм определяется количеством ячеек памяти, предназначенных для хранения адресов возврата из подпрограмм.
Ячейки памяти, в которых хранятся адреса возврата из подпрограмм называются стеком. Логически эти ячейки памяти организованы так, чтобы считывание последнего записанного адреса производилось первым, а первого записанного адреса производилось последним. Такая логическая организация формируется специальным счётчиком. Этот счётчик называется указателем стека SP. Ячейка памяти, в которую в данный момент может быть записан адрес возврата из подпрограммы, называется вершиной стека. Количество ячеек памяти, предназначенных для организации стека, называется глубиной стека. Последняя ячейка памяти, в которую можно производить запись называется дном стека. Логическая организация стека приведена на следующем рисунке:
Организация подпрограмм (модулей), описанная в предыдущих разделах, выглядит довольно стройной. Но у нее есть существенный недостаток - каждый модуль рассчитан на то, что он занимает определенное место в памяти. Современные библиотеки стандартных подпрограмм ( не считая подпрограмм, разрабатываемых лишь для включения в состав одной или немногих программ) насчитывают, как правило, сотни модулей. Их общий объем намного превышает объем оперативной памяти. Если даже учесть, что каждая программа использует во время своей работы лишь небольшую часть библиотеки и что использование некоторых комбинаций модулей в одной программе очень маловероятно, то и тогда оказывается практически невозможным выбрать для каждого модуля свое неизменное место в памяти, на которое не претендовал бы ни один из совместно работающих с ним модулей. ля организации подпрограмм, допускающих любое количество операторов, используется подпрограмма-функция. Результат выполнения подпрограммы присваивается ее имени.
Для организации подпрограмм большинство ЭВМ используют аппаратно поддерживаемую структуру данных, называемую стеком. Стек - это структура данных, организованная по принципу: последним вошел - первым вышел, т.е. последние записанные в стек данные извлекаются из него первыми.
Указатель стека SP чаше всего используется при организации подпрограмм, о чем речь пойдет ниже, а также для промежуточного хранения данных. одобная оценка может быть использована и для организации подпрограмм в программах на алгоритмических языках. Дополнительное сокращение длины программы в обоих случаях часто достигается при обращении из подпрограммы к подпрограмме, но время счета в таких случаях возрастает еще больше. В некоторых компиляторах Бейсика может применяться и другой способ организации подпрограмм с помощью оператора CALL. Оформление фрагментов программы с помощью подпрограмм такого типа наиболее естественно, так как позволяет разбивать большие тексты на отдельные файлы, которые могут раздельно компилироваться, а затем связываться в процессе операции сборки. Однако во многих версиях компиляторов Бейсика при вызове подпрограмм с помощью оператора CALL могут возникнуть разнообразные сложности.
Динамическое распределение памяти осуществляется между программами в ходе самого вычислительного процесса. Динамическое распределение памяти позволяет математику-вычислителю считать, что в его распоряжении имеется большая оперативная память, количество ячеек которой ограничено только разрядностью адресной части команды ( если имеются ВЗУ - достаточной емкости) или емкостью ОЗУ и ВЗУ вместе. Такую память, предоставляемую программисту за счет работы управляющей программы, принято называть виртуальной ( кажущейся), так как в любой момент времени только часть информации, хранящейся в виртуальной памяти, может быть размещена в реальной оперативной памяти. Динамическое распределение памяти обычно осуществляется в результате применения сочетания двух подходов: аппаратного и программного. Динамическое распределение памяти требует сложной управляющей программной системы, но повышает эффективность использования процессора и значительно облегчает работу программиста. Динамическое распределение памяти состоит в назначении адресов для размещения данных в процессе исполнения программы. С этой целью транслятор включает в объектную программу специальные команды, обеспечивающие перераспределение памяти в ходе исполнения программы. Динамическое распределение памяти обеспечивает свободное перемещение массивов программ и данных. При этом каждая программа имеет в своем распоряжении большой непрерывный массив ячеек памяти независимо от участия в работе системы других программ. Вместе с тем в памяти ЭВМ исключается дублирование массивов, общих для всех программ. олностью динамическое распределение памяти позволяет иметь единственную сплошную область памяти для всех описанных и рабочих переменных, массивов и процедур программы, а также обеспечивает относительно простой способ обработки рекурсивных процедур. С другой стороны, современные машины обычно имеют несколько индексных регистров, которые существенно облегчают динамическое перераспределение памяти при исполнении программы. По этим причинам на современных машинах часто используют именно динамическое распределение памяти.
Наиболее эффективно динамическое распределение памяти осуществляется в системах виртуальной памяти со страничной или сегментной организацией.
