Модель прерываний в IA-64 Параллельное исполнение инструкций «выдача» исключений последовательная «Прерывание» в IA – 64 это: Авария (Abort) Ошибка (Fault ) Ловушка (Trap) Прерывание (Interrupt) Жесткий сброс От схем контроля Возникает до завершения инструк-ции, например, промах в TLB Возникает после завершения инст- рукции, Асинхронные внешние события От периферии или платформы Мягкий сброс
IIP IPSR Модель прерываний в IA-64 0x1000INST A 0x1010INST B 0x1020INST C... 0x1000INST A 0x1010INST B 0x1020INST C... 0x4000INST X 0x4010INST Y 0x4020RFI.. 0x4000INST X 0x4010INST Y 0x4020RFI.. IP 0x1010 PSR Текущее состояние процессора Прикладная программа Программа обработчик Банк 1 Рег. (прикл. данные) Банк 1 Рег. (прикл. данные) Банк 0 Рег. (данные ОС) Обычное исполнение программы: IP Исполняется инструкция А Регистры прерывания
IIP IPSR Модель прерываний в IA-64 0x1000INST A 0x1010INST B 0x1020INST C... 0x1000INST A 0x1010INST B 0x1020INST C... 0x4000INST X 0x4010INST Y 0x4020RFI.. 0x4000INST X 0x4010INST Y 0x4020RFI.. IP 0x1010 PSR Текущее состояние процессора Прикладная программа Программа обработчик Банк 1 Рег. (прикл. данные) Банк 1 Рег. (прикл. данные) Банк 0 Рег. (данные ОС) Обычное исполнение программы: IP Исполняется инструкция В Регистры прерывания
IIP 0x1010 IPSR Модель прерываний в IA-64 0x1000INST A 0x1010INST B 0x1020INST C... 0x1000INST A 0x1010INST B 0x1020INST C... 0x4000INST X 0x4010INST Y 0x4020RFI.. 0x4000INST X 0x4010INST Y 0x4020RFI.. IP 0x1010 PSR Текущее состояние процессора Прикладная программа Программа обработчик Банк 1 Рег. (прикл. данные) Реакция на прерывание IP 24 прерывание 127 Банк 0 Рег. (данные ОС) Банк 0 Рег. (данные ОС) Переключение банков Регистры прерывания Сохранение состояния процессора Процессор пере- ключается на 0 банк регистров, подготавли- ваясь к исполнению обработчика прерываний 1 Процессор со- храняет те- кущее состояние в ре- гистрах прерывания до начала обработки пре- рывания 2
IIP IPSR Модель прерываний в IA-64 0x1000INST A 0x1010INST B 0x1020INST C... 0x1000INST A 0x1010INST B 0x1020INST C... 0x4000INST X 0x4010INST Y 0x4020RFI.. 0x4000INST X 0x4010INST Y 0x4020RFI.. IP 0x4000 PSR Текущее состояние процессора Прикладная программа Программа обработчик Обработка прерывания IP 0x Исполняется инструкция X обработчика прерываний 16 Банк 0 Рег. (данные ОС) Банк 0 Рег. (данные ОС) Банк 1 Рег. (прикл. данные) Регистры прерывания
IIP IPSR Модель прерываний в IA-64 0x1000INST A 0x1010INST B 0x1020INST C... 0x1000INST A 0x1010INST B 0x1020INST C... 0x4000INST X 0x4010INST Y 0x4020RFI.. 0x4000INST X 0x4010INST Y 0x4020RFI.. IP 0x4010 PSR Текущее состояние процессора Прикладная программа Программа обработчик Обработка прерывания IP 0x Исполняется инструкция Y обработчика прерываний 16 Банк 1 Рег. (прикл. данные) Банк 0 Рег. (данные ОС) Банк 0 Рег. (данные ОС) Регистры прерывания
IIP IPSR Модель прерываний в IA-64 0x1000INST A 0x1010INST B 0x1020INST C... 0x1000INST A 0x1010INST B 0x1020INST C... 0x4000INST X 0x4010INST Y 0x4020RFI.. 0x4000INST X 0x4010INST Y 0x4020RFI.. IP 0x4020 PSR Текущее состояние процессора Прикладная программа Программа обработчик Восстановление состояния IP 0x Банк 1 Рег. (прикл. данные) Банк 1 Рег. (прикл. данные) Банк 0 Рег. (данные ОС) Переключение банков Восстановление состояния процессора IP Возврат к прикладно й программе Регистры прерывания Процессор пере- ключается обратно на банк 1 регистров, 1 Процессор восстанавли- вает состояние из ре- гистров прерывания перед возвратом из прерывания 2
IIP IPSR Модель прерываний в IA-64 0x1000INST A 0x1010INST B 0x1020INST C... 0x1000INST A 0x1010INST B 0x1020INST C... 0x4000INST X 0x4010INST Y 0x4020RFI.. 0x4000INST X 0x4010INST Y 0x4020RFI.. IP 0x1010 PSR Текущее состояние процессора Прикладная программа Программа обработчик Банк 1 Рег. (прикл. данные) Банк 1 Рег. (прикл. данные) Банк 0 Рег. (данные ОС) Возобновление обычного исполнение программы: IP Исполняется инструкция В Регистры прерывания