Регистры указатели и индексные регистры

Основное назначение этого вида регистров хранить указатели на другие регистры или ячейки памяти. Эту группу составляют следующие регистры:

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

· DI – регистр приёмника. Он также используется в операции над строками, но содержит указатель того места, куда пересылаются данные.

· SP – это регистр указатель стека. Стек – это специальная область памяти, организованная таким образом, что в нём для чтения и записи всегда доступна только одна ячейка из всех. Стек обеспечивает максимальную защиту данных, однако принципы работы со стеком от принципа работы с другими ячейками памяти.

         
         
       
     
   
 
1 * 1 * 0 * 1 * 0 *

1 2 3 4 5

Этот регистр указывает на ячейку памяти, которая является вершиной стека.

· BP – регистр базы, используемый в операции доступа к ячейкам памяти, а также в стековых операциях. Например, в стековых операция он указывает на стек в целом.

· IP – регистр указатель команд. Он определяет какую команду выполнять следующей, то есть указывает смещение на следующую команду.

Все эти регистры являются шестнадцатиразрядными, но они не делятся на однобайтные регистры.

Сегментные регистры.

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

· CS – регистр сегмента кода команды. Он содержит начальный адрес команд и совместно с регистром IP используется для вычисления адреса следующей команды. Этот адрес вычисляется так: значение регистра CS + смещение на значение регистра IP.

· SS – регистр сегмента стека. Хранит начальные адреса сегмента стека и совместно с SP используется для определения области памяти, организованной как стек.

· DS – регистр сегмента данных. Он содержит начальный адрес сегмента данных. Этот регистр определят конкретный адрес ячейки памяти, с которой блок сегмента данных.

· ES – это дополнительный сегментный регистр, использующийся для дополнительного управления адресации памяти.

Регистры флага.

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

· CF – флаг переноса. Используется при сдвигах, равен 1, если сдвиг произошёл и равен 0, если сдвиг не произошёл.

· PF – флаг паритета. Используется для контроля чётности результата. То есть для контроля чётности количества единиц. Равен 1, если результат чётный и 0, если не чётный.

· AF – флаг дополнения переноса, используется в специальных арифметических операциях.

· ZF – флаг нулевого результата. Равен 1, если результат нулевой и равен 0, если результат не нулевой.

· SF – флаг знака. Равен 1, если результат отрицательный и равен 0, если результат положительный.

· TF – флаг трассировки или пошагового выполнения. Этот регистр переводит процессор в режим выполнения команд по шагам, то есть после каждого шага, происходит фиксация промежуточных результатов, то есть проверяется значение всех регистров и ячеек данных. В этот режим процессор переходит, если TF=1.

· IF – флаг прерывания. Прерывание — это приостановка работы процессора над данной задачей и переключение его на другую задачу. IF = 1, если прерывание произошло.

· DF – флаг сдвига, при управлении направлении стековых операций. DF = 1, если сдвиг вправо и 0, если влево.

· OF – флаг переполнения. Равен 1, если результат не помещается в ax и старший разряд необходимо перенести в dx.

Принципы работы с памятью. Логические виды памяти.

1. Физическая организация памяти.

В компьютере память физически организована следующим образом:

1. Оперативная память. Физически микросхема RAM представляет собой отдельную плату, которая подключается в специальный разъём на материнской плате. Эту плату можно легко заменить, необходимо лишь помнить о том, что она должна подходить к конкретному слоту материнской платы (DDR3) и совпадать с диапазоном частот шины данных процессора.

2. Кэш-память процессора. В современных компьютерах представляет собой небольшую микросхему, встроенную в корпус процессора. Она представляет собой единое целое с процессором, её невозможно заменить отдельно от него.

3. ROM. BIOS представляет собой небольшую микросхему, которая может быть либо встроена в материнскую плату, либо подключаться в специальный разъём. Непосредственная замена микросхемы ROM не нужна, но в случае крайней необходимости её заменить можно, если микросхема извлекаемая.

4. CMOS. Физически CMOS это небольшая микросхема, которая встроена в материнскую плату. Её замена невозможна.

2. Логическая организация памяти.

Логически для процессора весь объём памяти представляет собой единый блок, который процессор должен адресовать, то есть иметь возможность обратиться к любой единице этого блока памяти. Будь то ячейка оперативной памяти или кластер[1] жёсткого диска.

Важнейшей характеристикой процессора с точки зрения обращения к памяти является обслуживаемая им адресное пространство.

Адресное пространство – это совокупность всей памяти, которую в состоянии адресовать процессор. Для любого компьютера адресное пространство делится на три области:

1. CMA.

Это область стандартной памяти. Занимает диапазон адресов от 0 до 640 kb. Эта область памяти в компьютере есть всегда. Её ровный объём 640kb.

2. UMA.

Область верхней памяти. Занимает диапазон адресов от 640kb до 1Mb. Её размер 384kb, в ней хранятся BIOS и CMOS, а также другие дополнительные модули.

3. XMA.

Область расширенной памяти. Расположена в диапазоне адресов от 1Mb до верхнего байта[2].

Наши рекомендации