- •Архитектура вычислительных систем
- •Лекция №2 Многоуровневые организации памяти.
- •Иерархия памяти в вычислительной системе.
- •Классификация полупроводниковых зу по способу доступа к данным и хранению.
- •Краткая характеристика памяти
- •Память fifo
- •Циклическая память
- •Средства повышения быстродействия памяти
- •Полностью ассоциативная кэш.
- •Последовательная обработка команд в процессоре.
- •Классификация блоков управления по способам реализации выполнения команд: c жесткой логикой, микропрограммное управление
- •Блок микропрограммного управления
- •Идеология организации без упорядоченного выполнения
- •Переключение задачи.
Классификация блоков управления по способам реализации выполнения команд: c жесткой логикой, микропрограммное управление
Блок управления.
Выполнение машинной команды в процессоре, как было отмечено ранее, разбивается на этапы называющимися машинными циклами.
Реализация этих этапов в процессоре осуществляется двумя способами управления: 1) микропрограмма ; 2) жесткая логика.
Прежде чем рассматривать эти два этапа отметим их применение в интерпретации команд в процессоре с точки зрения эволюционного развития его архитектуры.
Способ «жесткая логика» реализуется аппаратными средствами с использованием комбинационных схем, вырабатывающих распределенные во времени управляющие сигналы в процессоре, необходимые для выполнения команд.
В этих комбинационных схемах связи между базовыми логическими элементами являются постоянными и определяются зависимостями выраженными в математических формулах Булевой алгебры, которые устанавливают соответствия между значениями входных и выходных сигналаов.
Модернизация логики работы такого блока управления возможна только путем схемного изменения.
Микропрограммное управление.
Суть этого способа заключается в том что блок управления содержит память, в которую записываются микропрограммы, в которых каждая микрокоманда управляет процессором в течение машинного такта. Для этого в каждом такте процессора из памяти микропрограмм происходит чтение микрокоманды, которая содержит информацию, изменяющую состояния элементов в блоках процессора в течение машинного такта.
Данный способ позволяет динамически изменять архитектуру блока управления, добавляя новые функциональные возможности путем добавления в управляющую память новых микропрограмм. Для этого нет необходимости изменять все схемные связи в блоке управления. Для этого только необходимо чтобы память микропрограмм была перезаписываемой.
Применение этого способа дало разработчикам возможность увеличить функциональнее возможности процессора. И особо бурное применение этого способа приходится на 70-е годы прошлого столетия. Но этот способ имеет недостаток, который заключается в следующем:
Микропрограммное управление позволяет выполнять только одну команду в процессоре, которая монополизирует блок управления, кодом операции, который является вектором вызова конкретной микропрограммы и, пока она не реализуется, переход к выполнению другой не возможен. А требования времени ставили задачу повысить производительность процессора.
Вот тогда и появилось направление RISC архитектуры с жесткой логикой. То есть, эволюция сделала виток, но только жесткая логика была модернизована и перестала удерживать функциональные блоки в связи, как это было на первоначальном этапе до появления микропрограмм управления, когда метод жесткой логики реализовывал только последовательное выполнение команд, когда текущий код команды управлял всеми комбинационными схемами процессора и распределением управляющих сигналов в течение выполнения команды.
RISC архитектура реализовала конвейерную обработку команд, архитектура в которой функциональные блоки процессора, отвечающие за выполнение этапов команд стали независимы друг от друга, а сами команды упростились, и необходимость в их интерпретации через средства микропрограммного управления отпала сама собой, а жесткая логика взяла на себя функции управления конвейером, устранение конфликтов, выполнение операций в функциональных блоках и реакции на все отклонения в процессе выполнения команд, представляя вышестоящему уровню архитектуры команд через систему прерывания всю информацию для обработки этих отклонений.
В системах имеющих наработанные сложные команды ( INTEL ) пришлось для реализации конвейерной обработки «резать» свои команды на микрооперации, а для команд которые не поддаются разделке аппаратными средствами, хранить микрооперации в отдельной памяти. Но при этом во всех случаях для сохранения зависимости микроопераций одной команды вводить признаки принадлежности их к ней (биты цепочки). В принципе способ микропрограммного управления применим и для конвейерной организации и параллельной обработки. Только для этого каждый функциональный блок должен содержать свою память микропрограммы, а к тому же еще должен быть диспетчер, который отвечает (отслеживает) работу всех блоков. Примером частной реализации этой идеи можем привести архитектуру 1046, в которой был блок акселератора со своей памятью микропрограмм реализующий все операции: деление, умножения, распаковки, упаковки, преобразование десятичной в двоичную систему и наоборот с одновременным выполнением микрокоманд из основной управляющей памяти, давая возможность параллельной работе основного сумматора и другим функциональным блокам по формированию конечного результата в регистр процессора и записи его в память.