1. Высокая стоимость программных средств, т.к. необходимо держать постановщика задачи, который преобразует то, чем нам требуется управлять в математическую модель. Также требуется еще ряд специалистов, которые эту математическую модель (абстракцию) смогут интерпретировать в терминах и операциях конкретной ВС, требуется программист.
2. Низкая эффективность и надежность программных средств. Глобальные проблемы мы реализуем в рамках побитовых операций, т.е. получается большой объем кода, а при большом объеме кода и большом количестве специалистов получается много ошибок.
3. Большой объем исполняемого кода.
4. Сложность компиляторов и ОС.
Стимулом для развития архитектур процессора послужило наличие семантического разрыва.
Основные виды семантического разрыва
1. Семантический разрыв между математической моделью и языковыми средствами (устраняется прикладным программным обеспечением с помощью объектно-ориентированного программирования).
2. Семантический разрыв между языковыми средствами и архитектурой процессора (архитектуры для языков высокого уровня). Чтобы решить проблему этого семантического разрыва мы должны сделать процессор, который «ближе» к языкам программирования, т.е. поддерживает различные типы данных и выполняет более сложные операции.
3. Семантический разрыв между ОС и архитектурой ЭВМ (сокращается путем аппаратной поддержки ОС процессором).
4. Семантический разрыв между архитектурой процессора и ПУ (устраняется контроллерами ПУ).
5. Семантический разрыв между предметной областью и архитектурой вычислительной системы.
Цели устранения семантического разрыва
1. Сокращение длительности проектирования программных средств.
2. Повышение надежности программы.
3. Уменьшение сложности компилятора.
Сократить один семантический разрыв можно только за счет другого. Архитектуры процессоров полностью не устраняют семантический разрыв, просто мы приближаем процессор к тем объектам и операциям, которые используются в языках высокого уровня. Сейчас 90% затрат идет на разработку программного обеспечения, а не на разработку ЭВМ.
Методы сокращения семантического разрыва
1. Увеличение мощности системы команд. Команды манипулирования со структурами, наборами (множествами), команды типа DO, WHILE, FOR.
2. Использование новых принципов организации памяти (память с семантической структурой, теговая память).
3. Переложение ряда функций ОС на аппаратные средства (управление процессами, управление и защита памяти, управление ресурсами). Пример: имеются специальные микросхемы процессоров или сопроцессоров, которые управляют ресурсами, процессами, и предназначены для реализации управления операционной системой.