1. Один набор регистров используется для извлечения, декодирования и выполнения микрокоманд, тогда как другой применяется для извлечения, декодирования и выполнения команд машинного языка в соответствии с микропрограммой.
2. Конвейер может содержать команды В1В0 (выполняемая в данный момент), 5002 и, возможно, даже В0АА. Если зна- чение в регистре 0 равно значению в регистре 1, выполняется переход к ячейке с адресом В0 и работа, затраченная на подготовку команд на конвейере, оказывается бесполезной. Однако при этом не происходит потери времени, поскольку работа, затраченная на эти команды, не требовала дополнительного времени.
3. Если не предпринять меры предосторожности, информация из ячеек с адресами F8 и F9 будет извлечена в качестве команды еще до того, как предыдущая часть программы получит возможность изменить содержимое этих ячеек.
4. а) Первым прочитать хранящееся в этой ячейке значение может центральный процессор, который пытается добавить 1 к ее содержимому. Затем это же значение читает другой центральный процессор. (Обратите внимание, что в этом случае оба процессора считали одно и то же значение.) Если первый центральный процессор завершит операцию сложения и запи- шет результат назад в ячейку до того, как второй процессор завершит операцию вычитания и запишет свой результат, то окончательное значение, хранящееся в ячейке, будет отражать результаты работы только второго процессора.
б) Центральные процессоры считывают данные из ячейки так же, как это было описано выше, но на этот раз второй центральный процессор может записать результаты своей работы раньше первого центрального процессора. В результате окончательное значение, записанное в ячейке, будет отражать результаты работы только первого центрального процессора.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.