Сделай Сам Свою Работу на 5

Режимы обмена в микропроцессорной системе, общее и подробное.

Классическая гарвардская архитектура

Типичные операции (сложение и умножение) требуют от любого вычислительного устройства нескольких действий:

выборку двух операндов,

выбор инструкции и её выполнение,

и, наконец, сохранение результата.

Идея, реализованная Эйкеном, заключалась в физическом разделении линий передачи команд и данных. В первом компьютере Эйкена «Марк I» для хранения инструкций использоваласьперфорированная лента, а для работы с данными — электромеханические регистры. Это позволяло одновременно пересылать и обрабатывать команды и данные, благодаря чему значительно повышалось общее быстродействие компьютера.

Принципы фон Неймана

В 1946 году трое учёных[1] — Артур Бёркс (англ. Arthur Burks), Герман Голдстайн (англ. Herman Goldstein) и Джон фон Нейман — опубликовали статью «Предварительное рассмотрение логического конструирования электронного вычислительного устройства»[2]. В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций — до этого машины хранили данные в десятичном виде[3]), выдвигалась идея использования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Неймана».

1. Принцип двоичного кодирования. Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов (двоичных цифр, битов) и разделяется на единицы, называемые словами.

2. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти - число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.

3. Принцип адресуемости памяти. Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.Отсюда следует возможность давать имена областям памяти, так, чтобы к хранящимся в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.

4. Принцип последовательного программного управления. Предполагает, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.

5. Принцип жесткости архитектуры. Неизменяемость в процессе работы топологии, архитектуры, списка команд.

Компьютеры, построенные на этих принципах, относят к типу фоннеймановских.

 

Режимы обмена в микропроцессорной системе, общее и подробное.

Прямой доступ к памяти (англ. Direct Memory Access, DMA) — режим обмена данными между устройствами или же между устройством и основной памятью (RAM) без участия Центрального Процессора (ЦП). В результате скорость передачи увеличивается, так как данные не пересылаются в ЦП и обратно.

Кроме того, данные пересылаются сразу для многих слов, расположенных по подряд идущим адресам, что позволяет использование т. н. «пакетного» (burst) режима работы шины — 1 цикл адреса и следующие за ним многочисленные циклы данных. Аналогичная оптимизация работы ЦП с памятью крайне затруднена.

В оригинальной архитектуре IBM PC (шина ISA) был возможен лишь при наличии аппаратного DMA-контроллера (микросхема с индексом Intel 8237).

DMA-контроллер может получать доступ к системной шине независимо от центрального процессора. Контроллер содержит несколько регистров, доступных центральному процессору для чтения и записи. Регистры контроллера задают порт (который должен быть использован), направление переноса данных (чтение/запись), единицу переноса (побайтно/пословно), число байтов, которое следует перенести.

ЦП программирует контроллер DMA, устанавливая его регистры. Затем процессор даёт команду устройству (например, диску) прочитать данные во внутренний буфер. DMA-контроллер начинает работу, посылая устройству запрос чтения (при этом устройство даже не знает, пришёл ли запрос от процессора или от контроллера DMA). Адрес памяти уже находится на адресной шине, так что устройство знает, куда следует переслать следующее слово из своего внутреннего буфера. Когда запись закончена, устройство посылает сигнал подтверждения контроллеру DMA. Затем контроллер увеличивает используемый адрес памяти и уменьшает значение своего счётчика байтов. После чего запрос чтения повторяется, пока значение счётчика не станет равно нулю. По завершении цикла копирования устройство инициирует прерывание процессора, означающее завершение переноса данных. Контроллер может быть многоканальным, способным параллельно выполнять несколько операций.

Прерывание (англ. interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.[1]

В зависимости от источника возникновения сигнала прерывания делятся на:
асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание (англ. Interrupt request, IRQ);
синхронные или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;
программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения (firmware), драйверов и операционной системы.
при выполнении прерывания ножка запрос на прерывание переводится в z.

 

Иерархию интерфейсов микропроцессорных систем во многом обеспечивают программируемые интерфейсные микросхемы, входящие в состав большинства микропроцессорных комплектов. Так в микропроцессорном комплекте КР580, в состав которого входит учебный микропроцессор, имеются следующие интерфейсные микросхемы:

 

КР580ВВ55А – программируемый параллельный интерфейс;

КР580ВВ51А – программируемый последовательный интерфейс;

КР580ВИ53 – программируемый таймер;

КР580ВН59 – программируемый контроллер приоритетных прерываний;

КР580ВТ57 – программируемый контроллер прямого доступа к памяти;

КР580ВВ79 –программируемый контроллер матричной клавиатуры и семисегментного дисплея;

КР580ВГ75 – программируемый контроллер телевизионного дисплея.

 

Эти микросхемы либо обеспечивают формирование системной шины стандарта MICROBUS, либо обеспечивают подключение к ней внешних устройств. С точки зрения микропроцессора (и программиста) каждая из таких микросхем представляет собой некоторый набор портов ввода–вывода. Часть этих портов действительно поддерживает операции ввода–вывода, некоторые же выполняют специфические функции управления. Порты, используемые для целей управления периферийной микросхемой, обычно называют регистрами. Существует два вида таких регистров – регистры управляющих слов (РУС) и регистры слов состояния (РСС).

Регистры управляющих слов обычно доступны только для записи. В них программным путем записываются управляющие слова – двоичные коды, определяющие конкретную конфигурацию и режимы работы аппаратных средств микросхемы. Обычно существует весьма широкий выбор таких конфигураций и настроек, оговоренных инструкцией по применению конкретной микросхемы.

Регистры слов состояния обычно доступны только для чтения. Эти регистры содержат слова состояния – коды, характеризующие текущее состояние и режимы работы аппаратных средств. Эти коды могут анализироваться микропроцессором в программе и учитываться при организации вычислительного процесса.

 



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.