на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Основы информатики
p align="left">3) Прямая адресация - в этом случае в адресной части команды указывается адрес ячейки памяти Иа , при этом Аи = Ак. Этот способ наиболее часто использовался в ЭВМ первого и второго поколения. Недостаток - с ростом объёма памяти пишутся длинные команды mov al,[10abf002h]

4) Регистровая адресация. При регистровой адресации в адресной части указывается адрес регистра хранящего операнду - наиболее экономичный способ адресации. При регистровой адресации длинна адресной части получается коротко т.к. номер регистра является его адресом, занимает длину пол байта в случае sub cx,bx. При регистровой адресации благодаря короткой длине команд экономится память при размещении программы в ОП, кроме того такие команды уменьшают число обращений к ОП, что повышает быстродействие.

5) Косвенная адресация. В этом случае в команде указывается не адрес операнда, а адрес регистра или ячейки памяти содержащий адрес операнда. Не адресация операнды, а адресация памяти.

Косвенная адресация предполагает как минимум 2 обращения к ОП , если адрес операнда хранится в ОП. Допускается использование многоступенчатой косвенной адресации. В этом случае в команде указывается адрес первой ячейки и кратность адресации, а операнд располагается в последней адресной ячейке. В современных ЭВМ допускается 68 кратная адресация, но как правило косвенная адресация однократна. В малых и микро ЭВМ с короткой длинной длиной машинного слова, косвенная адресация позволяет обойти проблемы возникающие при адресации ячеек памяти, адреса которых имеют большую длину. В этом случае адрес ячейки памяти записывается в регистр. В команде указываться адрес регистра хранящего адрес операнда. add cz,[bx] или mov eax,[ecx] На наличие косвенной адресации в команде может указываться либо код операции команды, либо специальный бит отводимый в коде команды для указания на способ адресации. Если этот бит 1 - адресация косвенная, иначе нет.

26. Относительная и индексная адресация

В этом случае адрес операнда задается относительно некоторого базового адреса (Аб).

Для хранения Аб выделяется специал. регистр, который называется базовым регистром. Это может быть один из РОН.

Будем в дальнейшем обозначать такой регистр В, а его содержимое (В); D-смещение.

При относительной адресации в адресной части команды указывается номер базового регистра и смещение:

Коп

. . .

В

D

Принцип относительной адресации поясняется схемой:

Схема, поясняющая формирование Аи, показана на рис.:

При реализации оптимальной адресации процессор по номеру базового регистра В, содержащегося в команде находит в РОН базовый регистр передает его содержимое на сумматор СМ, куда поступает также D. На выходе сумматора формируется исполнительный адрес Аи.

Выполнение операции сложения требует определенных затрат времени, поэтому в некоторых случаях для повышения быстродействия формирование Аи осуществляется путем совмещения базового адреса В и смещения D. В этом случае младшие биты В должны содержать нули. Количество нулевых бит должно быть равно длине смещения. Схема формирования Аи имеет вид:

Одно из основных достоинств относительной адресации возможность перемещения программы в ОП. Для этого достаточно изменить содержимое базового регистра. При использовании этой адресации в ассемблерных программах адрес операнда представляется в виде записи регистр + смещение, который помещается в [].

Sub AX,[EBX+8]

Индексная адресация.

Используется при обработке массивов и организации циклов. Массив - упорядоченная совокупность элементов одинакового типа. Различные элементы массива имеют одинаковую длину и располагаются последовательно в ОП. Положение элементов внутри массива задается с помощью индексов. Для хранения индекса при индексной адресации среди РОН выделяется индексный регистр. Значение Аи=(В)+(Х)+Р, где Х - индексный регистр, (Х) - его содержимое.

Схема формирования Аи приведена на рис.:

При выполнении команды по номерам базового и индексного регистров, содержащимся в команде, процессор обращается к соответствующим регистрам, извлекает их содержимое и передает на сумматор, куда поступает также смещение D. На выходе сумматора формируется Аи элемента массива. При индексной адресации одна и та же команда без изменения отдельных ее частей может многократно выполнятся в цикле. При этом автоматически происходит изменение содержимого индексного регистра Х путем увеличения автоинкримента на 1, либо наоборот при каждом прохождении цикла. В ассемблерных командах имя Х указывается в [] :

MOV AX,[EBХ][EDX].

В современных 32 битных микропроцессорах допускается масштабирование Х, если операнды являются 32-битовыми. Но заключаются в умножении содержимого Х на значения 2, 4, 8. Такой прием удобен при организации обработки элементов массива, имеющих длину 2, 4, 8 байт. В этом случае ассемблерная команда:

MOV AX,[EBХ][EDX*8], где [EDX*8] индексный регистр.

28. Стековая адресация

Используется при работе со стековой памятью и представляет собой один из безадресных (подразумеваемых) способов адресации. Это связано с тем, что в стековой памяти запись и чтение информации осуществляется через одну и ту же ячейку памяти. Называемую вершиной стека. Этот процесс иллюстрируется следующей схемой:

При работе со стековой памятью обычно используют указатель вершины стека, в котором хранится адрес последней, заполненной стековой памятью ячейки. При записи/чтении из стека содержимое указателя стека (УС) изменяется автоматически. При записи увеличивается, при чтении уменьшается, поэтому отпадает необходимость в командах указывать адреса ячеек стековой памяти. В командах, использующих стековую память указываются только номера регистров, либо номера ячеек ОП, в которых хранятся операнды, используемые в операциях со стековой памятью.

Операции со стековой памятью широко используются в современных ЭВМ для организации работы с подпрограммами.

29. Алгоритм работы процессора. Рабочий цикл процессора

1.вычисление адреса ком-ды

