Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по АК.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
752.64 Кб
Скачать

Типы адресации

Существует 5 типов адресации:

  1. Непосредственная адресация – в команде в качестве аргумента используется константа т.е. непосредственно сами данные.

  2. Прямая – в команде в начале аргумента используется прямой адрес данного в ОП.

  3. Косвенная адресация – в команде в качестве аргумента используется номер или название регистра ROM в котором содержится адрес данного в ОП. (данные команды чаще всего используются для работы с массивами)

  4. Регистровая адресация – в качестве аргумента используется номер или название регистра ROM, в котором содержатся данные. (регистровая адресация это частный случай прямой адресации)

  5. Стековая адресация – команда не содержит аргумента, его адрес находится в указателе стека.

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

Компоненты микропрограммного уровня:

Ячейка – устройство для хранения простейшей единицы информации неделимой для данной вычислительной системы. Чаще всего, в системах, такой ячейкой является регистр емкостью 1 байт, однако, в однокристальных микроконтроллерах клонах серии PIC i8051 имеется возможность побитового доступа к портам ввода-вывода.

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

Шина – группа проводников выполняющих единые функции. Вентильные схемы – это схемы разрешения доступа, как правило строятся на логических элементах 2i:

Ячейки строятся на логических электронных схемах. В зависимости от схемы или элемента базы, ячейки могут быть статическими или динамическими.

Статическая ячейка представляет собой триггер на транзисторах.

Динамическая ячейка это емкость с запорным транзистором либо диодом. Она нуждается в периодической регенерации т.к. ее заряд передает за счет тока утечки емкости и утечек в шину при чтении. Кроме того за счет элемента базы динамическая ячейка более медленная чем статическая.

Дешифратор – это устройство выдающее единицу в зависимости от комбинации на входе.

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

АЛУ – арифметически логическое устройство на базе счетчиков, логических регистров и прочих логических схем выполняющих набор арифметико-логических операций.

Поиск и сортировка

Ассоциативная память – это средство для поиска информации по связанному с ними числовому значению ключа. Для поддержки ассоциативной памяти в вычислительных системах назначается регистр MAR.

Регистр MAR – поддерживается на уровне ОС, является некоторой ячейкой ОП. Кроме того некоторые процессоры имеют аппаратную поддержку либо встроенный MAR.

Различия ассоциативной памяти связаны с алгоритмом поиска.

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

Используется 2 простых алгоритма поиска, а также методики освоенные на них:

  1. Линейный поиск. Для него требуется таблица, в которой ведется поиск с ассоциированными парами ключ значение.

  2. Ключ поиска и данные о количестве записи в таблице.

Алгоритм поиска следующий:

  1. Берется ключ к первой записи таблицы и сравнивается с ключом поиска.

  2. Если ключи совпали, считывается ассоциированное с ним значение или запись. Поиск окончен.

  3. Если ключи не совпали, считывается ключ следующей записи и действия повторяются до тех пор, пока не совпадут ключи или не будет достигнут конец таблицы.

Преимущества: простота алгоритма, нет необходимости в предварительной сортировке данных.

Недостатки: большое время выполнения.

Двоичный поиск.

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

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

Алгоритм двоичного поиска:

  1. Оценивается диапазон поля поиска, который на первом шаге равен величине таблицы и считывается индекс из средины таблицы. Считанный индекс сравнивается с индексом ключа поиска.

  2. Если совпал, то сравниваются ключи поиска (не обязательно) и считывается ассоциируемое значение.

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

Преимущества: более быстрый по сравнению с линейным, алгоритм поиска.

Недостаток: более сложен в реализации и требует упорядочивания таблицы.