Курс лекций состоит из двух разделов: прктичского и теоретическо-

го. В практической части рассмотрим вопросы построения системных прог-

рамм, управляющих устройствами ПК. В теор. части рассмотрим вопросы

построения компиляторов, трансляторов, ОС, СУБД и т.д.

К СП относится та область программирования, которая связана с уп-

равлением техническими средствами ПК и организацией работы программных

систем. Отличие СП от прикладного- это машинная зависимость первого,

так как системные программы тесно связаны с архитектурой и структурой

компьютера, для которого они созданы. Например, АССЕМБЛЕР при переводе

команд в машинные коды должен учитывать способы адресации, форматы ко-

манд, длину регистров и другие аппаратные характеристики конкретной ма-

шины. Компиляторы также учитывают характеристики аппаратуры при генера-

ции кодов. ОС непосредственно управляют всеми ресурсами компьютера.

К задачам СП относятся разработка:

1. систем ассемблирования;

2. загрузчиков и программ связывания;

3. макропроцессоров;

4. Компиляторов;

5. операционных систем;

6. драйверов.

Система ассемблирования переводит исходный файл с командами в заг-

рузочный. Загрузчик записывает объектную программу в оперативную память

и передает управление на адрес начала ее исполнения - это абс. загр.

Загрузчик обеспечивающий перемещение программы в любую область памяти

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

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

загружаются (это обычно подпрограммы). Макропроцессоры позволяют часто

повторяющиеся группы заменять одной макроинструкцией. ОС осуществляет

интерфейс с пользователем. Драйверы управляют работой переферийных уст-

ройств.

АРХИТЕКТУРА ТЕХНИЧЕСКИХ СРЕДСТВ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ

1. Общее описание

Центром вычислительной системы является ее процессор. Именно он

выполняет команды, составляющие компьютерную программу. Микропроцес-

сор, использованный в IBM/PC, был разработан и создан фирмой "Интел".

В IBM/PC используется микропроцессор 8088, 80286, 80386, 80486

фирмы "Интел", Лишь немногие компоненты IBM/PC были специально разра-

ботаны для нее, - большая часть системы составлена из стандартных

компонентов. Особенность персонального компьютера фирмы "IBM" состоит

в оригинальном способе организации известных компонентов в единую

функционирующую систему.

Составляющие IBM/PC можно рассматривать с трех различных точек

зрения: по тому где они размещаются, как они функционируют, и как они


- 2 -

взаимодействуют друг с другом. Рассмотрим вопрос пространственного

размещения этих составляющих.

Физически составляющие IBM/PC можно разделить на компоненты сис-

темного блока и компоненты блока расширения. Все основные платы, вхо-

дящие в состав любой модели IBM/PC, размещаются в большом блоке, по-

лучившем название системного. Системный блок включает все необходимые

компоненты, позволяющие компьютеру работать без каких-либо дополне-

ний. Здесь находятся микропроцессор, первые 64К памяти и "встроенные"

программы, такие как интерпретатор языка Бейсик, записанный в микрос-

хемах ПЗУ.

Системный блок расположен в основании IBM/PC и заключен в кор-

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

для подключения дополнительного оборудования, которое может быть вве-

дено в состав компьютера. Блоки расширения вставляются в эти разъемы,

располагаясь над системным блоком.

Блоки расширения или карты, как их иногда называют - могут ис-

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

могут использоваться для двух основных целей: для увеличения объема

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

Системный блок разработан фирмой "IBM", а блоки расширения могут

разрабатывать все желающие, при условии что они будут соблюдать ос-

новные правила, касающиеся размеров, электрических параметров соеди-

нений, теплового режима и так далее.

Любые дополнительные устройства подключаются к IBM/PC с помощью

одного из разъемов расширения, каждый из которых имеет 62 соедини-

тельных провода. Эти 62 линии позволяют передавать все сигналы, необ-

ходимые для управления любым оборудованием, которое может быть подк-

лючено к IBM/PC. Все линии работают параллельно, так что устройства

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

одному из блоков расширения, передается и всем остальным, поскольку

они подключены к параллельным линиям. Здесь имеет место расширение

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

водное соединение. называемое каналом ввода/вывода.

По характеру использования все линии можно разделить на четыре

категории. Во-первых, восемь линий используются для подвода питания к

блокам расширения с различными номиналами напряжений.

Далее, еще восемь линий используется для передачи восьми бит

данных на/с шины данных. Все данные проходят по этой шине, независимо

от направления передачи.

Еще двадцать линий предназначены для адресации. При работе с па-