2.выборка ком-ды

3.декодирование ком-ды

4.вычисление адресов операндов

5.выборка операндов

6.исполнение операции

7.запись результата

Для хранения адреса ком-ды используется содержимое указателя ком-ды IP(счетчик ком-д). При выполнении текущей ком-ды, адрес которой хранится в программном счетчике ПС, процессор определяет длину этой ком-ды в байтах и прибавляет к содержимому ПС, таким образом, уже на этапе выполнения данной ком-ды процессор формирует адрес следующей ком-ды. Такой порядок вычисления адреса ком-ды имеет место при выполнении программы в естественном порядке следования ком-д. При наличии в программе ком-д переходов в ПС загружается адрес перехода, содержащийся в этих ком-дах.

Выборка осуществляется контроллером шинного интерфейса по адресу, хранящемуся в ПС. Выбираемую ком-ду контроллер помещает в очередь ком-д. В современных процессорах осуществляется не поком-дная выборка, а выборка ком-д в виде блока длиной в 16 байт, который может содержать более одной ком-ды. Такая выборка называется опережающей. Блоки из ОП выбираются выровненными, то есть их младший байт имеет адрес, содержащий нули в четырех младших битах. Опережающая выборка ком-д сочетается с опережающим декодированием.

Декодирование ком-д делится на первичное и вторичное. При первичном декодировании определяется тип ком-ды и ее адрес. Знание типа ком-ды позволяет упростить алгоритм обработки ком-д, так как ком-ды одного типа выполняются одинаковым образом. Это позволяет уменьшить длину адресного кода. Вторичное декодирование осуществляется после вычисления адресов операндов и их выборки.

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

Aи=(B)+(I)+D, где D-смещение, с использованием сумматора контроллера шинного интерфейса. Вычисленный адрес помещается в регистр адреса РА.

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

Исполнение операции осуществляется в зависимости от типа операции, определяемой ком-дой. В арифметико-логических операциях УУ процессора вырабатывает последовательность сигналов для АЛУ. Операнды подключаются к АЛУ, результат записывается по адресу операнда-приемника. В ком-де безусловного перехода адрес перехода, содержащийся в ком-де, загружается в ПС. В ком-дах условного перехода предварительно перед загрузкой адреса, в ПС анализируется условие. Если оно не выполняется, содержимое ПС сохраняется, если выполняется - в ПС загружается адрес перехода. Ком-ды управления являются безадресными и выполняются после первичного декодирования. Действия этих ком-д сводятся к изменению внутренних регистров процессора, содержащих управляющую информацию. Ком-ды ввода/вывода обеспечивают обмен информацией между процессором и внешними ПУ. Этот процесс аналогичен операции пересылки информации, поэтому для его реализации используются ком-ды пересылки, в которых в качестве операндов источника и приемника используются регистры портов ввода/вывода и ПУ. Этим регистрам присваиваются определенные адреса из адресного пространства ЭВМ.

30. Программная модель процессора (регистры общего назначения и сегментные регистры)

Набор программно доступных регистров, имеющихся в составе процессора, определяет его программную или регистровую модель. Эти регистры определяют те ресурсы, которые предоставляются пользователю при программировании процессора. В разработке программных моделей процессора существуют 2 подхода:

В первом подходе все регистры считаются универсальными, то есть могут участвовать в одних и тех же операциях.

Во втором подходе, характерном для МП Intel, регистры являются специализированными, то есть могут участвовать в определенных операциях, в которых за ними закрепляются специальные функции.

В программную модель 32-битовых МП входит 31 регистр, которые делятся на 16 регистров прикладного программиста (пользовательские регистры) и 15 системных регистров.

Основные пользовательские регистры:

Они делятся на 8 регистров РОН, 6 сегментных регистров, на ПС-регистр и регистр флагов. РОН имеет длину 32 бита: (см. рис)

Первые 4 РОН допускают адресацию двойных слов так называемые расширенные регистры EAX, EBX, EDX, ECX (32 бита). AX, BX, CX, DX (16 бит). Допускается адресация только младшей половины регистров (биты 0 - 15), а 16 - 31 биты не допускают адресации. В младшей половине регистров допускается адресация старшего и младшего байтов:

AH BH DH CH (биты 8 - 15)

AL BL DL CL (биты 0 - 7)

Такая адресация первых 4 РОН позволяет легко оперировать при программировании на ассемблере байтами, словами и двойными словами. Все РОН могут использоваться в различных операциях, но существуют операции, в которых эти регистры выполняют специальные функции. Отсюда происходит и название регистров:

EAX/ AX/ AL - регистр-аккумулятор. Используется в арифметических и логических операциях, операциях ввода/вывода и др. в операциях деления и умножения в этих регистрах хранятся делимое и множимое, в него же помещается результат. Причем используется подразумеваемая адресация.

EBX/ BX/ BL - базовый регистр, используется для хранения базового адреса при относительной адресации операндов.

EDX/ DX/ DL - регистр данных, используется для хранения данных в арифметических и логических операциях, операциях пересылки и пр. В операциях ввода/вывода с использованием портов в этом регистре хранится адрес порта ввода/вывода.

ECX/ CX/ CL - регистр-счетчик циклических операций над цепочками бит, байт, слов и двойных слов.

ESP/ SP - используется в стековых операциях. Имя этого регистра неявно полагается в операциях PUSH и POP, применяется для хранения адреса вершины стека в данном сегменте памяти.

EBP/ BP - указатель базы, используется для указания базового адреса при строковых операциях.

ESI/ SI - индекс источника.

EDI/ DI - индекс приемника. оба эти регистра используются для хранения индексов при выполнении цепочных операций.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.