Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Урок 1. 10 класс
1. Магистрально-модульная организация компьютера
1.1. Что значит «устройство компьютера»?
Компьютер это пример очень сложной техники. При изучении таких систем воз- можно несколько разных подходов. Например, можно изучать:
устройство конкретного экземпляра компьютера: набор микросхем, тип основной платы, конструкцию и разновидности модулей памяти и т.п.;
семейство компьютеров, например, IBM-совместимые персональные компьютеры; различные конструкции компьютеров (настольные компьютеры, портативные ком- пьютеры, карманные компьютеры);
функциональное устройство компьютера, т.е. его основные узлы и способы взаи- модействия между ними.
Каждый из этих подходов полезен при решении определенных задач. Так для на- стройки конкретного компьютера необходимо точно знать марки и параметры его уст- ройств. Определить эти данные можно с помощью специального программного обеспече- ния. К сожалению, любые знания в этой области очень быстро устаревают, поскольку ап- паратура постоянно меняется.
Если изучать особенности одного семейства компьютеров, мы получим «однобо- кое» представление об устройстве компьютерной техники, так как каждое семейство име- ет свои особенности.
Современные компьютеры очень разнообразны и поэтому имеют самую различную конструкцию и внешний вид. Настольный ПК состоит из системного блока и подключен- ных к нему внешних устройств. Такая конструкция удобна для пользователя, поскольку все устройства можно разместить на столе так, как ему хочется.
В переносных компьютерах весь минимально необходимый набор устройств собран в одном корпусе. Сейчас такие компьютеры называют ноутбуками (англ. notebook тет- радь, блокнот). По своим вычислительным возможностям они практически не уступают настольным ПК.
Растет популярность так называемых нетбуков (от слов «Интернет» и «ноутбук») так называют очень маленькие и легкие переносные компьютеры. Кроме меньшего разме- ра и веса, нетбуки отличаются от ноутбуков бóльшим временем автономной работы и меньшей стоимостью. Нетбуки предназначены для пользователей, которые применяют компьютер главным образом для работы в Интернете и подготовки простых документов. Их используют люди, совершающие большое число поездок.
Карманные персональные компьютеры (КПК)21 умещаются на ладони. У большин- ства из них даже нет клавиатуры, а для ввода информации нажимают пластиковой палоч- кой (она называется стилус) на сенсорный (реагирующий на прикосновение) экран.
С другой стороны, мощные серверы и суперкомпьютеры по-прежнему собираются в виде крупных «шкафов», напоминающих ЭВМ предыдущих поколений. Наконец, нельзя
не упомянуть и о бытовой электронике, которая все больше и больше приближается к тра- диционным компьютерам.
Разнообразие типов современных компьютеров говорит о том, что конструкция это не самое главное. В то же время, как показано в п. 5.2, их функциональное устройство
21 Их называют также наладонниками (англ. palmtop) и PDA (англ. Personal Digital Assistant персональный цифровой помощник).
практически не изменяется. Поэтому далее мы подробно рассмотрим основные узлы ком- пьютера (процессор, память и устройства ввода и вывода) и взаимодействие между ними.
1.2. Взаимодействие устройств
Процессор должен обмениваться данными с внутренней памятью и устройствами ввода и вывода. Выделить отдельные каналы для связи процессора с каждым из много- численных устройств нереально. Вместо этого сделана общая линия связи, доступ к кото- рой имеют все устройства, использующие ее по очереди. Такой информационный канал называется шиной.
Шина (или магистраль) это группа линий связи для обмена данными между несколь- кими устройствами компьютера.
Традиционно шина делится на три части:
шина данных, по которой передаются данные;
шина адреса, определяющая, куда именно передается информация;
шина управления, которая организует процесс обмена (несет сигналы чтение/запись, обращение к внутренней/внешней памяти, данные готовы/не готовы и т.п.).
процессор
(АЛУ, УУ)
внутренняя
память
шина адреса
шина данных шина управления
К К К
устройства
ввода
устройства
вывода
внешняя
память
Рассмотрим процесс записи данных из процессора в память. Процессор выставляет на шину данных информацию для записи, на шину адреса нужный адрес памяти, а на шину управления сигналы для записи информации в память. Далее он вынужден ожи- дать, пока данные будут «взяты» с шины. В это время все остальные устройства постоян- но «слушают» шину (проверяют ее состояние). В нашем примере по сигналам на шине память обнаруживает, что для нее имеются данные. Она сохраняет их по заданному адре- су и должна по шине управления сообщить процессору, что операция завершена. На прак- тике, учитывая высокую надежность работы памяти, сигнал подтверждения часто не ис- пользуется: процессор просто выжидает определенное время и продолжает выполнение программы. Из этого примера понятно, что для успешного обмена данными по шине должны быть введены четкие правила (их принято называть протоколом шины), которые должны соблюдать все устройства.
По сравнению с первыми ЭВМ, взаимодействие процессора с внешними устройст- вами организуется теперь по-другому. В классической архитектуре процессор контроли- ровал все процессы ввода-вывода. Получалось так, что быстродействующий процессор тратил много времени на ожидание при работе с значительно более медленными внешни- ми устройствами. Поэтому появились специальные электронные схемы, которые руково- дят обменом информацией между процессором и внешними устройствами. В третьем по-
колении такие устройства назывались каналами ввода-вывода, а в четвертом контролле- рами22 (на схеме они обозначены буквой К).
Контроллер это электронная схема для управления внешним устройством и для про- стейшей предварительной обработки данных.
Современный контроллер это микропроцессор, предназначенный специально для обслуживания одного (или даже нескольких однотипных) устройств ввода-вывода или внешней памяти. Нагрузка на центральный процессор при этом существенно снижается, и это увеличивает эффективность работы всей системы в целом. Контроллер, собранный в виде отдельной микросхемы называют микроконтроллером.
В качестве примера рассмотрим контроллер современного жесткого диска. Его ос- новная задача по принятым от процессора координатам найти на диске требуемые дан- ные, прочитать их и передать в ОЗУ. Но контроллер способен выполнять и другие, порой весьма нетривиальные функции. Так он сохраняет в служебной области диска информа- цию обо всех имеющихся на магнитной поверхности некачественно изготовленных секто- рах (а их при современной высокой плотности записи избежать не удается!) и способен
«на ходу» подменять их резервными, что создает видимость диска, который полностью свободен от дефектов23.
Как видно из приведенной выше схемы, теперь данные могут передаваться между внешними устройствами и ОЗУ напрямую, минуя процессор. Кроме того, наличие шины существенно упрощает подсоединение к ней новых устройств. Архитектуру, которую можно легко расширять за счет подключения к шине новых устройств, часто называют магистрально-модульной.
Если спецификация на шину (детальное описание всех ее логических и физических
параметров) является открытой (опубликована), то производители могут разрабатывать к такой шине любые дополнительные устройства. Такой подход называют принципом от- крытой архитектуры. При этом в компьютере предусмотрены стандартные разъемы для подключения новых устройств, удовлетворяющих стандарту. Поэтому пользователь мо- жет собрать такой компьютер, который ему нужен. Необходимо только помнить, что при подключении любого нового устройства нужно установить специальную программу драйвер, которая обеспечивает обмен данными между этим устройством и процессором.
В современных компьютерах для повышения эффективности работы используется несколько шин, например, одна между процессором и памятью, другая от процессора к видеосистеме и т.д.
1.3. Обмен данными с внешними устройствами
Существуют три режима обмена данными между центральным процессором (ЦП) и внешними устройствами:
программно-управляемый ввод/вывод; обмен с устройствами по прерываниям; прямой доступ к памяти (ПДП).
При программно-управляемом обмене все действия по вводу или выводу преду-
смотрены в теле программы. Процессор полностью руководит ходом обмена, включая ожидание готовности периферийного устройства и прочие временные задержки, связан- ные с процессами ввода/вывода. Достоинства этого метода простота и отсутствие до- полнительного оборудования, недостаток большие потери времени из-за ожидания бы- стро работающим процессором более медленных устройств ввода/вывода.
При обмене по прерываниям устройства ввода-вывода в случае необходимости са- ми требуют внимания процессора. Например, клавиатура оповещает процессор каждый
22 Это название происходит от английского слова control управление; не следует путать с русским словом
«контролѐр».
23 http://spider.nrcde.ru/music/articles/hardware/hdd_outsins.html
раз, когда была нажата или отпущена клавиша; все остальное время процессор выполняет программу, вообще «не отвлекаясь» на клавиатуру. Когда прерывание произошло, ЦП
«откладывает» на некоторое время выполнение основной программы и переходит на слу- жебную программу обработки прерывания. Завершив его обработку, ЦП снова возвраща- ется к тому месту программы, где она оказалась прервана. При этом основная программа даже «не заметит» возникшей задержки. Этот режим обмена более сложен, но зато значи- тельно эффективнее процессор не тратит время на ожидание.
Представим себе, что в кабинете начальника идет совещание, и в этот момент по те- лефону поступает важная информация, требующая немедленного принятия решения. Сек- ретарша, не дожидаясь конца совещания, сообщает начальнику о звонке. Тот, прервав свое выступление, снимает трубку, выясняет суть дела и сообщает свое решение. Затем он продолжает совещание, как ни в чем не бывало. Здесь роль ЦП играет начальник, а теле-
фонный звонок это запрос (требование) на прерывание. «Секретарша» в компьютере то- же предусмотрена это контроллер прерываний, анализирующий и сортирующий все по- ступающие прерывания с учетом их важности (приоритета).
Механизм прерываний используется не только в аппаратной части, но и в програм- мах, которые основаны на обработке событий (нажатий на клавиши, команд управления от мыши и т.п.). Такая технология лежит в основе современных операционных систем и применяется в системах разработки программ MS Visual Studio, Visual Basic, Delphi, Laza- rus и им подобных.
В обоих описанных выше вариантах управление обменом выполнял центральный процессор. Именно он извлекал из памяти выводимые данные (или записывал туда вводи- мые), подсчитывал их количество и полностью контролировал работу шины. Если переда-
ваемые данные не требуют сложной обработки, ЦП напрасно расходует время на прове- дение обмена. Чтобы освободить процессор от этой работы и увеличить скорость переда- чи крупных блоков данных от устройства ввода в память и обратно, применяется прямой доступ к памяти (ПДП, англ. DMA = Direct Memory Access).
Принципиальное отличие ПДП состоит в том, что в этом режиме процессор не про- изводит обмен, а только подготавливает его, программируя контроллер ПДП: устанавли- вает режим обмена, а также передает начальный адрес ОЗУ и количество циклов обмена. Далее контроллер в ходе ПДП самостоятельно наращивает первое значение и уменьшает второе, что позволяет освободить центральный процессор.
Изложенный материал о режимах ввода/вывода может быть сведен в таблицу (здесь
УВВ обозначает устройство ввода-вывода):
вид обмена |
начинает обмен |
руководит обменом |
текущая программа |
программа обмена |
программный |
ЦП |
ЦП |
программа обмена часть текущей программы |
|
прерывания |
УВВ |
ЦП |
прерывается |
специальная подпрограмма |
ПДП |
УВВ, ЦП |
контроллер ПДП |
выполняется параллельно |
отсутствует (обмен идет аппаратно) |
? Контрольные вопросы
1. Как можно определить, какие именно платы и устройства установлены в вашем компьютере? Для чего это может потребоваться?
2. Как вы думаете, что более полезно для глубокого понимания работы компьютера:
изучение функционального устройства компьютера или изучение его конструкции?
3. Как устройства компьютера обмениваются данными?
4. Что такое шина? Почему обмен данными между устройствами компьютера с помощью шины оказался наилучшим решением?
5. Из каких частей состоит шина? Охарактеризуйте каждую из них.
6. Что такое магистрально-модульная архитектура и в чем ее главное достоинство?
7. В чем заключается принцип открытой архитектуры?
8. Используя приведенное в тексте объяснение процесса записи данных в память, по- пробуйте объяснить, как происходит считывание данных из ячейки памяти с заданным адресом.
9. Что такое контроллер и для чего он нужен?
10. Объясните, как использование контроллеров позволяет повысить быстродействие компьютера в целом.
11. Сравните магистрально-модульную архитектуру компьютера с классической. Выделите наиболее перегруженный блок на каждой из схем.
12. Почему в современном компьютере несколько шин?
13. Что требуется для успешного присоединения к компьютеру нового устройства?
14. Расскажите о разных режимах обмена данными с внешними устройствами.
15. Как расшифровывается сокращение ПДП и что это такое?
16. Как выполняется обмен данными в режиме ПДП?
17. Предложите наиболее подходящий режим обмена данными с клавиатурой.
18. Какой режим лучше всего подходит для обмена данными c жестким диском?
19. Где в программировании применяются принципы обработки прерываний?