Регистры общего назначения

Исторический путь развития микропроцессоров.

Первый микропроцессор 4-х битовый с кодовым названием 4004 был произведен в 1971 году. 8-ми битовый был произведен в 1973 году. В 1979 году создан процессор (16-ти разрядный) стал родоначальником всех процессоров.

Модель 8088 – восьмишинная, в этом процессоре впервые использована сегментация данных. Оперативная память расширилась до 1Гб.

в 1981 году выпущены 80186,80188 – они сохраняли базовую архитектуру мп 8086\8088, но содержали на кристалле контроллер прямого доступа к памяти, счетчик \ таймер и контроллер прерываний, была немного расширена система команд. Однако широкого распространения эти мп не получили.

В 1982 году выпушен 80286 – новый МП мог работать в двух режимах: в режиме реального адреса или Р-режим, который предоставлял программистам новые возможности и средства.

В 1985 году разработан 80386 – первый 32-х разрядный процессор. Под него начали разрабатывать первые оболочки (windows).

 windows 95 – первая полноправная операционная система.

80486 разработан в 1989 году – базовая архитектура в 32-х разрядных процессорах.

С 1993 года появились первые процессоры пентиум.

 

 

Пользовательские регистры мп общего назначения. состав и их назначение.

Регистр – последовательность бит (разрядов) входящая в состав кристалла МП и предназначенная для хранения информации.

Каждый регистр имеет длину 16 бит (одно слово) и адресуется по имени. Регистры делятся на:

1. Пользовательские (регистры которые программист использует при написании своей программы) (их 16 регистров)

2. Системные (15 регистров)

Пользовательские регистры процессоров можно поделить по назначению на следующие категории:

регистры общего назначения (8 шт);

указатель команд;

регистр флагов;

сегментные регистры (6 шт);

Регистры общего назначения

 Регистры общего назначения являются основными рабочими регистрами. Особенностью этих регистров является то, что возможно использование их не только как единого целого, но и по частям. Все регистры этой группы позволяют обращаться к своим “младшим” частям. Использовать для самостоятельной адресации можно только младшие 16 и 8-битные части этих регистров. Старшие 16 бит этих регистров как самостоятельные объекты недоступны. Это сделано для совместимости с младшими 16-разрядными моделями МП фирмы Intel.

· EAX /ax /ah /al (Accumulator register) – регистр аккумулятор.
Применяется для хранения промежуточных данных при выполнении арифметических операций. Команды умножения, деления, ввода-вывода в устройствах, могут работать только с регистром – аккумулятором.

· EBX /bx /bh /bl (Base register) — базовый регистр.
Применяется для хранения базового адреса данных, находящихся в памяти;

· ECX /cx /ch /cl (Count register) — регистр-счетчик.
Применяется в командах, производящих некоторые повторяющиеся действия. Его использование зачастую неявно и скрыто в алгоритме работы соответствующей команды. К примеру, команда организации цикла loop кроме передачи управления команде, находящейся по некоторому адресу, анализирует и уменьшает на единицу значение регистра ecx/cx;

· EDX /dx /dh /dl (Data register) — регистр данных.
Так же, как и регистр - аккумулятор, он хранит промежуточные данные. При операции ввода-вывода регистр данных может содержать адрес порта ввода-вывода (16-ти разрядный). Всего 256 портов, определяются 1-м байтом. Адресное пространство = 255байт.

Следующие два регистра используются для поддержки так называемых цепочечных операций, то есть операций, производящих последовательную обработку цепочек элементов, каждый из которых может иметь длину 32, 16 или 8 бит:

· Esi / si (Source Index register) — индекс источника.
Адресует индекс элемента данных строки источника, т.е он в цепочечных операциях содержит текущий адрес элемента в цепочке-источнике;

· Edi / di (Destination Index register) — индекс приемника (получателя).
Адресует индекс элемента данных строки приемника т.е. этот регистр в цепочечных операциях содержит текущий адрес в цепочке-приемнике. Применяется для люб. промежуточных данных. Его размер ограничен сегментом.

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

· Esp / sp (Stack Pointer register) — регистр указателя стека.
Содержит указатель вершины стека в текущем сегменте стека. Стек всегда содержит адрес смещения данных. Max размер стека в обычном режиме = 64 Кб, а в защищенном - неограничен. Sp – вершина стека.  

· Ebp / bp (Base Pointer register) — регистр указателя базы кадра стека.
Предназначен для организации произвольного доступа к данным внутри стека. Если адрес поместить в bp то базовые данные автоматически находятся в стеке.

 

3. регистр флагов. Отдельные биты данного регистра имеют определенное функциональное назначение и называются флагами. Младшая часть этого регистра полностью аналогична регистру flags для i8086.

0 0 0 0 0 0 0 0 0 0 0 0 0 AC VM RF 0
NT IOPL OL OF DF IF TF SF ZF AF 0 PF 1 CF









Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: