процессора и обеспечивает большую производительность, однако контроллер
для write-back кэша значительно сложнее.
Контроллер кэша отслеживает адреса памяти, выдаваемые процессором, и
если адрес соответствует данным, содержащимся в одной из строк кэша, то
отмечается "попадание в кэш", и данные из кэша направляются в процессор.
Если данных в кэше не оказывается, то фиксируется "промах", и инициируются
действия по доставке в кэш из памяти требуемой строки. В ряде процессоров,
выполняющих одновременно совокупность команд, допускается несколько
промахов, прежде чем будет запущен механизм замены строк.
Рассуждения о том, какой способ организации кэш-памяти более пред-
почтителен, должны учитывать особенности генерации программ компи-
лятором, а также использование программистом при подготовке программы
сведений о работе компилятора и контроллера кэш-памяти. То есть более
простой способ организации кэш-памяти, поддерживаемый компилятором, при
исполнении программ, написанных в соответствии с некоторыми правилами,
обусловленными особенностями компиляции и организации кэш-памяти,
может дать лучший результат, чем сложный способ организации кэш-памяти.
Так как области памяти программ и данных различны и к ним происходит
одновременный доступ, то для повышения параллелизма при работе с памятью
делают отдельные кэши команд и данных.
Расслоение памяти. Другим структурным способом уменьшения времени
доступа к памяти служит расслоение памяти. В предположении, что выборка из
памяти выполняется по последовательным адресам возможно использование k
блоков памяти с размещением в блоке i, где i=0,…, k-1, слов с адресами
n=i+krrp mod k, где р=0,1,..., М. В этом случае возможно k параллельных
обращений в память по адресам, принадлежащим различным блокам. Поэтому
выборка команд программы за исключением команд, выбираемых как
результат ветвления, может быть ускорена применением расслоения памяти.
Аналогично может быть ускорена обработка массивов данных,
последовательные элементы которых помещаются в разные блоки памяти.
Многоуровневая иерархия и расслоение памяти могут использоваться
совместно.
CISC- и RISC- процессоры.
АППАРАТНЫЕ ВОЗМОЖНОСТИ ПРОЦЕССОРОВ ОПРЕДЕЛЯЮТСЯ УРОВНЕМ РАЗВИТИЯ
МИКРОЭЛЕКТРОННОЙ ТЕХНОЛОГИИ, КОТОРАЯ ОГРАНИЧИВАЕТ ЧИСЛО ЛОГИЧЕСКИХ
ЭЛЕМЕНТОВ, РАЗМЕЩАЕМЫХ НА КРИСТАЛЛЕ. ФАКТИЧЕСКИ ЕГО РАЗМЕРЫ И ЧИСЛО
РАЗМЕЩАЕМЫХ НА НЕМ ТРАНЗИСТОРОВ ПОЧТИ ЦЕЛИКОМ ОПРЕДЕЛЯЮТ ТОТ НАБОР
АППАРАТНЫХ УСТРОЙСТВ, КОТОРЫЕ ВКЛЮЧАЮТСЯ В СОЗДАВАЕМЫЙ ПРОЦЕССОР.
РАЗРАБОТЧИКИ СТРЕМЯТСЯ ВВЕСТИ В ЕГО СОСТАВ КАК МОЖНО БОЛЬШЕЕ ЧИСЛО
РАЗЛИЧНЫХ АРИФМЕТИЧЕСКИХ И ЛОГИЧЕСКИХ УСТРОЙСТВ, СОПРОЦЕССОРОВ И Т.Д.,
ПОСКОЛЬКУ ОЧЕВИДНО, ЧТО АППАРАТНАЯ РЕАЛИЗАЦИЯ КАКОЙ-ЛИБО ФУНКЦИИ
ОБЕСПЕЧИВАЕТ БОЛЕЕ БЫСТРОЕ ЕЕ ВЫПОЛНЕНИЕ, ЧЕМ ПРОГРАММНАЯ. ДА И ДЛИНА
КОДА ДЛЯ РЕАЛИЗУЕМЫХ АППАРАТНЫМ ПУТЕМ ФУНКЦИЙ СУЩЕСТВЕННО МЕНЬШЕ,
ПОЭТОМУ В 80-Х ГОДАХ ПРОЦЕССОРЫ "РОСЛИ ВШИРЬ", ОСНАЩАЛИСЬ НОВЫМИ
УЗЛАМИ, СОВЕРШЕНСТВУЯ УЖЕ ИМЕЮЩИЕСЯ. КРОМЕ ТОГО, РАЗРАБОТЧИКАМ