Вопрос 5
Структура и принцип функционирования ЭВМ. Порядок функционирования простого процессора на примере калькулятора
Структура и принцип функционирования ЭВМ
Типичная ЭВМ (построенная по архитектуре фон Неймана) состоит из трех главных узлов:
Процессор (CPU): включает в себя АЛУ (арифметико-логическое устройство), Устройство Управления (УУ, декодирует команды и переключает нужные вентили) и набор регистров (сверхбыстрая память для текущих операндов).
Память: хранит как исполняемые программы (инструкции), так и данные, из-за чего по ячейке так сразу и не скажешь, будет она командой или данными - может быть и тем, и другим. Состоит из пронумерованных (адресуемых) ячеек.
Устройства ввода-вывода (ВУ): обеспечивают связь ЭВМ с внешним миром.
Все эти узлы соединены системной шиной, состоящей из шины данных, шины адреса и шины управления.
Функционирование ЭВМ — это непрерывный цикл: процессор извлекает команду из памяти (по адресу из счетчика команд), декодирует её, при необходимости извлекает операнды, выполняет действие в АЛУ, сохраняет результат и переходит к следующей команде.
Порядок функционирования на примере калькулятора
Рассмотрим простейшую ЭВМ — калькулятор. Его структура включает:
- Регистр X: связан с дисплеем (показывает текущее введенное число или результат).
- Регистр Y: хранит предыдущее число (операнд памяти).
- АЛУ: умеет складывать и сдвигать.
- УУ (Устройство управления): реагирует на кнопки и посылает сигналы (У1, У2…) на открытие нужных вентилей.
Далее идут три слайда из презы №1, которые все переписать на экзе не получится уж точно. Выберите себе самый удобный для Вас вариант и потактово распишите (ну или хотя бы нарисуйте схемку с пояснениями).
Пример 1: Ввод первой цифры числа (например, нажали «7»)
Если пользователь начинает вводить новое число, УУ должно сохранить старые данные и подготовить Регистр X. 1. Содержимое Регистра X пересылается в Регистр Y (открывается вентиль
У3). Этот шаг необходим для сохранения 1-го аргумента при операциях+,-,*и т.д. 2. Регистр X обнуляется: вентилиУ2иУ6открываются, записывая0в X. 3. АЛУ складывает X (в котором сейчас0) с введенной цифрой «7» (открыты вентилиУ1,У5, задана операция сложенияУ7). 4. Результат записывается в Регистр X (У2).Пример 2: Ввод второй (и последующих) цифр числа
Если мы продолжаем вводить число (например, после «7» нажимаем «5»), УУ должно сдвинуть уже введенные данные влево (умножить на 10) и добавить новую цифру. 1. Содержимое Регистра X через вентиль
У1поступает на левый вход АЛУ. Вентиль клавиатурыУ5закрыт (на правый вход идет0). 2. Выполняется операция сдвига (У8). Результат черезУ2пишется обратно в X (теперь там 70). 3. Сдвинутое значение снова подается на АЛУ (У1), а вентиль клавиатурыУ5открывается, пропуская цифру «5» на правый вход. 4. АЛУ складывает 70 и 5 (У7). Результат сохраняется в X (У2) и отображается на экране (75).Пример 3: Операция сложения (нажали кнопку «+» или «=»)
Нужно сложить текущее число на экране (Регистр X) с числом, сохраненным ранее (Регистр Y). 1. УУ открывает вентиль
Ссылка на оригиналУ1(содержимое X идет на левый вход АЛУ) и вентильУ4(содержимое Y идет на правый вход АЛУ). Вентиль клавиатурыУ5строго закрыт. 2. УУ подает на АЛУ приказ выполнить сложение (У7). 3. Результат суммы через открытый вентильУ2записывается в Регистр X. Экран аппаратно отображает новое значение.
Вопрос 35
Параллельная передача данных. Контроллеры параллельной передачи и приема
Параллельная передача данных
При параллельной передаче все биты информационного слова (например, 8 или 16 бит) передаются одновременно по отдельным физическим проводам.
- Плюсы: Высокая скорость передачи данных при одинаковой тактовой частоте по сравнению с последовательным интерфейсом.
- Минусы: Требуется много проводов (дороговизна разъемов и кабелей). Интерфейс сильно подвержен электромагнитным помехам (наводкам между проводами) и рассинхронизации сигналов, из-за чего дальность передачи очень мала.
Контроллер параллельной передачи (Вывод в ВУ)
Используется для отправки данных из процессора во внешнее устройство (ВУ) с помощью асинхронного обмена (по готовности). Основные аппаратные элементы: буферный регистр данных
A1и регистр состоянияA2(выполняющий роль флага занятости).Алгоритм работы контроллера передачи:
- Процессор (непрерывно в цикле или по прерыванию) проверяет регистр состояния
A2.0— контроллер свободен,1— занят.- Если
A2 = 0, процессор выставляет выводимый байт на системную шину данных и подаёт команду “Вывод”.- Логика управления контроллера записывает данные в регистр
A1и одновременно устанавливает регистрA2в1. На ВУ физически уходит сигнал “Выходные данные готовы”.- Внешнее устройство считывает данные из
A1и отправляет обратно аппаратный сигнал “Данные приняты”.- Этот сигнал аппаратно сбрасывает регистр
A2в0, сигнализируя процессору, что байт доставлен и можно отправлять следующий.
Рис. 1: Контроллер передачи параллельного асинхронного интерфейса
Зачем столько линий и причём тут RS- и D-триггеры?
Логика управления (ЛУ) сама не передаёт данные. Буферный регистр
А1построен на базе D-триггеров. Когда процессор выставляет данные на шину, они подходят ко входамDрегистраA1. ЛУ лишь расшифровывает команду процессора и посылает короткий синхроимпульс на входыC(Clock) регистра. По этому стробу D-триггеры аппаратно “защёлкивают” данные внутри себя. Подробнее об этом: RS- и D-Триггеры.Что за облачко молочного цвета?
Регистр состояния
A2— это физически всего один RS-триггер (1 бит). Однако системная шина данных многоразрядная. Чтобы процессор мог прочитать этот 1 бит, выход триггераA2аппаратно припаян к нулевому проводу шины данных. Остальные разряды при чтении заполняются нулями.Контроллер параллельного приема (Ввод из ВУ)
Используется для получения данных от внешнего устройства. Состоит из тех же основных элементов: буферного регистра данных
A1и регистра состоянияA2.Алгоритм работы контроллера приема:
- Внешнее устройство выставляет байт данных на периферийную шину и подаёт в контроллер сигнал “Запись в
А1”.- Данные сохраняются в буферном регистре
A1, а регистр состоянияA2устанавливается в1. Контроллер выставляет на системную шину управления сигнал “Готовность ВУ” (сообщающий процессору, что свежие данные можно забирать).- Процессор обнаруживает готовность (считав
A2напрямую или получив прерывание) и подаёт команду “Ввод”.- Данные из
A1выдаются на системную шину данных и считываются в аккумулятор процессора.- Одновременно с чтением логика управления сбрасывает регистр
A2в0, отправляя на ВУ сигнал “Данные приняты”. Это сообщает внешнему устройству, что контроллер свободен и можно присылать следующий байт.
Рис. 2: Контроллер приема параллельного асинхронного интерфейса
Ссылка на оригиналЧто изменилось?
Тут изменения только в том, что теперь все линии к триггерам исходят от ВУ. Аналогично контроллеру передачи, тут “запись в
А1” - это сигналCдля D-триггера, а RS-триггер работает точно так же, но в другую сторону




