48163 (608480), страница 2
Текст из файла (страница 2)
2. Непосредственная - непосредственный операнд (константа) присутствует в команде.
Обозначение - .
Пример:
mov AX, 093Ah ; занести константу 093Ah в регистр АХ.
3. Прямая (абсолютная)- исполнительный адрес операнда присутствует в команде.
Обозначение - +/-.
Пример:
mov AX, WW ; переслать в АХ слово памяти с именем WW
mov BX, WW+2 ; переслать в ВХ слово памяти отстоящее от переменной с именем WW на 2 байта.
4. Регистровая косвенная - регистр содержит адрес операнда.
Обозначение - [], - ВХ. ВР. SI, DI.
Пример:
mov [ BX ], CL ; переслать содержимое регистра CL по адресу, находящемуся в регистре ВХ.
5. Регистровая относительная - адрес операнда вычисляется как сумма содержимого регистра и смещения.
Обозначение - [] или [], - SI или DI индексная адресация, ВХ или ВР - базовая адресация.
Пример:
mov АХ, WW[SI] ; переслать в АХ слово из памяти, адрес которого вычисляется как сумма содержимого регистра SI и смещения WW.
6. Индексно - базовая - адрес операнда вычисляется как сумма содержимых базового и индексного регистров и смещения.
Обозначение - [][] или [][] или [][], где - SI или DI, - ВХ или ВР.
Пример:
mov [BX+ SI+ 2], CL; переслать содержимое регистра CL по адресу, вычисляемому как сумма содержимого регистров ВХ, SI и константы 2.
7.Стековая адресация - реализует неявное задание адреса операнда. Хотя адрес обращения в стек отсутствует в команде, он формируется с помощью указателя SP в котором автоматически при записи или чтении устанавливается номер последней занятой ячейки стека.
Прерывания
Прерывания осуществляют механизм переключения с одной задачи на другую. Прерывания рассматриваются с двух сторон:
- программно определенные события (предусмотрены текущей программой),
- события не предопределенные, поэтому процессор должен переключаться на какую-то задачу
Следовательно, различают 2 вида прерываний: аппаратные и программные.
-
Программные вызываются из программы с помощью команды int.
-
При аппаратном прерывании процедура прерывания инициируется внешним сигналом IRQ, поступившим с программируемого контроллера прерываний (КПР). Обработка запроса в КПР происходит по следующей схеме:
Происходит фиксация запросов и их селекция по принципу приоритета, который задается номером: запрос с меньшим номером имеет высший приоритет, и наоборот.
КПР выдает сигнал int в процессор. Периодически в конце каждой команды процессор анализирует сигнал int. Если это событие произошло, то процессор прекращает выполнять текущую операцию и приступает к процедуре прерывания:
ЦП записывает в стек содержимое регистра флагов IF (флаг разрешения прерывания), CS и указатель IP, чтобы сохранить состояние текущей команды в момент прерывания. Затем он сбрасывает флаг и передает управление программе обработки прерывания, загружая в регистр CS и IP адрес вектора прерываний, который представляет собой 2 числа (4 байта), задающие местонахождение обработчика прерывания. В оперативной памяти размещаются 256 векторов прерываний (1024 байта).
Адрес вектора прерывания с номером прерывания N вычисляется как N*4. В младшем байте хранится значение IP, а в старшем CS.
Чтобы вернуться из прерывания, необходимо использовать команду iret, которая восстанавливает из стека содержимое CS, IP и регистра флагов.
Программные прерывания применяются в первую очередь для вызова системных обслуживающих программ - функций DOS и BIOS. Большая часть векторов прерываний зарезервирована для выполнения определенных действий; часть из них автоматически заполняется адресами системных программ при загрузке системы. Вектора прерываний можно условно разбить на следующие группы:
векторы внутренних прерываний процессора (0lh, 02h и др.);
векторы аппаратных прерываний (08h...0Fh и 70h...77h);
программы BIOS обслуживания аппаратуры компьютера (10h, 13h, 16h и др.);
программы DOS (21h, 22h, 23h и др.);
адреса системных таблиц BIOS
Запоминающие устройства ЭВМ
Ключевым принципом построения памяти ЭВМ является ее иерархическая организация (принцип, сформулированный еще Джоном фон Нейманом), которая предполагает использование в системе памяти компьютера запоминающих устройств (ЗУ) с различными характеристиками.
ВЗУ – энергонезависимая память, используемая для хранения больших объемов информации. Её емкость больше, чем в ОЗУ, но быстродействие во много раз меньше.
ОЗУ используется для хранения данных и программ (RAM – устройство с произвольным доступом). ОЗУ характеризуется следующими параметрами:
1. Время обращения: время чтения, время записи.
2 . Емкость – количество адресуемых элементов в памяти. Ячейка памяти – то, что считывается за одно обращение. Количество данных (разрядность), считываемых за одно обращение называется шириной выборки. Адресуемый элемент <> ширины. Емкость может рассматриваться как физическая и как размер адресного пространства.
Все современные ОЗУ – полупроводниковые устройства:
1. Статические ОЗУ.
В качестве элемента памяти используется триггер. Статические ЗУ обладают меньшей плотностью хранения информации. Однако триггер со времен первых компьютеров был и остается самым быстродействующим элементом памяти. Поэтому статическая память позволяет достичь наибольшего быстродействия, обеспечивая время доступа в единицы и даже десятые доли наносекунд, что и обусловливает ее использование в ЭВМ, главным образом, в высших ступенях памяти – кэш-памяти всех уровней. Триггер создается на двух транзисторах, охваченных обратной связью, и имеет два различных устойчивых состояния. Статические ОЗУ поддерживают режимы хранения, чтения, записи, чтения и записи. Главными недостатками статической памяти являются ее относительно высокие стоимость и энергопотребление.
2. Динамические ОЗУ.
Запоминающая ячейка представляет собой один моп-транзистор, который управляется напряжением и ведет себя практически как ключ. Недостатки, связанные с необходимостью регенерации информации из-за утечки тока и относительно невысоким быстродействием, компенсируются другими показателями малыми размерами элементов памяти и, следовательно, большим объемом микросхем этих ЗУ, а также низкой их стоимостью.
СОЗУ – сверхоперативное запоминающее устройство. Его быстродействие примерно в 100 раз больше быстродействия ОЗУ (реализовано на той же базе, что ЦП, поэтому по быстродействию сравнимо с ним), но емкость в несколько раз меньше.
1. Регистровая СОЗУ.
Входит в состав процессора и представляет собой набор регистров процессора, которые являются линейками триггеров. Предназначена для хранения небольшого количества информации (до нескольких десятков слов, а в RISC-архитектурах – до сотни), которая обрабатывается в текущий момент времени или часто используется процессором. Это позволяет сократить время выполнения программы за счет использования команд типа регистр-регистр и уменьшить частоту обменов информацией с более медленными ЗУ ЭВМ. Реализует возможность одновременных чтения и записи данных. Недостатком является очень быстрое заполнение по мере выполнения задач.
2. Кэш-память (буферная).
Её назначение состоит в сокращении времени передачи информации между процессором и более медленными уровнями памяти компьютера. Обеспечивает автоматическую подмену наиболее часто используемых данных кэш-ячейками, т.е. временно ячейка КЭШа заменяет собой ячейку оперативной памяти. Классический кэш представляет собой ассоциативное ЗУ, т.е. информация ищется по некоторому признаку. Кэш эффективен, когда ЦП долго работает с локальной областью памяти, в противном случае возникают коллизии.
Кэш обычно дублирует группу соседних ячеек памяти (блок) для улучшения временных характеристик.
Около 90% всех обращений удовлетворяется КЭШем.
Кэш прямого отображения строится на базе статических ОЗУ.
За каждой ячейкой памяти зафиксирован свой уровень, на котором она продублирована, поэтому при поиске осуществляется одно сравнение. Но в случае, когда у нескольких ячеек один уровень, эффективность КЭШа снижается.
По степени близости к ЦП различают:
L1 – кэш первого уровня (внутренний) – встроен в ЦП, раздельный (один – для хранения команд, два – данных);
L2 - либо также входит в микросхему процессора, либо может быть реализован в виде отдельной памяти, непосредственно подключенной к ЦП;
L3 (используется редко) – в виде отдельного устройства, которое крепится к той же шине, что и память.
Как правило, на параметры быстродействия процессора большее влияние оказывают характеристики кэш-памяти первого уровня.
Время обращения к кэш-памяти, которая обычно работает на частоте процессора, составляет от десятых долей до единиц наносекунд, т.е. не превышает длительности одного цикла процессора.
Интерфейсы
Под интерфейсами понимаются:
- шины (связывающие устройства),
- процедуры обмена информацией по этим шинам,
- механические подключения (разъёмы).
ПУ – периферийные устройства
К – канал ввода/вывода (в/в)
В вычислительной системе различают:
1) интерфейс «процессор - оперативная память – процессор – каналы ввода/вывода» (самый быстрый);
2) интерфейс ввода/вывода (расширения), с помощью которого контроллеры ПУ подключаются к системе;
3) интерфейс периферийных устройств, с помощью которого они подключаются к своим контроллерам (адаптерам). Адаптер – простейшее устройство, преобразующее сигналы одного интерфейса в сигналы другого. Контроллер – более сложная система (блок управления).
Виды интерфейсов
По способу передачи
-
Параллельные: разряды данных передаются одновременно, параллельно (шины ISA, PCI, IDE, Centronics).
-
Последовательные: информация передается последовательно по одному биту (шины USB, RS-232)
Синхронизация обмена
2 способа синхронизации:
1) механизм стробирования данных: по линии шины данных передаются либо “1” либо “0” Для того чтобы приемник надежно различал эти события, используют специальный стробирующий сигнал, который подается одновременно с данными в момент времени, когда на линии устанавливаются действительное значение данных.
2) синхронизация квитированием. Данный способ использует для реализации 2 сигнала – прямой и обратный. После того, как данные с передающего устройства будут зафиксированы в принимающем устройстве, последнее выдаст сигнал, что данные приняты, затем будет выдан сигнал о готовности принимать следующую информацию.
По топологии (характеру связи между устройствами) бывают:
1) с индивидуальной (радиальной) системой шин, которая включает в себя
- главное устройство, к которому подключаются другие, ведомые;
-провода прямой и обратной передачи;
- сигналы синхронизации и управления (сигнал выборки со стороны главного устройства, указывающий, что с главным устройством устройству можно работать).
У - устройство
2) с коммунальной (магистральной) системой шин: все устройства взаимодействуют через общую магистраль.
У0 выставляет по шине адреса номер вызываемого абонента. Каждое устройство сравнивает его со своим. В случае совпадения устройство начинает работать (только одно) В противном случае, устройство не реагирует на сигнал.