Шпаргалка: Командный цикл процессора
2. Аппаратный метод: Реализуется посредством регистровых окон. Упрощение и ускорение передачи параметров между вызывающей и вызываемой процедурами.
Весь набор регистров процессора делится на множество небольших групп – регистровых окон (register window). В процессе выполнения программы:
- каждое окно связывается с определенной подпрограммой;
- в любой момент процессору доступны регистры только одного окна;
- при вызове очередной подпрограммы процессор автоматически переключается на использование регистрового окна, связанного с ней;
- окна вызывающей и вызываемой подпрограмм частично перекрываются, благодаря чему:
возможна автоматическая передача параметров;
не требуются операции пересылки данных.
Обычно выделяют в регистровом окне: локальные регистры, регистры параметров (параметры вызова данной подпрограммы и сохранение результата), временные регистры(параметры вызова подпрограмм). Организация: циклический буфер. CWP – указатель текущего окна (current window pointer): определяет окно текущей активной подпрограммы. SWP – указатель сохраненного окна (saved window pointer): информация об окне, данные из которого были сохранены в памяти по причине переполнения циклического буфера.
6. Каким образом в RISC-архитектуре реализуются локальные переменные?
Большинство переменных в RISC-архитектуре сохраняется в регистрах самого процессора, а локальные обязательно только в регистрах процессора, именно за счет этого и обеспечивается эффективная работа RISC-архитектуры.
7. Каким образом могут быть организованы регистровые окна?
Путем разбиения всего количества регистров ЦП на группы определенной величины и присваивания каждой группы определенной подпрограмме выполняющейся в ЦП. При выполнении этой подпрограммы ЦП будут доступны только регистры окна закрепленного за ней.
8. Что означает понятие «перекрывающиеся регистровые окна»?
При переходе ЦП от одной подпрограммы к другой он автоматически меняет регистровое окно, с которыми работает. Исходя из того, что в регистровом окне есть области локальных регистров, глобальных регистров и временных, то существует возможность передачи параметров из временных регистров вызывающей подпрограммы в локальные вызываемой, т.е. окна частично перекрываются обеспечивая тем самым автоматическую передачу параметров и отсутствие операции пересылки данных. Т.е. область временных регистров окна одного уровня физически представляет те же регистры, что и область регистров параметров окна следующего уровня
9. Как используются CWP и SWP?
CWP – указатель текущего окна (current window pointer), определяет окно текущей активной подпрограммы. Обычно хранится в ССП.
В подпрограмме обращение к регистру задается указанием смещения регистра относительно CWP.
SWP – указатель сохраненного окна (saved window pointer), содержит информацию об окне, данные из которого были сохранены в памяти последними (по причине переполнения циклического буфера).
10. Какие распространены варианты хранения глобальных переменных в RISC?
Два способа представления:
компилятор резервирует определенные ячейки в памяти; доступ – в соответствии с режимами адресации памяти;
отдельное (от локальных переменных) окно, регистры которого: имеют фиксированные номера, доступны из любой подпрограммы.
11. Какой должна быть скорость выполнения команд идеальным RISC-конвейером?
Для RISC-конвейера каждая команда (не менее 75 %) должна выполнятся за один машинный цикл или такт.
12. Каким образом в RISC используется основная память?
В RISC архитектуре обращение к ОП сводится к минимуму, в большинстве случаев пересылки дынных ведутся на межрегистровом уровне. Для обращения к оперативной памяти используются специальные команды - LOAD и STORE.
На что оказывает влияние одинаковая длина RISC-команд?
Длина команд фиксирована и равна длине машинного слова. Размещение полей в формате, особенно поля кода операции, также фиксировано. Это позволяет значительно упростить схему дешифрации команды и совместить расшифровку кода операции с обращением к регистрам.