
- •Базовые понятия компьютерных систем. Классификация компьютерных систем.
- •Основные характеристики процессора
- •Основные компоненты программного обеспечения
- •Структура по
- •Системы счисления
- •Представление двоичных чисел
- •Дробные числа.
- •Аналоговые устройства
- •Цифровые устройства
- •Роль математики и логики в создании кс.
- •Битовые строки
- •Формы представления переключательной функции
- •Минимализация функции алгебры логики (фал)
- •Понятие «Базис»
- •Триггеры
- •Асинхронные rs-триггеры с инверсными входами
- •Регистры
- •Сдвиговые регистры (сдвигающие)
- •Счётчик
- •Сумматоры
- •Шифратор MxN (Coder – cd)
- •Принципиальная схема компьютера (кс)
- •Команда
- •Локальная операция
- •Процессор
- •Двухадресный процессор
- •Двухадресный процессор 1-ого типа
- •Двухадресный процессор 2-ого типа
- •Процессоры с регистрами общего назначения (рон)
- •Система команд фиксированной длинны
- •Система команд разной длины. Битовая память.
- •Косвенные, непосредственные, относительные адреса
- •Использование команд
- •Непосредственный адрес
- •Относительный адрес
- •Формат для относительной адреса:
- •Пересылки
- •Обмен с внешней памятью
- •Команды передачи управления Циклы
- •Блок – схема разветвления
- •Переадресация
- •Цикл итерационного типа
- •Цикл смешанного типа
- •Косвенные адреса
- •Автоинкремент/декремент
- •Индексный регистр
- •Подпрограммы и ввод/вывод
- •Сохранение адреса возврата в регистре
- •Использование стеков
- •Передача параметров
- •Операции ввода/вывода
- •Программно управляемый ввод/вывод
- •Сегментная организация памяти
- •Кэш прямого отображения
- •Ассоциативный кэш
- •Организация процессора Конвейер команд
- •Задержка работы устройств
- •Конфликты по ресурсам
- •Явный конфликт по данным
- •Передача управления
- •Условный переход
- •Основные направления развития системы команд
- •Архитектура с командным словом сверх большой длины
Относительный адрес
Константы многоразового использования бывает локальными и глобальными. Локальность определяется относительно конкретной команды. Константа, используемая командой часто, оказывается локальной для нее. На такие константы рассчитана относительная адресация. Двухадресная команда с относительным адресом короче, чем команда типа “регистр-память”.
Формат для относительной адреса:
Р |
R1 |
D2 |
D2 – целое со знаком. D2 используется в качестве смещения относительно УК.
Выполнение команды:
((УК)) РК
(УК) + l УК
Дешифрация Р
(R1) r1
((УК) + D2) r2
(r1)p(r2) r3
(r3) R1
Перейти к пункту 1
Пересылки
Для организации пересылок вводится два новых регистра.
РАП – регистр адреса памяти
РДП – регистр данных памяти
Через эти регистры процессор связывается с ОП. По шине адреса в ОП передается адрес, а по шине данных - из ??? в ОП. Когда производится операция чтения или запись результата, адрес засылается в РАП. По команде чтения ОП пересылает содержимое регистра выставленного адреса в РДП. Если команду записать, то содержимое регистра данных передается в ОП, т.е имеется группа команд, называемых командами пересылки. Они(команды) имеют формат:
(R1) R2 |
(R1) A1 |
(A1) R1 |
(A2) R2 |
Распространены в двухадресных и одноадресных процессорах где копии необходимы для сохранения данных, уничтожаемых арифметическими операциями. Все пересылки выполняются через ЦП, а именно через регистр данных памяти. Если нужно содержимое ячейки А переслать в В, то операция выполняется в два шага:
(
А)
РДП
Пересылка из А в В
(РДП) В
Обмен с внешней памятью
ВЗУ управляется контроллером – специализированным процессорами, имеющими собственные регистры: регистр данных и регистр состояния. РС хранит информацию о готовности ВЗУ к работе. Есть регистр вида: ввод или вывод.
В компьютерах используется отдельное адресное пространство для внешних устройств, поэтому имеются одинаковые номера у регистров и контроллера и некоторых ячеек. Чтобы различать их, вводится команда, которая обращается к регистрам контроллера: команды ввода и вывода(обмена).
Команды передачи управления Циклы
Разветвления в алгоритмах и программах.
Важный элемент алгоритмов - разветвление, т.е момент, когда возможны альтернативные варианты продолжения.
Блок – схема разветвления
Реализация алгоритма требует двух команд перехода, это связано с тем, что оперативная память линейна, и ветви алгоритма располагаются последовательно.
ОП
|
|
|
|
|
|
|
|
|
|

