- •!Шестиуровневая модель компьютера. (Способы поддержки уровней, по, объекты…)
- •Многоуровневая структура компьютера: языки, уровни и виртуальные машины
- •Современные многоуровневые компьютеры
- •Уровень 0: Цифровой логический уровень
- •Уровень 1: уровень Микроархитектуры
- •Уровень 2: уровень архитектуры набора команд
- •Уровень 3: уровень операционной системы
- •Уровень 4: уровень Ассемблера
- •Уровень 5: уровень языка прикладных программистов
- •!Вентили и булева алгебра (транзисторные схемы, значки, таблицы истинности…)
- •Вентили
- •Булева алгебра
- •Реализация булевых функций
- •Построение схемы с использованием одного типа вентилей.
- •Эквивалентность схем
- •!Устройство цп. Цикл выполнения команды (Упрощенная схема…)
- •Устройство центрального процессора
- •Выполнение команд
- •!Многоступенчатый конвейер.
- •!Организация (адресация) памяти.
- •Методы адресации
- •Адресное пространство
- •Исполнение программ
- •Кодирование адресов
- •Вычисление адресов
- •Индексация
- •!Исправление ошибок. Диаграмма Венна. Код Хэмминга.
- •!Описание и диаграмма полной микроархитектуры машины Mic-1.
- •!Микроархитектура процессора 8051
- •!Классификация архитектур м. Flynn (sisd, misd, simd, mimd).
- •!Поколения эвм
- •Основные этапы развития компьютеров
- •Нулевое поколение — механические компьютеры (1642-1945)
- •Первое поколение — электронные лампы (1945-1955)
- •Второе поколение — транзисторы (1955-1965)
- •Третье поколение — интегральные схемы (1965-1980)
- •Четвертое поколение — сверхбольшие интегральные схемы (1980-?)
- •Пятое поколение — невидимые компьютеры
- •Заключение
- •!Закон Мура
- •И стория
- •!Технология Интел «Тик-так»
- •«Тик-так» на дорожной карте Intel
- •!Одноразовые компьютеры. Rfid – системы
- •Что такое rfid?
- •Сфера применения rfid технологий
- •Развитие технологии rfid продолжается
- •!Микроконтроллеры. Функциональная схема.
- •Описание
- •Применение
- •Программирование
- •!Виды пк. Состав компьютерной системы.
- •Виды компьютеров по назначению
- •Универсальные компьютеры
- •Проблемно-ориентированные компьютеры
- •Специализированные компьютеры
- •Виды компьютеров по функциям и внешним параметрам
- •Настольный компьютер
- •Обычный настольный компьютер (десктоп, моноблок)
- •Стационарный нетбук (неттоп)
- •Переносной компьютер
- •Ноутбук (лэптоп)
- •Планшетный компьютер
- •Носимый компьютер (микрокомпьютер)
- •Автоматизированное рабочее место (арм)
- •Мейнфрейм
- •Суперкомпьютер
- •Шаг первый. Cisc
- •!Регистры. Обозначения. Регистр флагов (psw).
- •Операции
- •Регистр флагов
Методы адресации
Адресное пространство
Простая (англ. flat addressing) — указание объекта с помощью идентификатора или числа, не имеющего внутренней структуры.
Расширенная (англ. extended addressing) — доступ к запоминающему устройству с адресным пространством, бо́льшим диапазона адресов, предусмотренного форматом команды.
Виртуальная (англ. virtual addressing) — принцип, при котором каждая программа рассматривается как ограниченное непрерывное поле логической памяти, а адреса этого поля — как виртуальные адреса.
Ассоциативная (англ. associative addressing) — точное местоположение данных не указывается, а задаётся значение определённого поля данных, идентифицирующее эти данные (см.: Ассоциативная память).
Исполнение программ
Статическая (англ. static addressing) — соответствие между виртуальными и физическими адресами устанавливается до начала и не меняется в ходе выполнения программы.
Динамическая (англ. dynamic addressing) — преобразование виртуальных адресов в физические осуществляется в процессе выполнения программы. Программа при этом не зависит от места размещения в физической памяти и может перемещаться в ней в процессе выполнения.
Кодирование адресов
Явная (англ. explicit addressing) — адресация путём явного задания адресов в программе.
Неявная (англ. implied addressing) — один или несколько операндов или адресов операндов находятся в фиксированных для данной команды регистрах или ячейках памяти и не требуют явного указания в команде.
Абсолютная (англ. absolute addressing) — адресная часть команды содержит абсолютный адрес.
Символическая (англ. symbolic addressing) — адресная часть команды содержит символический адрес.
Вычисление адресов
Непосредственная, прямая (англ. immediate (direct) addressing) — адресная часть команды содержит непосредственный (прямой) адрес; адресация путём указания прямых адресов.
Косвенная (англ. indirect addressing) — адресная часть команды содержит косвенный адрес; адресация посредством косвенных адресов.
Регистровая (англ. register addressing) — задание адресов операндов в регистрах.
Базисная (англ. basic addressing) — вычисление адресов в машинных командах относительно содержимого регистра, указанного в качестве базового.
Базовая (англ. base-displacement addressing) — схема вычисления исполнительного адреса, при которой этот адрес является суммой базового адреса исмещения.
Относительная (англ. relative addressing) — адресная часть команды содержит относительный адрес.
Индексная (англ. indexed addressing) — формирование исполнительного адреса осуществляется путём добавления к базовому адресу содержимого индексного регистра.
Автодекрементная, автоинкрементная (англ. autodecremental, autoincremental addressing) — содержимое регистра индекса изменяется (уменьшается или увеличивается) на некоторое число.
Постдекрементная, предекрементная, постинкрементная, преинкрементная — автодекрементные и автоинкрементные адресации, при которых уменьшение/увеличение происходит после/до выборки операнда.
Стековая (англ. stack addressing) — адресация посредством регистра — указателя стека.
Самоопределяющаяся (англ. self-relative addressing) — адресная часть команды содержит самоопределяющийся адрес.
Адресация относительно счётчика команд (англ. program counter relative addressing) — адреса в команде указываются в виде разности исполнительных адресов и адреса исполняемой команды. Такой способ адресации не требует настройки (см. также: Позиционно-независимый код).
Способы адресации
Подразумеваемый операнд
В команде может не содержаться явных указаний об операнде; в этом случае операнд подразумевается и фактически задается кодом операции команды.
Подразумеваемый адрес
В команде может не содержаться явных указаний об адресе участвующего в операции операнда или адреса, по которому должен быть размещен результат операции, но этот адрес подразумевается.
Непосредственная адресация
В команде содержится не адрес операнда, а непосредственно сам операнд. При непосредственной адресации не требуется обращения к памяти для выборки операнда и ячейки памяти для его хранения. Это способствует уменьшению времени выполнения программы и занимаемого ею объёма памяти. Непосредственная адресация удобна для хранения различного рода констант.
Прямая адресация
Адрес указывается
непосредственно в виде некоторого
значения, все ячейки располагаются на
одной странице. Преимущество этого
способа в том, что он самый простой, а
недостаток — в том, что разрядность
регистров общего назначения процессора
должна быть не меньше разрядности шины
адреса процессора.
Относительная (базовая) адресация
При этом способе адресации исполнительный адрес определяется как сумма адресного кода команды и базового адреса, как правило хранящегося в специальном регистре — регистре базы.
Относительная адресация позволяет при меньшей длине адресного кода команды обеспечить доступ к любой ячейке памяти. Для этого число разрядов в базовом регистре выбирают таким, чтобы можно было адресовать любую ячейку оперативной памяти, а адресный код команды используют для представления лишь сравнительно короткого «смещения». Смещение определяет положение операнда относительно начала массива, задаваемого базовым адресом.
Укороченная адресация
В адресном поле командного слова содержатся только младшие разряды адресуемой ячейки. Дополнительный указательный регистр.
Адресация с регистром страницы является примером сокращённой адресации. При этом вся память разбивается на блоки-страницы. Размер страницы диктуется длиной адресного поля.
Регистровая адресация
Регистровая адресация является частным случаем укороченной. Применяется, когда промежуточные результаты хранятся в одном из рабочих регистров центрального процессора. Поскольку регистров значительно меньше чем ячеек памяти, то небольшого адресного поля может хватить для адресации.
Косвенная адресация
Адресный код команды в этом случае указывает адрес ячейки памяти, в которой находится адрес операнда или команды. Косвенная адресация широко используется в малых и микроЭВМ, имеющих короткое машинное слово, для преодоления ограничений короткого формата команды (совместно используются регистровая и косвенная адресация).
Адресация слов переменной длины
Эффективность вычислительных систем, предназначенных для обработки данных, повышается, если имеется возможность выполнять операции со словами переменной длины. В этом случае в машине может быть предусмотрена адресация слов переменной длины, которая обычно реализуется путем указания в команде местоположения в памяти начала слова и его длины.
Стековая адресация
Стековая память, реализующая безадресное задание операндов, особенно широко используется в микропроцессорах и Мини-ЭВМ.
Автоинкрементная и автодекрементная адресации
Поскольку регистровая косвенная адресация требует предварительной загрузки регистра косвенным адресом из оперативной памяти, что связано с потерей времени, такой тип адресации особенно эффективен при обработке массива данных, если имеется механизм автоматического приращения или уменьшения содержимого регистра при каждом обращении к нему. Такой механизм называется соответственно автоинкрементной и автодекрементной адресацией. В этом случае достаточно один раз загрузить в регистр адрес первого обрабатываемого элемента массива, а затем при каждом обращении к регистру в нём будет формироваться адрес следующего элемента массива.
При автоинкрементной адресации сначала содержимое регистра используется как адрес операнда, а затем получает приращение, равное числу байт в элементе массива. При автодекрементной адресации сначала содержимое указанного в команде регистра уменьшается на число байт в элементе массива, а затем используется как адрес операнда.
Автоинкрементная и автодекрементная адресации могут рассматриваться как упрощенный вариант индексации — весьма важного механизма преобразования адресных частей команд и организации вычислительных циклов, поэтому их часто называют автоиндексацией.
