На современном компьютерном рынке наблюдается большое разнообразие различных типов компьютеров. Поэтому возможно предположить возникновение у потребителя вопроса – как оценить возможности конкретного типа (или модели) компьютера и его отличительные особенности от компьютеров других типов (моделей). Рассмотрения для этого одной лишь только структурной схемы компьютера недостаточно, так как она принципиально мало чем различается у разных машин: у всех компьютеров есть оперативная память, процессор, внешние устройства. Различными являются способы, средства и используемые ресурсы, с помощью которых компьютер функционирует как единый механизм. Чтобы собрать воедино все понятия, характеризующие компьютер с точки зрения его функциональных программно-управляемых свойств, существует специальный термин – архитектура ЭВМ. Впервые понятие архитектура ЭВМ стало упоминаться с появлением машин 3-го поколения для их сравнительной оценки. К изучению языка Ассемблера любого компьютера имеет смысл приступать только после выяснения того, какая часть компьютера оставлена видимой и доступной для программирования на этом языке. Это так называемая программная модель компьютера, частью которой является программная модель микропроцессора, которая содержит 32 регистра в той или иной мере доступных для использования программистом. Данные регистры можно разделить на две большие группы: 1) 16 пользовательских регистров; 2) 16 системных регистров. В программах на языке Ассемблера регистры используются очень интенсивно. Большинство регистров имеют определенное функциональное назначение. Помимо перечисленных выше регистров, фирмы-разработчики процессоров внедряют в программную модель дополнительные регистры, предназначенные для оптимизации определенных классов вычислений. Так, в семействе процессоров Pentium Pro (MMX) корпорации Intel было внедрено MMX расширение от Intel. Оно включает в себя 8 (MM0-MM 7) 64-битных регистров и позволяет производить целочисленные операции над парами нескольких новых типов данных: 1) восемь упакованных байт; 2) четыре упакованных слова; 3) два двойных слова; 4) учетверенное слово; Другими словами, одной инструкцией MMX расширения программист может, например, сложить между собой два двойных слова. Физически никаких новых регистров добавлено не было. MM0-MM7 это мантиссы (младшие 64 бита) стека 80 битных FPU (floating point unit – сопроцессор) регистров. Кроме того, на данный момент существуют следующие расширения программной модели – 3DNOW! от AMD; SSE, SSE2, SSE3, SSE4. Последние 4 расширения поддерживаются как процессорами фирмы AMD, так и процессорами корпорации Intel.