Компьютер составлен из нескольких физических устройств, каждое из которых подключено к одному блоку, называемому системным
38. Программная модель микропроцессора
На современном компьютерном рынке наблюдается большое разнообразие различных типов компьютеров. Поэтому возможно предположить возникновение у потребителя вопроса – как оценить возможности конкретного типа (или модели) компьютера и его отличительные особенности от компьютеров других типов (моделей).
Рассмотрения для этого одной лишь только структурной схемы компьютера недостаточно, так как она принципиально мало чем различается у разных машин: у всех компьютеров есть оперативная память, процессор, внешние устройства.
Различными являются способы, средства и используемые ресурсы, с помощью которых компьютер функционирует как единый механизм.
Чтобы собрать воедино все понятия, характеризующие компьютер с точки зрения его функциональных программно-управляемых свойств, существует специальный термин – архитектура ЭВМ.
Впервые понятие архитектура ЭВМ стало упоминаться с появлением машин 3-го поколения для их сравнительной оценки.
К изучению языка Ассемблера любого компьютера имеет смысл приступать только после выяснения того, какая часть компьютера оставлена видимой и доступной для программирования на этом языке. Это так называемая программная модель компьютера, частью которой является программная модель микропроцессора, которая содержит 32 регистра в той или иной мере доступных для использования программистом.
Данные регистры можно разделить на две большие группы:
1) 16 пользовательских регистров;
2) 16 системных регистров.
В программах на языке Ассемблера регистры используются очень интенсивно. Большинство регистров имеют определенное функциональное назначение.
Помимо перечисленных выше регистров, фирмы-разработчики процессоров внедряют в программную модель дополнительные регистры, предназначенные для оптимизации определенных классов вычислений. Так, в семействе процессоров Pentium Pro (MMX) корпорации Intel было внедрено MMX расширение от Intel. Оно включает в себя 8 (MM0-MM7) 64-битных регистров и позволяет производить целочисленные операции над парами нескольких новых типов данных:
1) восемь упакованных байт;
2) четыре упакованных слова;
3) два двойных слова;
4) учетверенное слово;
Другими словами, одной инструкцией MMX расширения программист может, например, сложить между собой два двойных слова. Физически никаких новых регистров добавлено не было. MM0-MM7 это мантиссы (младшие 64 бита) стека 80 битных FPU (floating point unit – сопроцессор) регистров.
Кроме того, на данный момент существуют следующие расширения программной модели – 3DNOW! от AMD; SSE, SSE2, SSE3, SSE4. Последние 4 расширения поддерживаются как процессорами фирмы AMD, так и процессорами корпорации Intel.
39. Пользовательские регистры
Как следует из названия, пользовательскими регистры называются потому, что программист может использовать их при написании своих программ. К этим регистрам относятся:
1) восемь 32-битных регистров, которые могут использоваться программистами для хранения данных и адресов (их еще называют регистрами общего назначения (РОН)):
– eax/ax/ah/al;
– ebx/bx/bh/bl;
– edx/dx/dh/dl;
– ecx/cx/ch/cl;
– ebp/bp;
– esi/si;
– edi/di;
– esp/sp.
2) шесть регистров сегментов:
– cs;
– ds;
– ss;
– es;
– fs;
– gs;
3) регистры состояния и управления:
– регистр флагов eflags/flags;
– регистр указателя команды eip/ip.
На следующем рисунке показаны основные регистры микропроцессора:
Регистры общего назначения
40. Регистры общего назначения
Все регистры этой группы позволяют обращаться к своим «младшим» частям. Использовать для самостоятельной адресации можно только младшие 16– и 8-битные части этих регистров. Старшие 16 бит этих регистров как самостоятельные объекты недоступны.
Перечислим регистры, относящиеся к группе регистров общего назначения. Так как эти регистры физически находятся в микропроцессоре внутри арифметико-логического устройства (АЛУ), то их еще называют регистрами АЛУ:
Читать дальше
Конец ознакомительного отрывка
Купить книгу