Команда условного перехода
Ветвь 1
Команда безусловного перехода
Ветвь 2
Общая часть 2
Имеют место алгоритмы в которых ветвь 2 отсутствует, тогда команда безусловного перехода не нужна.
Команда безусловного перехода - простейшая из команд передачи управления. Состоит из кода операции и адреса перехода.
Р |
… |
А |
Этапы выполнения команды:
((УК)) → РК
(УК)+L → УК
Дешифратор Р.
А→УК
Перейти к пункту 1
Большинство команд передачи управления - условного перехода используется, как правило, трехадресные команды. Одна из схем выполнения: при выполнении условия – переход к следующей команде. Условие может быть:
Если (А) < (В), то С→УК
Если (А)>(В), то С→УК
Если (А)=(В), то С→УК
Если (А)≠(В), то С→УК
Организация перехода разделена на 2 стадии: подготовка условия и проверка. Формирование условия готовит предыдущая команда.
Для передачи значения истинности условия в процессоре существует регистр флагов (РФ). Часть разрядов РФ не используется(резерв), а остальные делятся на управляющие, системные, разряды состояний. Совокупность разрядов состояния называют регистром признаков результата. (РПр) Многие команды арифметико-логического типа вырабатывают признак результата - бит, записывающийся в один из разрядов РФ. Разрядность флагов состояния от 4 до 6: флаг нуля, флаг знака, флаг переполнения, флаг отрицания результат и т.д.
То есть команды, не вырабатывают признак результата, сохраняют первое значение в регистре флага.
Каждой команде условного перехода ставится в соответствие определенный набор флагов. На команду условного перехода влияет предшествующая команда, последней выработавшей признак результата. Конечной командой блока подготовки проверки условие, является команда сравнения. Выполняется как вычитание, в память результат не записывается, а записывается в регистр признаков.
Схема алгоритма:
((УК))→РК
(УК)+L→РК
Дешифрация р.
Если [(РПр) and (Np)]≠0, то А2 → УК
Переход к пункту 1
Np-набор признаков
Циклы
Цикл- участок программы, обеспечивающее многократное выполнение некоторой части алгоритма до тех пор, пока не выполнится условие окончания. Цикл состоит из внутренней части, выполняемой многократно, и внешней – команд подготовки и команд завершения. Многократность обеспечивается командой условия передачи.
|
|
|
|
|
|
|
|
Первая команда внутреннего цикла - та, на которую указывает стрелка. Последняя – та, откуда выходит стрелка. Между ними - тело цикла.
Классификация циклов:
-По расположению проверки условия перехода бывают: с предшествующей и с последующей (например untile и repeat)
-По типу алгоритма (цикл с заданным числом повторений, цикл итерационного типа, цикл смешанного типа)
1. Цикл с заданным числом повторов(со счетчиком)
Управление осуществляется с помощью специальной переменной – счетчик. С этим связаны задачи, когда надо программировать элементы, найти максимум и т.д
Схема:
I = 1,3
Инициализация
I , s = s +i
I = i+1
N-i=0 ?
Основные вычисления
Подготовка перехода
Условие перехода
2. Цикл итерационного типа – по имеющемуся приближенному значению строят более точное для решения с нужной точностью. Количество повторов заранее неизвестно. Цикл можно посчитать отдельным блоком программы, решающим некоторою логическую законченную задачу, т.е цикл можно считать элементом программы, как их команды.