Для расширения области применения разрабатываемого программного обеспечения на протяжении всей истории развития вычислительной техники предпринимались попытки стандартизировать архитектуры микропроцессоров.
Отсутствие стандартизации не позволяет создавать новые системы путем конструирования из существующих, прошедших апробацию в различных условиях применения большим количеством независимых пользователей.
Одной из попыток комплексного решения проблем стандартизации было формулирование концепции “открытых систем”.
Открытые системы представляют собой совокупность интерфейсов, протоколов и форматов данных, базирующихся на общедоступных, общепринятых стандартах, обеспечивающих переносимость (мобильность) программного обеспечения, взаимодействие между системами, масштабируемость.
Переносимость – свойство, выражающееся в возможности исполнения программы в исходных кодах на различных аппаратных платформах в среде различных операционных систем.
Взаимодействие систем – свойство, выражающееся в способности системы обмениваться информацией с автоматическим восприятием форматов и семантики данных.
Масштабируемость – свойство, выражающееся в возможности исполнения программы на различных ресурсах (объем памяти, число и производительность процессоров) с пропорциональным изменению ресурсов значением показателей эффективности. Важно понимать, что ресурсы могут не только возрастать, но и уменьшаться.
В рамках “открытых систем” архитектура процессора должна поддаваться достаточно простому формальному описанию со спецификацией типов данных, регистров и выполняемых преобразований без “побочных эффектов”.