
- •Память с адресной организацией (с произвольным доступом).
- •Непосредственная адресация
- •Когда может произойти стековый доступ к памяти
- •Как происходит стековый доступ к памяти
- •Регистровый файл
- •Счетчик команд
- •Идея базовой адресации – достижение позиционной независимости. (к 50-51)
- •Непосредственная адресация
- •3. Проверки и передача управления.
- •3.4. Команда организации цикла
- •Переполнение при действиях над целыми числами.
- •Целые со знаком: дополнительный код
- •Сложение и вычитание
- •Поддержка действий с повышенной разрядностью
- •Как перейти от представления с однарной точностью к представлению с двойной ?
- •Особые случаи при действиях над числами пт
- •Неточный результат - округление и его виды
- •Численное антипереполнение, денормализованные и ненормализованные числа, псевдонуль.
- •Действия с бесконечностями
- •Регистр состояния программы (Program status register)
- •Счетчик команд
- •Способы синхронизации: программный опрос состояния versus прерывания
- •Таймерная подсистема
- •Основной счетчик
- •Техника измерения времени (чтение счетчика)
- •Ассоциативная память
3. Проверки и передача управления.
Эти команды позволяют реализовать конструкции
IF ... THEN ... ELSE
REPEAT ... UNTIL
WHILE ... DO
FOR ... DO
GOTO ...
Для выполнения этих функций в каждом процессоре есть регистр флагов (регистр состояния), разряды которого устанавливаются или сбрасываются в зависимости от свойств результата предыдущей операции. Анализируются:
- равенство нулю
- знак
- перенос
- арифметическое переполнение
- перенос между тетрадами
Какой способ адресации чаще всего используется в командах условного ветвления для задания адреса перехода?
Адресация в командах ветвления может быть разного типа:
а) полный адрес перехода
б) относительная (смещение)
в) пропуск команды.
Но чаще всего короткая относительная. Короткая, потому что участки, которые надо обходить, имеют не очень большую длину. Если надо перейти далеко, то надо комбинировать условный переход с безусловным JMP.
В системах команд многих процессоров отсутствует команда организации цикла. Как в таких системах команд организовать цикл?
3.4. Команда организации цикла
Позволяет оранизовать в программе структуры FOR ... DO более простым способом, чем с помощью команд ветвления.
LOOP*, DJNZ
Чем отличается команда обращения к подпрограмме (синоним - команда вызова процедуры) CALL (JSR, BL) от команды безусловного перехода JMP (B) ?
Для экономии памяти, занимаемой программой, делают возможность записать эту последовательность команд только в одном месте памяти и передавать управление к ней из разных мест вызывающей программы.
При обращении / возврате надо обеспечить:
а) передачу управления в любое место памяти, поэтому "длинная" адресация;
б) возврат в то место, откуда был вызов (т.е. место вызова должно автоматически запоминаться)
в) запоминание промежуточных результатов, имеющихся к моменту вызова (содержимое регистров процессора, а при рекурсивном вызове процедуры надо запоминать и промежуточные результаты работы самой процедуры). Для запоминания всего этого чаще всего используется стек (участок ОЗУ или специальное ОЗУ со стековой адресацией). Часть вышеперечисленной информации запоминается автоматически при выполнении команды CALL, а сохранение оставшегося - дело программиста.
JMP Адресация делается такой, чтобы можно было "прыгнуть" в любое место программной памяти ("длинная" адресация).
Что такое «ввод-вывод, отображенный (отображаемый) на память»?
В архитектуре ARM реализован вывод-вывод, отображаемый на память. Это значит, что объекты (регистры) периферийных устройств РПУ видны программисту так же, как ячейки памяти, и для действий с содержимым РПУ можно использовать весь набор команд.
Что такое «изолированный ввод-вывод»"
Соответственно, программист не видит регистры периферийных устройствю
В чем преимущества и недостатки изолированного ввода-вывода по сравнению с отображаемым на память?
Хороший, блять, вопрос.
70_72. Команды ввода – вывода (обмена с периферийными устройствами1).
Фактически, команды это тоже команды пересылки. Основное отличие между пересылками «регистр-память» и пересылками из/в периферийное устройство ПУ состоит в том, что скорость фоункционирования ПУ может существенно отличаться от скорости работы процессора, и поэтому ПУ далеко не всегда бывает готово к обмену.
- Устройств ввода-вывода (УВВ) много, надо как-то адресовать
- Устройства ввода-вывода разные, надо как-то унифицировать правила обмена.
- Скорость работы УВВ отличается от скорости работы процессора, надо как-то синхронизировать работу ПРЦ и УВВ.
Что такое УВВ для процессора ? Источник (или приемник) таких же данных, какие бегают внутри процессора. Чаще всего обмен идет байтами или словами (но иногда битами - последовательный обмен). Т.е. обмен с УВВ логически не отличается от обмена с регистром или с ячейкой памяти, а команды ввода-вывода являются разновидностью команд пересылки данных
Варианты структуры взаимодействия ПРЦ и УВВ:
а) УВВ имеют свою систему нумерации (адресации), и в системе команд есть отдельные команды I/O, (как в IBM PC)
IN - команда ввода из ВНУ
OUT - команда вывода на ВНУ
В этом случае в формате команды УВВ предусматривается своя система адресации.
б) Обращение к УВВ такое же, как к памяти, часть адресов использована для ВНУ (ввод / вывод, отображенный на память).
Достоинства: -можно использовать для обмена с ВНУ всю систему команд, в том числе команды обработки, что сокращает программу.
Недостатки:
-команда вв/выв длиннее и дольше выполняется, чем в а)
-сложнее устройство декодирования адреса в ВНУ.
Укажите, какие из перечисленных видов данных могут быть отнесены к категории «битовых полей»
Битовые поля - вид данных, когда отдельные элементы данных имеют разный размер (в битах), нередко меньший, чем МАЕ, и при этом несколько битовых полей упакованы в переменную стандартной длины (один, два, четыре байта). Характерный пример - отдельные поля в машинной команде (этот вид данных является выходным для трансляторов). Другой пример - входные данные, получаемые управляющими ЭВМ (микроконтроллерами) с объекта управления.
Особенность битовых полей состоит в том, что при обработке требуется манипулировать с одним битовым полем так, чтобы не исказить значений других битовых полей,.
Почему для «машинного» представления данных используется двоичная систем счисления?
Форма представления данных во всех современных СВТ - двоичный код. Это означает, что число изображается двоичным кодом. (Вначале пытались строить вычислительные устройства, работающие в десятичной системе счисления, поскольку десятичная система счисления привычна для человека. Но потом чтало ясно, что технически проще реализовать элементы с малым количеством дискретных устойчивых состояний. Некоторые старые виды логических элементов использовали троичную систему счисления, но сегодня все работают в двоичной)
Как чаще всего в цифровых устройствах изображают целые знакопеременные величины ?
Signed int (?) вы ебанулись (?)
Как в процессоре принято обнаруживать факт переполнения разрядной сетки при выполнении сложения или вычитания ?