мятью используются все 20 линий, это позволяет передать адрес одной

из 1024К ячеек памяти. Для устройств ввода/вывода используется только

девять линий, что позволяет адресовать 512 различных устройств.

Остальные линии канала используются для передачи различных сиг-

налов управления. Примерами таких сигналов могут служить команды чте-

ния из памяти, записи в память или команды чтения/записи для перифе-

рийных устройств.

Внутри корпуса IBM/PC спрятаны два набора переключателей. Их на-

зывают переключателями конфигурации системы (они выполнены в виде

корпуса с двумя рядами выводов, т.е. корпуса типа DIP). Установка

этих переключателей указывает какое оборудование подключено к IBM/PC,

например, количество дисководов, объем доступной памяти и т.д. Эти

переключатели ничем реально не управляют - они используются только

для удобства. После включения IBM/PC программы запуска считывают по-

ложение этих переключателей и затем устанавливают содержимоке опреде-

ленных ячеек памяти в соответствии с их положением. Затем, если ка-

кой-либо программе необходимо узнать , какой объем памяти установлен,

проверяется содержимое этих ячеек.

Одним из основных элементов компьютера, позволяющим ему нормально


- 3 -

функционировать, является память. Внутренняя память компьютера явля-

ется временным рабочим пространством; в отличие от нее внешняя па-

мять, такая как файл на дискете, предназначена для долговременного

хранения информации. Информация во внутренней памяти не сохраняется

при выключении питания.

Каждая ячейка памяти имеет адрес, который используется для ее

нахождения. Поскольку адреса - это те же числа, компьютер может ис-

пользовать арифметические операции для вычисления адресов памяти.

IBM/PC использует возможности адресации микропроцессора 8088

полностью. Адреса в 8088 имеют длину 20 бит, следовательно, процессор

позволяет адресовать два в двадцатой степени байта или 1024 К.

2. Основные микросхемы

Главной микросхемой является сам микропроцессор. Рядом с микропро-

цессором предусмотрено место для микросхемы 80287, числового сопроцес-

сора, или процессора числовых данных, с его специальными возможностями

по выполнению очень быстрых (и с повышенной точностью) вычислений над

числами с плавающей точкой. Числовой сопроцессор устанавливается срав-

нительно небольшое количество РС, однако почти все члены семейства пре-

дусматривают гнездо для его установки.

Рассмотрим микросхемы, которые предназначены для выполнения опера-

ций синхронизации в компьютере. Одна из них называется генератором так-

товых (или синхронизирующих) сигналов и используется, прежде всего, для

получения тактов, которые управляют основным рабочим циклов компьютер в

АТ номером его идентификации является 88248. В любом случае эта микрос-

хема дает синхронизирующий сигнал, используемый в других компонентах

компьютера для установки основного рабочего темпа. В микросхеме генера-

тора тактовых сигналов используется кварцевый кристалл в качестве точ-

ной основы для синхронизации. Наш генератор тактовых сигналов подразде-

ляет сверхбыстрые такты кристалла в быстрые такты, требующиеся компь-

ютеру, и преобразует их в форму, приемлемую для использования другими

компонентами схемы.

С генератором тактовых сигналов близко связана микросхема програм-

мируемого таймера, идентифицируемая номером 8253. Программируемый тай-

мер может порождать другие сигналы синхронизации. Можно изменять ско-

рость выдачи сигналов, что делает эту микросхему "программируемой". Для

осуществления регулировки этим потоком информации в компьютерах предус-

мотрен микропроцессор контроллера шины. В РС эта микросхема имеет номер

8288, а в АТ - 82288. Задача контроллера шины состоит в том, чтобы

обеспечить нормальную работу шины.

Некоторые компоненты компьютера (в частности, дисководы) могут об-

мениваться данными непосредственно через кмпьютерную память, без про-

хождения данных микропроцессора для выполнения другой работы. Такой

процесс называется прямым доступом к памяти. Имеется специальная мик-

росхема, предназначенная для управления этим процессом, которая называ-

ется контроллером прямого доступа к памяти (номер микросхемы - 8237).

Прерывания контролируются специальной микросхемой (8259). В компь-

ютерах прерывания поступают с различной степенью важности и одной из

задач контроллера прерываний 8259 является отслеживания их в порядке

приоритетов, а также фиксация каких-либо задержанных прерываний.

К другим основным микросхемам относится микросхема программируемо-

го интерфейса периферийных устройств (номер - 8255). Эта микросхема

следит за работой некоторых из более простых периферийных устройств

компьютера, таких как порт кассетной ленты. Однако большинство перифе-

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

они могли регулироваться простой обычной схемой.

К таким сложным устройствам относятся приводы гибких дисков. Ос-

новной микросхемой, предназначенной для управления работой компьютера с


- 4 -

приводами гибких дисков, является контроллер гибкого диска PD765. Для

дисплея обычно используется микросхема, называемая контроллером элект-

ронно-лучевой трубки 6845.

3. Специальные свойства микропроцессора 286

В реальном режиме специальные возможности и характеристики микроп-

роцессора 286 не проявляются, поэтому компьютер с микропроцессором 286,

функционирующем в реальном режиме, может быть полностью совместимым с

обычным РС. Для того, чтобы воспользоваться дополнительными возможнос-

тями, следует переключиться на защищенный режим.

В защищенном режиме микропроцессор 286 обладает рядом дополнитель-

ных возможностей, позволяющих ему наращивать количество программ, с ко-

торыми компьютер может работать одновременно. Это достигается за счет

четырех основных средств: защиты (которая определяет наименование дан-

ного режима), расширенной памяти, виртуальной памяти и мультизадачнос-

ти.

Защита позволяет операционной системе воздвигать барьеры для защи-

ты программы от воздействия функционирования других программ или самой

операционной системы. В стандартном РС ими при работе микропроцессора

286 в реальном режиме отдельная прорамма может испортить работу опера-

ционной системы или какой-либо другой программы, использующей компь-

ютер, либо даже заблокировать весь компьютер, остановив его функциони-

рование. Защищенный режим работы микропроцессора 286 позволяет операци-

онной системе предотвращать порчу компьютера и даже порчу какой-либо

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

одновременной работы только с одной программой, то неправильная работа

программы и блокировка ею машины не играет столь уж большой роли. Одна-

ко, если нам нужно выполнять на компьютере одновременно несколько прог-

рамм, намного возрастает важность защиты функционирования компьютера от

некорректно работающих программ. Средство защиты делает это возможным.

Защищенный режим работы микропроцессора 286 предоставляет больший объем

памяти, причем это достигается двумя путями. Во-первых, за счет расши-

ренной памяти: микропроцессор 286 позволяет устанавливать в компьютер

до шестнадцати миллионов байтов рабочей памяти. Во-вторых, за счет вир-

туальной памяти: микропроцессор 286 может имитировать (или иметь) даже

большее количество памяти, чем имеется в фактическом наличии. Виртуаль-

ная память позволяет компьютеру предоставлять каждой программе до одно-

го биллиона байтов (один гигабайт) для работы с ними. Это очень большой

объем памяти.

Наконец, используя поддерживаемую аппаратными средствами мультиза-

дачность, микропроцессор 286 может быстро и надежно осуществлять перек-

лючение между программами, которые выполняются одновременно. Мультиза-

дачность применяется в случае, если компьютер одновременно работает с

более чем одной программой (задачей). Фактически, в каждый момент вре-

мени компьютер выполняет команды лишь одной программы, однако в процес-

се мультизадачной работы обрабатываться все программы - это можно срав-

нить с жонглером, который может одновременно работать с множеством ша-

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

ности, однако такую работу он не в состоянии выполнять на должном уров-

не, не обладая определенными специальными аппаратными средствами (таки-

ми, например, как защита памяти). Защищенный режим микропроцессора 286

предусматривает множество средств, которые практически обеспечивают

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

4. Память и порты, регистры

Регистры представляют собой разновидность памяти специального наз-

начения, которую микропроцессор использует для определенных конкретных


- 5 -

целей.

________________________________________________________________

! Флаги _____________________________________ !

! |____________________________________| !

! _____________________________________ !

! AX |_______AH_______|______AL___________| !

! BX |_______BH_______|______BL___________| !

! CX |_______CH_______|______CL___________| !

! DX |_______DH_______|______DL___________| !

! _____________________________________ !

! SP |____________________________________| !

! BP |____________________________________| !

! SI |____________________________________| !

! DI |____________________________________| !

! PC |____________________________________| !

! _____________________________________ !

! CS |____________________________________| !

! DS |____________________________________| !

! SS |____________________________________| !

! ES |____________________________________| !

!______________________________________________________________!

Регистрами является набор из четырнадцати 16-битовых мест, в кото-

рых можмно хранить числа. каждое из них является неотъемлемой, внутрен-

ней частью микропроцессора.

Первая группа регистров называется универсальными регистрами, Име-

ется четыре таких регистра, которые именуются AX, BX, CX и DX. Если для

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

гистров поскольку они делятся на половины старшего и младшего порядка,

которые обозначаются AH и AL, BH и BL и т.д. В этих универсальных ре-

гистрах выполняется значительная часть работы, поступающей в наши

компьютеры.

Следующая группа состоит из четырех регистров, используется для

оказания помощи микропроцессору в отыскании пути в памяти компьютера.

Регистры из этой группы называются регистрами сегментов. Каждый из них

используется для оказания помощи в получении доступа к разделу (или

сегменту) памяти объемом 64 К. Сегмент кода (или регистр CS) указывает,

в каком месте памяти располагается программа. Сегмент данных (или ре-

гистр DS) определяет местонахождение данных, используемых программой, а

дполнительный сегмент (или регистр ES) дополняет сегмент данных. Сег-

мент стека (или регистр SS) определяет местонахождение стека компьюте-

ра, который вкратце будет описан. Более полное представление о примене-

нии этих регистров мы получим в главе 7, когда более детально будет

рассматриваться память.

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

тупа к большим разделам (по 64 К)памяти, последняя группа регистров ис-

пользуется для оказания помощи в отыскании пути к определенным байтам в

памяти. Они применяются совместно с регистром сегмента для указания на

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

испольуется для конкретной цели. Указатель команды (инструкции) IP, ко-

торый называют также программным счетчиком, РС, сообщает микропроцессо-

ру только о месте, где выполняется программа. Указатель стека, SР, и

указатель базы, BP, используются для оказания помощи в отслеживании вы-

полняющейя работы. Индекс источника, SI, и индекс местоназначения (вы-

хода), DI, используются для оказания помощи нашим программам в переме-

щении больших объемовданых из одного места в другое.

Наконец имеется еще один регистр, называемый регистром флагов, ко-

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

ранее. Различные флаги сообщают нашим программам только о том, в каком

состоянии находится компьютер: результаты арифметических операций, раз-


- 6 -

решены ли прерывания и другие аналогичные состояния.

Микропроцессоры РС в основном управляются посредством последова-

тельности 1-битовых флагов, каждый из которых отмечает или устанавлива-

ет определенное состояние в компьютере. Флаги действуют независимо друг

от друга, однако, для удобства, они собраны вместе в регистр флагов.

Отдельные флаги могут проверяться и устанавливаться посредством специ-

альных команд, а вся группа флагов может считываться или устанавливать-

ся посредством пары команд, которые считывают или устанавливают весь

регистр флагов. Всего имеется девять стандартных флагов. Шесть из ним

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

операций: флаг нуля, ZF, указывает на нулевой результат (или равенство

при сравнении), флаг знака, SF, указывает на отрицательный результат,

флаг переноса, CF, означает перенос в следующую позицию, флаг дополни-

тельного переноса, AF, указывает на перенос из первых четырех битов

(что требуется для моделирования десятичных операций), флаг перенолне-

ния, OF, отмечает получение слишком большого результата и, наконец,

флаг четности, PF, отмечает четность или нечетность результата.

Три оставшихся флага используются для управления. Флаг направле-

ния, DF, управляет направлением повторения операций (например, при по-

байтовом перемещении данных): справа налево или наоборот. Флаг прерыва-

ний, IF, контролирует возможность прерываний: разрешены они или времен-

но запрещены. Флаг захвата, TF, вызывает генерацию копьютером специаль-

ного прерывания "захвата" после выполнения одной команды. Это делает

возможным пошаговое выполнение программы с трассировкой результатов

каждой отдельной команды.

Помимо этих девяти флагов, усовершенствованный микропроцессор 286,

используемый в ветви АТ семейства РС, допускает применение двух весьма

специальных флагов. Один из них, называемый, NT, используется для вло-

женных задач, а другой, двухбитовый флаг IOPL, управляет уровнем приви-

легии ввода/вывода.

Ъ—————————ї

і і

і УУПДП і

і і

А—————————Щ

Ъ————————ї Ъ————————————ї Ъ——————ї Ъ——————ї

і ЗУ і і ПРОЦЕССОР і іСИСТ. і і і Ъ———————ї

і і і і іКОНТР.і іКОНТР.і іПЕРЕФ. і

і і і і іВ/В і і і іУСТР. і

і і і і і і і і і і

і і і і і і і і і і

А————————Щ А————————————Щ А——————Щ А——————Щ А———————Щ

Ъ—————————ї

іСИСТЕМА і

іПРЕРЫВАН.і

і і

А—————————Щ