Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Переходы





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

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

· Переходы, вызванные выполнением центральным процессором специальных команд переходов.

· Переходы, которые автоматически выполняет центральный процессор при наступлении определённых событий в центральной части компьютера или в его периферийных устройствах (устройствах ввода/вывода).

Начнём последовательное рассмотрение переходов для компьютеров нашей архитектуры. Напомним, что физический адрес начала следующей выполняемой команды зависит от значений двух регистров: сегментного регистра CS и счётчика адреса IP и вычисляется по формуле:

Aфиз:= (CS*16 + IP)mod 220

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

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

IP:= (IP + Const)mod 216

При абсолютном переходе происходит просто присваивание соответствующему регистру нового значения, например,

CS:= Const

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

Далее будем классифицировать относительные переходы по величине той константы, которая прибавляется к значению счётчика адреса IP: при коротком переходе величина этой знаковой константы (напомним, что мы обозначаем её i8) не превышает по размеру одного байта (т.е. лежит в диапазоне от –128 до +127):

IP:= (IP + i8)mod 216,

а при длинном переходе эта константа имеет размер слова (двух байт):

IP:= (IP + i16)mod 216

Кроме того, величина, используемая при абсолютном переходе для задания нового значения какого-либо из этих регистров, может быть прямой и косвенной. Прямая величина является просто числом (в нашей терминологии это непосредственный адрес), а косвенная – является адресом некоторой области памяти, откуда и будет извлекаться необходимое число, например,

IP:= [m16]

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

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







Date: 2015-10-18; view: 385; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию