тает только с данными длиной 8 бит, то код инструкции ограничен 8 битами и общее количество возможных инструкций не превышает 256 (28).
Полная инструкция состоит, по меньшей мере, из одного слова, которое называется кодом операции и представляет инструкцию для ЦПУ, в которые иногда включаются также величины данных или адреса, расположенные в памяти непосредственно после кода операции. Эти величины называются операндами. Код операции указывает задачу ЦПУ, а операнды — место назначения. Некоторые операции не требуют операндов, другие могут использовать одну или более ячеек памяти для хранения своих операндов.
Когда в память занесен полный список инструкций, они образуют программу в машинном коде. Машинный код — это единственный язык, который понимает компьютер. Каждый тип микропроцессора имеет свой уникальный язык машинных инструкций. Программисты используют обычно языки высокого уровня для организации инструкций, например BASIC и С. Компьютерная программа, называемая компилятор, переводит язык высокого уровня в машинный (двоичные 1 и 0). В любом случае информация, которая будет проходить по шинам, представляет собой только двоичные 1 и 0, образующие машинный код.
Машинные циклы и синхронизация
Для запуска программы ЦПУ задает стартовый адрес, который показывает, где расположена первая инструкция программного кода. Точное время выполнения любой инструкции зависит от быстродействия микропроцессора, которые, независимо от типа, выполняют цикл выбор-исполнение для каждой инструкции. Новейшие процессоры выбирают нескольких инструкций и выстраивают их в виде очереди на исполнение. Это положительно влияет на эффективность и повышает быстродействие. В следующем описании указаны основные этапы выполнения машинных инструкций, что позволяет составить общее представление о работе компьютеров. Детали, касающиеся конкретного микропроцессора, можно найти в руководствах изготовителей.
Цикл выполнения любой инструкции начинается с помещения адреса ячейки в памяти, но которому расположен код следующей инструкции, на шину адреса. Дешифраторы адреса выбирают ИС, в которой находится адрес. Когда ЦПУ готов принять код операции, он активирует управляющую шину, подавая сигнал типа RD (чтение), который запускает выходные буферы схемы памяти с тремя состояниями, и на шину подается код операции. Когда импульс RD заканчивается, код операции запоминается в регистре инструкций внутри ЦПУ.
Система синхронизации и управления декодирует инструкцию и определяет, требует ли она операндов. Если да, то они выбираются из следующих ячеек памяти таким же образом, что и код операции. Когда все части инструкции переданы в ЦПУ, начинается выполнение инструкции: считывание величины из памяти или устройства ввода-вывода, инкрементирование величины во внутреннем регистре или запись величины из ЦПУ в память или выходной порт. Важно понимать, что в разные периоды во время выполнения цикла инструкции шина данных может содержать коды инструкций, информацию об адресе, величины данных, и иногда ничего не значащий «цифровой мусор». Для анализа имеющихся сигналов необходимо очень хорошо понимать синхронизацию микропроцессора. Для описания этого достаточно сложного процесса в 8 и 16-битовых шинах используются специальные временные диаграммы (рис. 9.6).
Рис. 9.6.Временная диаграмма шины микропроцессора
Вся 16-битовая шина адреса представлена на временной диаграмме одной линией. Участки, где линии параллельны, показывают, что состояние каждой из 16-ти адресных линий не изменяется. Реальная величина может быть показана в шестнадцатеричном виде в пространстве между двумя параллельными линиями. Место, где линии пересекаются на временной диаграмме, показывают, что один или более бит на этой шине изменили состояние, и на выход подается новая величина.
Шина данных образована восемью отдельными линиями, каждая из которых может иметь высокий, низкий или переменный уровень. Переменное состояние возникает тогда, когда все подключенные к шине приборы находятся в третьем состоянии с высоким импедансом (бездействуют). Это состояние с высоким импедансом представляется горизонтальной линией на среднем уровне между высоким и низким. Когда выходы включаются, временная диаграмма расширяется, показывая, что все 8 бит стабильны и имеют уровень высокий или низкий. Их величина в этом интервале может быть показана в виде шестнадцатеричного числа. Сигналы дешифратора ПЗУ и ОЗУ, которые идут к входам выбора ИМС, и сигналы линий RD и WD представляют собой однобитовые сигналы и выглядят, как и на всех остальных временных диаграммах.
Последовательность, которая представлена на временной диаграмме, следу-
1. ЦПУ выдает адрес ячейки памяти, содержащей операционный код инструкции.
2. Выход ПЗУ дешифратора адреса переходит на низкий уровень.
3. ЦПУ переводит линию RD на низкий уровень, разрешая выход схемы памяти.
4. Код операции от ПЗУ появляется на шине данных.
5. Кончается импульс RD, код инструкции запоминается в ЦПУ. ЦПУ теперь знает, что оно должен записать величину данных в указанный адрес ОЗУ.
6. Адрес ячейки памяти, куда должны быть записаны данные, выдается на шину адреса.
7. Дешифратор адреса активирует вход выбора RAM.
8. Данные для записи подаются ЦПУ на шину данных.
9. Линия WR переходит на НИЗКИЙ уровень при прохождении по ней импульса.
10. По фронту нарастания на линии WR данные записываются в память.
Теперь инструкция полностью выполнена и микропроцессор готов выбрать следующую.
Наиболее известной областью применения микропроцессоров дома и в офисах на сегодняшний день являются, видимо, персональные компьютеры, которые появились в 1970 году и в настоящее время стали обычными бытовыми приборами в каждом доме. Несколько изготовителей вышли на рынок за это время, но мы здесь остановимся на машинах, ориентированных на MS-DOS и Microsoft Windows, где прогресс просто поразительный.
Первые персональные компьютеры IBM использовали микропроцессор 8088 с шиной данных 8 бит и возможностью обработки 16 бит. Выпускаемый в настоящее время Pentium имеет полную шину данных 64 бит.
Основные тенденции развития технологий: увеличение быстродействия, объема оперативной памяти и дисковых накопителей, эффективное выполнение операций. Данный раздел описывает общие методы сервисного обслуживания современных ПК.
Персональный компьютер состоит из трех элементов: аппаратное обеспечение (hardware), аппаратно-программное обеспечение (firmware) и программное обеспечение (software).
Аппаратное обеспечение — это реальные электрические схемы и механизмы, которые образуют компьютерную систему.
Аппаратно-программное обеспечение состоит из микросхем памяти, в которых записан набор инструкций, имеющихся внутри каждого компьютера, которые говорят ему, что надо делать при включении питания. Обычно это специальный тест (power-on self-test — POST), обращение к драйверу дисков и загрузка операционной системы. Программы firmware записаны в ПЗУ на системной плате и часто называются загрузочными программами, поскольку они выполняют действия, необходимые после того, как компьютер начинает работу.
Программное обеспечение загружается через драйверы дисков в рабочую область ОЗУ.
Операционная система — это первая программа, которая загружается в ОЗУ и обеспечивает доступ к другим программам, выполняя огромное количество разных операций.
Аппаратное обеспечение персонального компьютера
Персональные компьютеры состоят из тех же базовых блоков, что и все компьютерные системы: ЦПУ, память и устройства ввода-вывода (рис. 9.7).
Рис. 9.7.Блок-схема персонального компьютера
Выполненные на системной плате блоки различны у разных систем, некоторые блоки необязательны. Системная плата обычно содержит, как минимум, микропроцессор и минимальную системную намять. Она включает и ПЗУ и ОЗУ. ПЗУ содержит программы основной системы ввода вывода (basic input/output system BIOS) и эта память не изменяется при выключении питания. Системная память формируется с помощью динамических микросхем ОЗУ. Эти микросхемы компактны и требуют меньше мощности, чем статические ОЗУ, но их необходимо регенерировать примерно каждые две миллисекунды. Для выполнения этой операции предусмотрены специальные схемы, поэтому с точки зрения программирования эта память прозрачна для пользователя. Системную память, как правило, можно расширить за счет добавления ИС памяти, установленных на специальные небольшие платы с однорядным расположением выводов (single-in-line memory module — SIMM) или с двурядным расположением выводов (dual in-line — DIMM). Технология этих систем памяти постоянно совершенствуется, обеспечивая быстрый доступ и большие объемы хранения.
Остальные элементы блок-схемы представляют собой различные тины устройств ввода-вывода. Основным устройством вывода является экран монитора. Для того чтобы подать изображение на экран, необходима схема графического интерфейса, хранящая информацию, которая должна быть показана на экране, и генерирующая все необходимые сигналы для запуска электронно-лучевой трубки или жидкокристаллической панели внутри монитора. Для компьютеров есть несколько различных типов мониторов, каждый имеет соответствующую карту графического адаптера, которая вставляется в материнскую плату.
Основное устройство ввода — клавиатура позволяет заносить различные типы данных и сама имеет небольшой встроенный микроконтроллер, который отслеживает состояние клавиш и запоминает введенные пользователем символы до того, как ЦПУ будет готово принять их. Она посылает эту информацию в виде последовательных данных по 1 биту.
Каждая система имеет, как минимум, один дисковый накопитель. Эти устройства обеспечивают большие объемы памяти для хранения данных и средства загрузки программного обеспечения.