![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Первый цикл (первой передачи данных на рис. 7.7) после такта Тi всегда выполняется без конвейеризации адреса. Для того, чтобы следующий цикл обращения к памяти был конвейеризованным, память (как исполнитель) должна в предпоследнем такте Т2 (за один такт до выдачи сигнала READY#) установить активный уровень сигнала выдачи адреса NA# (рис. 7.7).
МП по активному сигналу выдачи адреса NA# инициализирует вместо такта Т2 такт Т2Р, в котором на шине МП устанавливается адрес и управляющие сигналы для выполнения следующего цикла обращения к памяти (вторая передача на рис. 7.7).
Цикл из последовательности Т1, Т2, Т2р считается неконвейерным, но переходным, так как в такте Т2р заканчивается текущая передача данных и начинается следующая передача, а именно, от задатчика к исполнителю передается адрес для следующего цикла. Таким образом, еще до окончания
операции чтения или записи на шине адреса выставляется новый адрес.
2-я передача ® | |||||||||
1-ая передача® | 3-я передача ® | ||||||||
Переход к конвейерному циклу | Конвейерный цикл | Конвейерный цикл | |||||||
ТАКТЫ | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
CLK | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
ADRESS | ![]() | ![]() ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
W/R# | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
ADS# | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
NA# | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
READY# | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
DATA | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Рис. 7.7. Временная диаграмма перехода на конвейерный цикл с выходом через Ti |
Это вполне допустимо, так как текущий адрес уже зафиксирован (в регистре адреса памяти) в такте Т2, а следующий адрес, вероятнее всего, будет адресовать другой банк памяти (при расслоении адресов). В случае же повторной адресации одного и того же банка памяти, произойдет повторение такта Т2р до освобождения адресуемого банка памяти.
В такте Т2р в циклах чтения память (или другой исполнитель) выставляет на шину данных запрошенные данные. Поэтому, в отличие от такта Т1, процессор не может выставлять данные (при записи в следующем цикле). Данные выставляются после завершения такта Т2р. Задержка по данным при трехтактных передачах допустима, так как они используются только после задержки в дешифрации адреса обращения.
Одновременно такт Т2р является завершающим тактом текущей передачи. В нем процессор проверяет сигнал окончания цикла READY#. При активном сигнале READY# цикл текущей передачи (первой на рис. 3.2) заканчивается.
Следующим тактом становится Т1р. Это второй такт передачи (рис. 7.7), начавшейся в такте Т2р переходного цикла. Это такт, в котором, как и в такте Т2 неконвейерного цикла, процессор повторяет все сигналы, выставленные ранее, кроме сигнала использования адреса ADS#. Сигнал ADS# переводится в пассивное состояние. Кроме этого, в цикле записи процессор выставляет данные.
В такте Т1р процессор проверяет активность сигналов запроса нового адреса (продолжения конвейеризации) и внутреннего запроса цикла Z.
Чтобы обращение к памяти выполнялось далее в конвейерном режиме, необходимо в состоянии T1p каждый раз устанавливать активный уровень сигнала Nа#.
При активном сигнале NA# такт Т1р сменяется тактом Т2р. Этот такт является окончанием второй передачи.
В такте Т2р начинается новый цикл и заканчивается старый. Его можно было бы считать как первым, так и последним циклом передачи. Но в такте Т2р "досрочно" выставляется только адрес данных (конвейерная передача адреса). Вероятно поэтому такт Т1р считается первым, а Т2р – конечным тактом конвейерного цикла. Конвейерные циклы продолжаются, пока в процессоре формируется внутренний запрос на цикл передачи Z. Запрос Z проверяется в каждом такте Т1р. При отсутствии запроса Z за тактом Т1р следует не такт начала нового конвейерного цикла Т2р, а такт Т2i (третья передача на рис.2). Это такт завершения конвейерного цикла при отсутствии сигнала внутреннего запроса Z.
Теоретически возможно окончание конвейерного цикла и при отсутствии в такте Т1р сигнала запроса следующего адреса Na# от исполнителя. В этом случае такт Т1р сменяется тактом Т2 (такт окончания неконвейерного цикла).
Конвейерная передача возможна только при отсутствии сигнала BS16# в момент проверки сигнала запроса следующего адреса Na#.
Вопросы для самопроверки:
1. Простые циклы, начало, окончание.
2. Переход на конвейерные циклы, сигнал перехода.
3. Особенности схемы памяти для работы в конвейерном режиме.
4. Особенность выставления данных в конвейерном режиме.
Дата публикования: 2014-11-03; Прочитано: 400 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!