- •Содержание
- •1. Теоретические основы построения узлов эвм
- •1.1. Физические формы представления информации
- •1.2. Математические модели схем эвм
- •1.3. Элементы и узлы эвм
- •1.3.1. Логические элементы
- •1.3.2. Основные характеристики логических элементов
- •Классификация триггеров
- •Основные характеристики логических элементов
- •1.3.3. Триггеры
- •Асинхронные триггеры
- •1.3.4. Регистры
- •1.3.5. Счетчики
- •Двоичные счетчики
- •Асинхронные счетчики
- •1.3.6. Дешифратор
- •1.3.7. Мультиплексор
- •2. Процессоры и микропроцессоры
- •2.1. Основные принципы построения устройств обработки цифровой информации
- •2.2. Принципы организации арифметико-логических устройств
- •Классификация алу
- •2.3. Структура и формат команд. Кодирование команд.
- •2.4. Способы адресации
- •2.5. Запоминающие устройства эвм
- •Адресная, ассоциативная и стековая организация памяти
- •Адресная память
- •Ассоциативная память
- •Стековая память
- •Запоминающие устройства типа 2d
- •Запоминающие устройства типа 3d
- •Статические и динамические озу
- •Постоянные запоминающие устройства
- •2.6. Принципы организации систем обработки прерывания программ
- •Допустимые моменты прерывания программ
- •Число классов (уровней) прерываний
- •Приоритетное обслуживание запросов прерывания
- •Процедура прерывания с опросом источников прерывания
- •Циклический опрос источников прерываний
- •Цепочечная однотактная схема определения приоритетного запроса
- •Векторное прерывание
- •Программное управление приоритетом
- •3. Организация ввода/вывода в эвм
- •3.2. Системные и локальные шины
- •3.3. Шины ввода/вывода
- •3.3.1. Шина agp
- •3.3.2. Шина usb
- •3.3.3. Шины ide и scsi
- •4. Вычислительные системы
- •4.1. Классификация вычислительных систем
- •4.2. Многомашинные вычислительные системы
- •4.3. Многопроцессорные вычислительные системы
- •5. Сети компьютеров
- •5.1. Основные понятия
- •5.2. Локальные вычислительные сети
- •5.2.1. Базовая модель osi (Open System Interconnection)
- •5.2.2. Сетевые устройства и средства коммуникаций
- •5.2.3. Топологии вс
- •5.2.4. Типы построения сетей по методам передачи информации
- •5.3. Сетевой и транспортный уровни
- •5.3.1. Транспортные и сетевые протоколы
- •5.3.2. Управление потоками данных в сетях
- •5.3.3. Мостовые соединения
- •5.3.4. Маршрутизация
- •5.3.5. Транспортный протокол тср в стеке протоколов tcp/ip
- •5.3.6. Коммутационное оборудование
- •5.3.7. Сетевой протокол ip в стеке протоколов tcp/ip.
- •5.3.8. Другие протоколы в стеке tcp/ip
- •5.3.9. Адресация в tcp/ip (в Internet)
- •5.3.10. Протоколы управления в стеке tcp/ip
- •5.3.11. Сети атм
- •5.3.12. Интеллектуальные сети связи
- •5.3.13. Функциональные серверы
- •5.3.14. Информационная безопасность в сетях
- •5.3.15. Распределенные вычисления (рв)
- •5.3.16. Технологии распределенных вычислений
- •5.3.17. Рекомендации по проектированию корпоративных сетей
- •5.4. Структура и функции территориальных сетей
- •5.4.1. Структура территориальных сетей
- •5.4.2. Протоколы теледоступа
- •5.4.3. Электронная почта
- •5.4.4. Файловый обмен
- •5.4.5. Телеконференции и "доски объявлений"
- •5.4.6. Видеоконференции
- •5.4.7. Стандарты конференц-связи
- •5.4.8. Доступ к распределенным базам данных
- •5.4.9. Информационная система www
- •5.4.10. Разделяемые виртуальные миры (Sharing Virtual Worlds)
- •5.4.11. Способы доступа к Internet
- •6. Микроконтроллеры
- •6.1. Определение микроконтроллера
- •6.2. Классификация микроконтроллеров
- •6.3. Тенденции в развитии современных микроконтроллеров
- •6.4. Оценка быстродействия мк
- •6.5. Энергосберегающие мк ведущих производителей
2.4. Способы адресации
Адресный код - это информация об адресе операнда, содержащаяся в команде.
Исполнительный адрес - это номер ячейки памяти, к которой производится фактическое обращение.
В современных ЭВМ адресный код, как правило, не совпадает с исполнительным адресом.
Выбор способов адресации, формирования исполнительного адреса и преобразования адресов является одним из важнейших вопросов разработки ЭВМ. Способы адресации, используемые в современных ЭВМ:
1) Подразумеваемый операнд. В команде может не содержаться явных указаний об операнде; в этом случае операнд подразумевается и фактически задается кодом операции команды.
2) Подразумеваемый адрес. В команде может не содержаться явных указаний об адресе участвующего в операции операнда или адресе, по которому должен быть размещен результат операции, но этот адрес подразумевается.
3) Непосредственная адресация. В команде содержится не адрес операнда, а сам операнд. При этом не требуется обращения к памяти для выборки операнда и ячейки памяти для его хранения. Это способствует уменьшению времени выполнения программы и занимаемого ею объема памяти. Непосредственная адресация удобна для хранения различного рода констант.
4) Прямая адресация. В адресной части команды может быть непосредственно указан исполнительный адрес.
5) Относительная (базовая) адресация. При этом способе адресации исполнительный адрес определяется как сумма адресного кода команды и базового адреса, как правило хранящегося в специальном регистре - регистре базы.
Относительная адресация позволяет при меньшей длине адресного кода команды обеспечить доступ к любой ячейке памяти. Для этого число разрядов в базовом регистре выбирают таким, чтобы можно было адресовать любую ячейку оперативной памяти, а адресный код команды используют для представления лишь сравнительно короткого "смещения". Смещение определяет положение операнда относительно начала массива, задаваемого базовым адресом.
6) Укороченная адресация. Для уменьшения длины кода команды часто применяется так называемая укороченная адресация. Суть ее сводится к тому, что в команде задаются только младшие разряды адресов, а старшие разряды при этом подразумеваются нулевыми. Такая адресация позволяет использовать только небольшую часть фиксированных ячеек в начале всей адресуемой области памяти, и поэтому применяется лишь совместно с другими способами адресации.
Регистровая адресация является частным случаем укороченной, когда в качестве фиксированных ячеек с короткими адресами используются регистры (ячейки сверхоперативной или местной памяти) процессора. Например, если таких регистров 16, то для адреса достаточно четырех двоичных разрядов. Регистровая адресация наряду с сокращением длины адресов операндов позволяет увеличить скорость выполнения операций, так как уменьшается число обращений к оперативной памяти.
7) Косвенная адресация. Адресный код команды в этом случае указывает адрес ячейки памяти, в которой находится адрес операнда или команды. Косвенная адресация широко используется в малых и микроЭВМ, имеющих короткое машинное слово, для преодоления ограничений короткого формата команды (совместно используются регистровая и косвенная адресация).
8) Адресация слов переменной длины. Эффективность вычислительных систем, предназначенных для обработки данных, повышается, если имеется возможность выполнять операции со словами переменной длины. В этом случае в машине может быть предусмотрена адресация слов переменной длины, которая обычно реализуется путем указания в команде местоположения в памяти начала слова и его длины.
9) Стековая адресация. Стековая память, реализующая безадресное задание операндов, особенно широко используется в микропроцессорах и мини-ЭВМ.
Стек представляет собой группу последовательно пронумерованных регистров или ячеек памяти, снабженных указателем стека, в котором автоматически при записи и считывании устанавливается номер (адрес) последней занятой ячейки стека (вершины стека). При операции записи заносимое в стек слово помещается в следующую по порядку свободную ячейку стека, а при считывании из стека извлекается последнее поступившее в него слово.
10) Автоинкрементная и автодекрементная адресации. Поскольку регистровая косвенная адресация требует предварительной загрузки регистра косвенным адресом из оперативной памяти, что связано с потерей времени, такой тип адресации особенно эффективен при обработке массива данных, если имеется механизм автоматического приращения или уменьшения содержимого регистра при каждом обращении к нему. Такой механизм называется соответственно автоинкрементной и автодекрементной адресацией. В этом случае достаточно один раз загрузить в регистр адрес первого обрабатываемого элемента массива, а затем при каждом обращении к регистру в нем будет формироваться адрес следующего элемента массива.
При автоинкрементной адресации сначала содержимое регистра используется как адрес операнда, а затем получает приращение, равное числу байт в элементе массива. При автодекрементной адресации сначала содержимое указанного в команде регистра уменьшается на число байт в элементе массива, а затем используется как адрес операнда.
Автоинкрементная и автодекрементная адресации могут рассматриваться как упрощенный вариант индексации.
11) Индексация. Для реализуемых на ЭВМ методов решения математических задач и обработки данных характерна цикличность вычислительных процессов, когда одни и те же процедуры выполняются над различными операндами, упорядоченно расположенными в памяти. Поскольку операнды, обрабатываемые при повторениях цикла, имеют разные адреса, без использования индексации требовалось бы для каждого повторения составлять свою последовательность команд, отличающихся адресными частями.
Программирование циклов существенно упрощается, если после каждого выполнения цикла обеспечено автоматическое изменение в соответствующих командах их адресных частей согласно расположению в памяти обрабатываемых операндов. Такой процесс называется модификацией команд, и основан на возможности выполнения над кодами команд арифметических и логических операций.
Управление вычислительным циклом должно обеспечивать повторение цикла нужное число раз, а затем выход из него.
Автоматическая модификация команд и управление вычислительными циклами в современных ЭВМ обеспечиваются механизмом индексации.
Для выполнения индексации в машину вводятся так называемые индексные регистры. Исполнительный адрес при индексации формируется путем сложения адресного кода команды (смещения) с содержимым индексного регистра (индексом), а при наличии базирования - и с базовым адресом.
Для управления индексацией используются команды, задающие операции над содержимым индексных регистров - команды индексной арифметики. Основные виды индексных операций:
- засылка в соответствующий индексный регистр начального значения индекса;
- изменение индекса;
- проверка окончания циклических вычислений.
