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

Современная архитектура компьютера

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

Шина (или магистраль) — это группа линий связи для обмена данными между несколькими устройствами компьютера.

Традиционно шина делится на три части — это:

шина данных, по которой передаются данные;

шина адреса, определяющая, куда именно передаётся ин­формация;

шина управления, которая организует процесс обмена (несёт сигналы чтение/запись, обращение к внутренней/ внешней памяти, данные готовы/не готовы и т. п.).

На шину данных процессор выставляет данные для записи, на шину адреса — нужный адрес памяти, а на шину управления — сигналы для записи информации в память. Далее он вынужден ожидать, пока данные будут «взяты» с шины. В это время все остальные устройства постоянно «слушают» шину (проверяют её состояние). В нашем примере по сигналам на шине память обна­руживает, что для неё имеются данные. Она сохраняет их по за­данному адресу и должна по шине управления сообщить процес­сору, что операция завершена. На практике, учитывая высокую надёжность работы памяти, сигнал подтверждения часто не ис­пользуется: процессор просто выжидает определённое время и продолжает выполнение программы. Из этого примера понятно, что для успешного обмена данными по шине должны быть введе­ны чёткие правила (их принято называть протоколом шины), ко­торые должны соблюдать все устройства.

По сравнению с первыми ЭВМ, взаимодействие процессора с внешними устройствами организуется теперь по-другому. В классической архитектуре процессор контролировал все про­цессы ввода/вывода. Получалось так, что быстродействующий процессор тратил много времени на ожидание при работе с значи­тельно более медленными внешними устройствами. Поэтому по­явились специальные электронные схемы, которые руководят об­меном данными между процессором и внешними устройствами. В третьем поколении такие устройства назывались каналами ввода/ вывода, а в четвёртом — контроллерами.

Контроллер — это электронная схема для управления внешним устройством и простейшей предварительной обработки данных.

Современный контроллер — это специальный микропроцес­сор, предназначенный для обслуживания одного или нескольких однотипных устройства ввода/вывода (УВВ) или внешней памяти. Нагрузка на центральный процессор при этом существенно сни­жается, и это увеличивает эффективность работы всей системы в целом. Контроллер, собранный в виде отдельной микросхемы, называют микроконтроллером.

В качестве примера рассмотрим контроллер современного жёсткого диска. Его основная задача — по принятым от процессо­ра координатам найти на диске требуемые данные, прочитать их и передать в ОЗУ. Но контроллер способен выполнять и другие, порой весьма нетривиальные функции. Так, он сохраняет в слу­жебной области диска информацию обо всех имеющихся на маг­нитной поверхности некачественно изготовленных секторах (а их при современной высокой плотности записи избежать не удаётся!) и способен «на ходу» подменять их резервными, что создаёт види­мость диска, который полностью свободен от дефектов.

Как видно на приведенной на рисунке схемы, теперь данные могут передаваться между внешними устройствами и ОЗУ напря­мую, минуя процессор. Кроме того, наличие шины существенно упрощает подсоединение к ней новых устройств. Архитектуру, ко­торую можно легко расширять за счёт подключения к шине новых устройств, часто называют магистрально-модульной архитектурой.

Если спецификация на шину (детальное описание всех её логи­ческих и физических параметров) является открытой (опубликова­на), то производители могут разрабатывать к такой шине любые дополнительные устройства. Такой подход называют принципом открытой архитектуры. При этом в компьютере предусмотрены стандартные разъёмы для подключения новых устройств, удовлет­воряющих стандарту. Поэтому пользователь может собрать такой компьютер, который ему нужен. Необходимо только помнить, что при подключении любого нового устройства нужно установить спе­циальную программу — драйвер, которая управляет обменом дан­ными между этим устройством и процессором.

В современных компьютерах для повышения эффективности работы используется несколько шин, например, одна — между процессором и памятью, другая связывает процессор с видеосисте­мой и т. д.

Существуют три режима обмена данными между централь­ным процессором (ЦП) и внешними устройствами: программно управляемый ввод/вывод; обмен с устройствами по прерываниям; прямой доступ к памяти (ПДП).

При обмене по прерываниям устройства ввода/вывода в случае необходимости сами «требуют внимания» процессора. Например, клавиатура оповещает процессор каждый раз, когда была нажата или отпущена клавиша; всё остальное время процессор выполняет программу, «не отвлекаясь» на клавиатуру. Когда прерывание произошло, ЦП «откладывает» на некоторое время выполнение основной программы и переходит на служебную программу обра­ботки прерывания. Завершив его обработку, ЦП снова возвраща­ется к тому месту программы, где она оказалась прервана. При этом основная программа даже «не заметит» возникшей задер­жки. Этот режим обмена более сложен, но зато значительно эф­фективнее — процессор не тратит время на ожидание.

Представим себе, что в кабинете начальника идёт совещание и в этот момент по телефону поступает важная информация, требу­ющая немедленного принятия решения. Секретарша, не дожида­ясь конца совещания, сообщает начальнику о звонке. Тот, пре­рвав свое выступление, снимает трубку, выясняет суть дела и со­общает свое решение. Затем он продолжает совещание, как ни в чем не бывало. Здесь роль ЦП играет начальник, а телефонный звонок — это запрос (требование) на прерывание. «Секретарша» в компьютере тоже предусмотрена — это контроллер прерываний, анализирующий и сортирующий все поступающие прерывания с учётом их важности (приоритета).

Механизм прерываний используется не только в аппаратной части, но и в программах, которые основаны на обработке собы­тий (нажатий на клавиши, команд управления от мыши и т. п.). Такая технология лежит в основе современных операционных систем и применяется в системах разработки программ Microsoft Visual Studio, Delphi, Lazarus и им подобных.

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

Принципиальное отличие ПДП состоит в том, что в этом ре­жиме процессор не производит обмен, а только подготавливает его, программируя контроллер ПДП: устанавливает режим обме­на, а также передаёт начальный адрес ОЗУ и количество циклов обмена. Далее контроллер в ходе ПДП самостоятельно наращива­ет первое значение и уменьшает второе, что позволяет освободить центральный процессор.

Изложенный материал о режимах ввода/вывода может быть сведён в таблице (здесь УВВ обозначает устройство ввода/вывода).

Вид обмена Начинает обмен Руководит обменом Текущая программа Программа обмена
Программный ЦП ЦП Программа обмена — часть текущей программы
Прерывания УВВ ЦП Прерыва­ется Специаль­ная под­программа
ПДП УВВ, ЦП Контроллер ПДП Выполняет­ся парал­лельно Отсутствует (обмен идёт аппаратно)
 

 


 



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