На главную Назад
Добро пожаловать, уважаемый посетитель!

Глава 1. Принципы работы компьютера

1. Общая архитектура компьютера

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

В дальнейшем для упрощения материала вместо словосочетания "персональный компьютер" будем использовать одно слово "компьютер".

В настоящее время наибольшее распространение получили компьютеры, принадлежащие к семейству так называемых IBM-совместимых компьютеров.

Общая архитектура IBM-совместимого компьютера (рис.1) имеет следующие основные особенности:

  • Открытость архитектуры, определяемая обязательным наличием хотя бы одной шины расширения, которая позволяет подключать различные периферийные устройства к компьютеру.
  • Использование контроллера аппаратных прерываний для организации обмена данными между процессором и периферийными устройствами.
  • Использование подсистемы прямого доступа к памяти для организации обмена данными между памятью и периферийными устройствами без участия процессора.
  • Применение портов ввода-вывода для связи процессора с периферийными устройствами.
  • Унифицированное распределение портов ввода-выводадля стандартных периферийных устройств.
  • Одинаковое распределение памяти для всех IBM-совместимых компьютеров в диапазоне физических адресов от 0 до 1 Мбайта.
  • 1.gif (9010 bytes)

    Рис.1. Общая архитектура IBM-совместимого компьютера

    Рассмотрим основные компоненты в архитектуре IBM-совместимого компьютера.

    1.1. Процессор

    Основное назначение процессора - обработка данных и управление устройствами компьютера. В любом IBM-совместимом компьютере используются процессоры, программно-совместимые с семейством 80x86 фирмы Intel. Термин "программная совместимость" означает возможность исполнения программ в машинном коде, разработанных для младших моделей семейства, на старших моделях семейства.

    Подробнее о технических характеристиках процессоров рассказывается в главе 2.

    1.2. Память

    Память компьютера предназначается для хранения информации - кодов команд и данных. Информация в памяти хранится в двоичных кодах, каждый бит - элементарная ячейка памяти - может принимать два значения: "0" и "1". Каждая ячейка памяти иеет свой уникальный адрес. Минимальной адресуемой единицей хранения информации в памяти является байт, состоящий из 8 бит.

    В общем случае память характеризуется следующими основными параметрами:

    1. Объем хранимой информации, обычно выраженный в байтах.
    2. Время доступа - усредненная задержка перед началом обмена полезной информацией с памятью относительно появления запроса на чтение/запись данных.
    3. Скорость обмена информацией при передаче потока данных (после задержки на время доступа).
    4. Удельная стоимость хранения единицы информации. Рассчитывается как отношение полной стоимости устройства памяти к его информационной емкости.
    5. Энергонезависимость - способность хранения информации при отключении питания.

    В компьютере используются следующие разновидности памяти:

    • Внутренняя память - электронная (полупроводниковая) память, устанавливаемая на системной плате компьютера или платах расширения. Процессор непосредственно обращается к информации, содержащейся во внутренней памяти.
    • Внешняя память - память, реализованная в виде устройств с различными принципами хранения информации. Она используется для хранения файлов данных. Процессор может иметь доступ к содержащейся в этих файлах информации только после ее считывания во внутреннюю память. К устройствам внешней памяти относятся:
      • Устройства магнитной памяти, как дисковые (накопители гибких дисков и жестких дисков - винчестеры), так и ленточные накопители (стриммеры).
      • Устройства оптической и магнитооптической памяти, например накопители CD-ROM, DVD-ROM и т.д.

    Более подробно принципы работы и основные технические характеристики устройств внешней памяти рассматриваются в главе 3.

    Внутренняя память, в свою очередь, подразделяется на два вида - оперативную и постоянную.

     

    Оперативная память (RAM - Random Access Memory - память с произвольным доступом), как это следует из ее названия, используется для оперативного хранения информации. Недостаток оперативной памяти состоит в том, что она недолговременная, т.е. после отключения питания компьютера содержимое его оперативной памяти стирается. По способу хранения информации оперативная память подразделяется на два вида:

    • Статическая память (SRAM - Static RAM), запоминающим элементом которой является триггер. Статическая память имеет очень высокое быстродействие - типичное время доступа к ячейке на чтение/запись составляет 5-15 нс. Однако, емкость статического ОЗУ обычно невелика (не более, чем 0.5-2 Мбайта) из-за его высокой стоимости. Статическая память применяется в компьютере в основном для построения кэш-памяти (см. ниже).
    • Динамическая память (DRAM - Dynamic RAM), запоминающим элементом которой является конденсатор. Быстродействие динамической памяти сравнительно невелико - типичное время доступа к ячейке на чтение/запись составляет 50-70 нс. С течением времени заряд на конденсаторе уменьшается (обычно через 5-10 мс он исчезает совсем), поэтому для динамической памяти требуется периодическая регенерация информации - восстановление зарядов в ячейках памяти. Динамическая память может иметь очень большую емкость (4-512 Мбайт), поэтому она используется для организации основной оперативной памяти компьютера.

     

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

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

    В работе кэш-памяти возможно два возможных варианта обслуживания запроса на чтение данных:

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

    Для еще большего повышения производительности подсистемы памяти в компьютере используется двух-уровневая организация кэш-памяти:

    • Кэш-память первого уровня - внутренняя кэш-память (объемом 4-32 Кбайта) размещается внутри процессора и работает с его скоростью (типичное время доступа составляет 2-5 нс).
    • Кэш-память второго уровня (объемом 128-2048 Кбайта) устанавливается на системной плате и согласовывает

     

    Постоянная память (ROM - Read Only Memory - память только для чтения, подругому иногда она называется NVRAM - Non Volatile RAM - энергонезависимая память) используется для долговременного хранения информации, т.е. после отключения питания компьютера содержимое его постоянной памяти сохраняется. Типичным применением постоянной памяти в компьютере является хранение базового программного обеспечения в постоянном запоминающем устройстве - ПЗУ (см. ниже). Быстродействие постоянной памяти невелико - типичное время доступа к ячейке на чтение составляет порядка 100 нс.

    Основные виды, принципы работы и технические характеристики оперативной и кэш-памяти рассматриваются в главе 3.

    1.3. Периферийные устройства

    Периферийными (или по-другому - внешними) называются устройства, которые связывают компьютер с внешним миром. К ним относятся:

    1. Устройства ввода информации: клавиатура, манипулятор "мышь", джойстик, сканер, устройство оцифровки звука и видеоизображения и т.д.
    2. Устройства вывода информации: видеокарты, мониторы, принтеры, плоттеры, акустические системы и т.д.
    3. Устройства ввода-вывода информации: внешние накопители информации (дисковые и ленточные), коммуникационные устройства (модемы, адаптеры локальных и глобальных компьютерных сетей) и т.д.

    Любое периферийное устройство может подключатся к компьютеру двумя способами:

    1. Через коммуникационные интерфейсы компьютера: последовательные порты - COM 1,2,3,4 и USB, параллельные порты LPT 1,2.
    2. С помощью специализированной карты расширения, содержащей адаптер или контроллер этого периферийного устройства и устанавливаемой в разъемы одной из шины расширения (см. ниже).

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

    1.4. Шины

    Шиной (Bus) называется совокупность линий для передачи сигналов одного типа (например, данных, адреса или управления), с помощью которых устройства компьютера обмениваются информацией.

    В персональном компьютере имеется два типа шин: системная шина и шина расширения.

     

    Системная шина (по другому она иногда называется как шина процессора) - это шина, с помощью которой процессор обменивается информацией с оперативной и внешней кэш-памятью. Продолжением системной шины являются шины расширения, связывающие системную шину с внешними устройствами.

     

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

    Для связи различных видов шин компьютера между собой используются так называемые мосты.

     

    Мост - это устройство, обеспечивающее передачу данных между шинами, несовместимыми между собой по своим характеристикам (например, по разрядности, по наборам управляющих сигналов, электрическим характеристикам и т.д.).

    Любая системная шина или шина расширения включает в себя следующие компоненты:

    • Шина данных, состоящая из линий данных. По этой шине передаются данные между устройствами.
    • Шина адреса, состоящая из линий адреса. По этой шине передаются адреса ячеек памяти или портов ввода-вывода, содержимое которых считывается или записывается.
    • Шина управления, предназначенная для обмена управляющими сигналами.
    • Контроллер шины, управляющий всем процессом обмена данными, адресами и управляющими сигналами.

    На системной плате шины оформляются конструктивно в виде щелевых разъемов (так называемых слотов) для установки карт расширения. Количество и тип слотов определяют возможности функционального расширения компьютера путем подключения разнообразных периферийных устройств.

     

    Основными характиристиками любой шины являются:

    1. Разрядность шины, которая определяет количество бит данных, одновременно (параллельно) проходящих через нее. Первые шины были 8-разрядные, системные шины современных компьютеров, как правило, 64-разрядные.

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

    3. Максимальная пропускная способность, которая определяет количество бит информации, передаваемых по шине за секунду. Для вычисления данной величины необходимо умножить тактовую частоту шины на ее разрядность.

    Подробнее о технических характеристиках основных шин расширения рассказывается в главе 2.

    1.5. Стандартные периферийные устройства и контроллеры

    В любом IBM-совместимом компьютере обязательно имеется следующий набор стандартных периферийных устройств и контроллеров:

    • Системный таймер.
    • Интерфейс системного динамика.
    • Часы реального времени.
    • Контроллер клавиатуры.
    • Контроллер прерываний.
    • Контроллер прямого доступа к памяти.
    • Контроллер гибких дисков.
    • Контроллер жестких дисков.

    В современных IBM-совместимых компьютерах все эти устройства обычно входят в состав одной специализированной микросхемы чипсета (от англ. chipset - набор специализированных микросхем высокой степени интеграции), которая помимо прочих своих функций, реализует функции стандартных системных средств материнской платы. Тем не менее, программная архитектура вышеперечисленных стандартных устройств осталась прежней, т.е. такой, какой она была у их далекого предка - компьютера IBM PC/AT. Сделано это для обеспечения программной совместимости между ними.

    1.5.1. Системный таймер

    Таймер является одним из средств обеспечения работы компьютера в реальном масштабе времени. В таймере имеется три канала, режимы их работы изменяются программно.

    Характерными областями применения таймера являются:

    • измерение временных интервалов между событиями;
    • подсчет заданного числа событий;
    • управление процедурой включения/выключения внешних устройств;
    • программирование скорости передачи данных между устройствами;
    • разделение времени между программами.

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

    Назначение каналов таймера:

    • Нулевой канал используется для подсчета системного времени. Его выход подключен к контроллеру прерываний на вход IRQ0 запроса прерывания. Поэтому, каждый импульс на выходе счетчика этого канала инициирует аппаратное прерывание INT 8, подпрограмма обработки которого увеличивает системное временя на единицу. Число этих импульсов с момента последней перезагрузки компьютера хранится в ячейке памяти длиной 4 байта по адресу 0040:006Ch (младший байт хранится первым).
    • Первый канал применяется для организации периодического обновления оперативной динамической памяти компьютера. Он подключен к контроллеру регенерации памяти. Каждый импульс на выходе счетчика этого канала останавливает процессор и заставляет контроллер прямого доступа к памяти провести регенерацию памяти компьютера.
    • Второй канал используется для генерации звука. Его выход через соответствующий интерфейс (порт 61h) сисподключен к системному динамику.

    1.5.2. Часы реального времени

    Часы реального времени (RTC - Real Time Clock) используются в компьютере для хранения и постоянного отсчета текущего системного времени и даты. Для обеспечения бесперебойной работы они питаются от батарейки. Часы имеют собственную память (CMOS) небольшого объема (64  байта), в которой они используют только 15 байт, оставшиеся ячейки используются программой BIOS Setup для хранения конфигурации оборудования компьютера. Целостность этой информации проверяется с помощью контрольной суммы. Доступ к ячейкам памяти CMOS производится через порты ввода-вывода 070h (индекс ячейки) и 071h (чтение/запись содержимого ячейки).

    1.5.3. Контроллер клавиатуры

    Контроллер клавиатуры обеспечивает обмен информацией с клавиатурой в последовательной форме. Он выполняет следующие функции:

    Принимает Scan-коды клавиш, передаваемые от клавиатуры, преобразует их из последовательного кода в параллельный и помещает в буфер данных (порт 60h).

    Производит проверку целостности получаемых данных с клавиатуры (с помощью контроля по четности).

    Выдает запрос по линии прерывания IRQ1 для дальнейшей обработки полученных данных с клавиатуры.

    Управляет работой клавиатуры и позволяет узнать ее текущее состояние. Для этого используются регистр команд (порт 64h, запись) и регистр состояния (порт 64h, чтение).

    1.5.4. Контроллер прерываний

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

    1.5.5. Контроллер прямого доступа к памяти

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

     

    1.6. Базовое программное обеспечение

    В любом IBM-совместимом компьютере обязательно имеется набор программ базовой системы ввода-вывода (BIOS - Basic Input-Output System) , в число которых входят:

    • Программа настройки параметров BIOS (CMOS Setup). Более подробно работа с этой программой рассматривается в главе 8.
    • Программа тестирования устройств компьютера (процедура POST), которое производится автоматически сразу же после его включения.
    • Программа начальной загрузки операционной системы с дисковых накопителей.
    • Сервисные подпрограммы для работы с основными устройствами компьютера (клавиатурой, экраном, принтером, коммуникационными портами - COM1, COM2 и LPT, дисководами и винчестерами). По другому они называются подпрограммами-прерываниями BIOS (например, Int 10h - видеосервис, Int 13h - начальный загрузчик, Int 14h -  работа с коммуникационными портами, Int 15h -  низкоуровневая работа с дисками, Int 16h - ввод с клавиатуры и т.д.).

     

    Без программ BIOS работа компьютера станет невозможна, поэтому из-за своей важности программы BIOS хранятся в ПЗУ и активизируются сразу после включения компьютера.