Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПСПЭВМ-УМК.pdf
Скачиваний:
18
Добавлен:
02.04.2015
Размер:
1.35 Mб
Скачать

19

3.2. Опорный конспект

Введение

Обработка информации и представление результатов обработки в удобном для человека виде производятся с помощью вычислительных средств. На- учно-технический прогресс привел к созданию разнообразных вычислительных средств: электронных вычислительных машин (ЭВМ), вычислительных систем (ВС), вычислительных сетей. Они различаются структурной организацией и функциональными возможностями.

Дать точное определение такому явлению, как ЭВМ, сложно. Достаточно сказать, что само по себе название ЭВМ, т. е. электронные вычислительные машины, не отражает полностью сущность концепции. Слово "электронные" подразумевало электронные лампы в качестве элементной базы, современные ЭВМ правильнее следовало бы называть микроэлектронными. Под словом "вычислительный" понимается устройство, предназначенное для проведения вычислений, однако анализ программ показывает, что современные ЭВМ не более 10 – 15 % времени тратят на чисто вычислительную работу - сложение, вычитание, умножение и т.д. Основное время затрачивается на выполнение операций пересылки данных, сравнения, ввода-вывода и т. д. То же самое относится и к англоязычному термину "компьютер", т. е. "вычислитель". К понятию ЭВМ можно подходить с нескольких точек зрения.

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

Если же рассматривать ЭВМ как ядро некоторой информационновычислительной системы, может оказаться полезным показать информационную модель ЭВМ - определить ее в виде совокупности блоков переработки информации и множества информационных потоков между этими блоками.

Сама по себе ЭВМ не обладает знаниями ни в одной области своего применения. Все эти знания сосредоточены в выполняемых на ЭВМ программах. Поэтому для эффективного использования ЭВМ необходимо иметь представление о назначении и свойствах различных категорий программных продуктов.

) Нумерация разделов, рисунков и таблиц в опорном конспекте автономная

20

Раздел 1. Организация информационных процессов в ЭВМ

Перечень тем, изучаемых в разделе:

1.Классическая архитектура ЭВМ;

2.Архитектура персональных ЭВМ.

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

Тема 1.1. Классическая архитектура ЭВМ

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

Основу ЭВМ образует аппаратура, построенная на электронных, электромеханических и оптических элементах и устройствах.

Принцип работы ЭВМ заключается в выполнении программы.

Теоретические основы архитектуры вычислительных машин заложил американский математик Джон фон Нейман. В 1946 г. ученый изложили свои принципы построения вычислительных машин, которые сохраняют актуальность и сегодня. Эти принципы сводятся к следующим трем положениям:

1.Обосновано использование двоичной системы для представления чисел (ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде). Показаны преимущества двоичной системы для технической реализации, удобство и простота выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации - текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера.

2.Предложен принцип "хранимой программы". Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: для изменения программы требовалось несколько дней. Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.

21

3. Фон Нейман выдвинул основополагающие принципы логического устройства ЭВМ и предложил ее структуру. Основными блоками, по Нейману, являются:

устройство управления (УУ) и арифметико-логическое устройство (АЛУ) (обычно объединяемые в центральный процессор),

Управляющие

сигналы

Центральный процессор (ЦП)

Устройство Арифметико-

управления логическое (УУ) устройство

(АЛУ)

Управляющие

сигналы

 

 

Адреса

Команды

Данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Устройства

 

 

 

Оперативное запоминающее

 

 

 

Устройства

ввода

 

 

 

 

устройство (ОЗУ)

 

 

 

вывода

 

 

 

 

 

 

 

 

Данные

 

 

 

 

Данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.1.1

память – оперативное запоминающее устройство (ОЗУ) или оперативная память (ОП),

устройства ввода и вывода (УВВ).

Структурная схема такой ЭВМ представлена на рис. 1.1. Полые стрелки на схеме указывают направление потоков информации, адресов и команд; пунктирные - управляющих сигналов от процессора к остальным узлам ЭВМ.

Рассмотрим назначение основных блоков ЭВМ.

Оперативное запоминающее устройство (ОЗУ) предназначено для запо-

минания, хранения и выборки программ и данных. Память состоит из конечного числа ячеек, каждая из которых имеет свой уникальный номер или адрес, (см. рис 1.2,а).

Доступ к ячейке осуществляется указанием ее адреса. Память способна выполнять три вида операций над данными: 1) чтение с сохранением содержимого; 2) запись нового значения со стиранием предыдущего; 3) хранение записанного значения длительное время. Как уже говорилось выше, каждая ячейка памяти может использоваться для хранения либо порции данных, либо команды. В большинстве современных ПК минимально адресуемым элементом памяти является байт - поле из 8 битов (рис. 1.2, б). Совокупность битов, которые арифметико-логическое устройство может одновременно поместить в регистр или обработать, называют обычно машинным словом.

22

Арифметико-логическое устройство (АЛУ) выполняет основную работу

 

 

ОЗУ (ОП)

 

 

 

 

 

 

 

 

 

 

 

 

 

Адрес

Ячейки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

Ячейка памяти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

байт

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Адрес из

 

3

 

Чтение или

 

 

 

 

 

 

 

 

 

 

 

 

7

6

5

4

 

3

2

1

0

 

УУ

 

 

 

 

 

 

4

10101110

 

 

запись данных

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

0

 

1

1

1

0

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

бит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

.

.

 

 

 

 

б)

 

 

 

 

 

 

 

.

.

 

 

 

 

 

 

 

 

 

 

 

m-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a)

Рис. 1.2

по переработке информации, хранимой в оперативной памяти. В нем выполняются арифметические и логические операции. Кроме того, АЛУ вырабатывает управляющие сигналы, позволяющие ЭВМ автоматически выбирать путь вычислительного процесса в зависимости от получаемых результатов. Операции выполняются с помощью электронных логических схем, которые реально могут выполнять только одно арифметическое действие – сложение.

Устройство управления (УУ) осуществляет управление всем ходом вычислительного процесса в ЭВМ.

Так как программа – это последовательность команд, которые определяют конкретные действия, то необходимо, чтобы УУ автоматически считывало очередную команду из памяти для её исполнения. Таким образом, для выполнения каждой команды УУ организует повторение следующих действий:

1.Формирование адреса для чтения очередной команды из памяти;

2.Чтение очередной команды из памяти и расшифровка её содержимого;

3.Выполнение команды, т. е. подключение в работу необходимых цепей, схем и устройств. Затем вновь выполняется действие 1.

Количество повторений этих трёх действий определяется количеством команд в программе.

23

Устройства ввода и вывода (УВВ) осуществляют ввод информации в ОЗУ из внешних устройств (ВУ) и вывод её из ОЗУ на ВУ. Такими ВУ являются клавиатура, дисплей, внешняя память, принтер и др.

Функционирование ЭВМ состоит в выполнении программы.

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

Описанием отдельного действия, которое должна выполнить ЭВМ, является команда. Таким образом, программа состоит из некоторого множества команд.

Команда – это управляющее слово в двоичном коде, содержащее смысл операции, и которое является инструкцией для ЭВМ по выполнению определенного действия.

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

Команды программы перед её выполнением и в процессе выполнения хранятся в ячейках памяти (ОЗУ).

Рассмотрим, из каких частей состоит команда и какие она содержит указания, которые должен выполнить процессор. Необходимо отметить, что команда представляется в двоичном коде и внешне ничем не отличается от кодов чисел. Знает о том, что это команда, только программист.

Команда ЭВМ обычно состоит из двух частей - операционной и адресной. Операционная часть (иначе она еще называется кодом операции - КОП) указывает, какое действие необходимо выполнить с информацией. Код операции можно представить себе как некоторый условный двоичный номер в общем

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

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

Код операции

Адрес 1

Адрес 2

 

Адрес 3

 

 

 

 

 

 

 

 

 

 

Операционная

 

Адресная

 

 

часть

 

часть

 

 

 

 

 

 

 

Рис. 1.3

Структура трехадресной команды представлена на рис. 1.3.

24

Операндами называются данные (числа, коды символов и др.), над которыми в процессоре выполняются различные действия (операции).

Первые ЭВМ имели наиболее простую и наглядную трехадресную систему команд (рис. 1.3).

Например, трехадресная команда «сложение» реализует следующие действия: взять числа из ячеек памяти по адресам А1 и А2, сложить их и сумму поместить в ячейку ОЗУ по адресу A3.

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

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

венным, или линейным.

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

Выполняемая программа хранится в ОЗУ. Причем команды программы располагаются в соседних ячейках памяти одна за другой, как показано на рис. 1.4.

 

 

 

 

ОЗУ

 

 

 

 

Адр.

Ячейки

 

 

 

25

 

Команда 1

Естественное на-

 

26

 

Команда 2

 

 

правление выпол-

 

27

 

Команда 3

 

 

нения команд про-

 

28

 

Команда 4

граммы

Программа

29

 

Команда 5

Команда

30

 

Команда 6

 

 

 

 

перехода

 

31

 

Команда 7

 

 

 

 

32

 

Команда 8

 

 

33

 

Команда 9

 

 

34

 

Команда 10

 

Рис.1.4

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

мандами перехода, или передачи управления. В ко-

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

25

ды (команда 6 на рис. 1.4) будет выполняться не очередная команда программы (команда 7), а другая, указанная в адресной части команды перехода (например, команда 9).

В построенной по описанной схеме ЭВМ происходит последовательное считывание команд из памяти и их выполнение. Номер (адрес) очередной ячейки памяти, из которой будет извлечена следующая команда программы, указывается специальным устройством - счетчиком адресов команд (или программным счётчиком), который находится в УУ. При естественном порядке выполнения команд содержимое счетчика (адрес) автоматически увеличивается на 1. При выполнении команды перехода в счетчик заносится новое содержимое (новый адрес, который располагается в адресной части команды перехода).

Принципы фон Неймана практически можно реализовать множеством различных способов, и каждый способ реализации будет определять тот или иной тип ЭВМ.

Вопросы для самопроверки по теме 1.1

1.Перечислить принципы построения ЭВМ Фон Неймана.

2.Перечислить основные устройства, входящие в состав ЭВМ.

3.Что такое адрес ОЗУ?

4.Функциональное назначение АЛУ.

5.Состав команды ЭВМ.

6.Что понимается под линейным порядком выполнения команд?

7.В чём смысл выполнения команды перехода (передачи управления)?

Тема 1.2. Архитектура персональных ЭВМ

В настоящее время существуют ЭВМ всевозможных категорий – от суперЭВМ до микроЭВМ. Наиболее массовыми среди них являются персональные ЭВМ (ПЭВМ), или персональные компьютеры (ПК).

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

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

Компьютер является однопользовательским, если за ним может работать один человек (или несколько человек попеременно).

Наконец, компьютер является микрокомпьютером, если его основу образует микропроцессор.

26

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

Архитектура показывает организацию, структуру и ресурсы ПК, которые может использовать программист.

Архитектура ПК изображена на рис. 1.5.

Генератор

Центральный процессор (ЦП)

 

 

 

тактовых

Арифметико-логическое

Ячейка 1

 

Основная

сигналов

устройство

 

Ячейка 2

 

память

 

Регистровая

Регистр

Ячейка 3

 

(ОЗУ, ПЗУ)

Контроллер

.

 

прерываний

память

флагов

.

 

 

 

Устройство управления (УУ)

.

 

 

 

Ячейка n

 

 

 

 

 

 

 

 

Внешние

Программный

Регистр

Регистр

 

 

 

сигналы

счетчик

адреса

команд

Адрес

Данные

Управление

прерываний

 

Шина адреса

 

 

 

 

 

Системная

Шина данных

 

 

 

 

 

шина

Шина управления

 

 

 

 

 

 

 

 

 

 

 

 

Контроллеры (адаптеры)

Адрес

Данные

Управление

 

устройств ввода - вывода

 

Для внешних ЗУ

 

Порт 1

 

 

 

Параллельный адаптер (LPT)

Порт 2

 

 

ВУ

Порт 3

 

 

Последовательные адаптеры (COM,USB)

.

 

Порты

 

.

 

 

 

 

 

 

устройств

 

Для монитора, клавиатуры, «мы-

.

 

 

ввода - вывода

 

ши»,принтера и др.

 

Порт m

 

 

Рис. 1.5

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

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

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

27

u τ

0 t

T

Рис. 1.6

Тактовые сигналы (синхросигналы) представляют собой периодическую последовательность прямоугольных импульсов напряжения длительностью τ с периодом повторения Т. В простейшем случае любое действие ПК во времени начинает выполняться по переднему фронту одного из этих импульсов.

В соответствии с приведенными выше принципами фон Неймана ПЭВМ имеет в своем составе следующие функциональные устройства: центральный процессор, память, внешние устройства (ВУ) с контроллерами и системная шина.

Центральный процессор (ЦП), или микропроцессор, - функциональная часть ЭВМ, выполняющая основные операции по обработке данных и управлению работой других устройств. Это наиболее сложный компонент ПЭВМ как с точки зрения электроники, так и с точки зрения функциональных возможностей. Центральный процессор состоит из следующих взаимосвязанных составных элементов: арифметико-логического устройства, устройства управления и внутренней памяти.

Арифметико-логическое устройство формирует по входным переменным одну - выходную, выполняя заданную функцию (сложение, вычитание, сдвиг и т. д.).

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

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

Регистр-аккумулятор - регистр временного хранения операндов и результатов, который используется в процессе вычислений (например, в нем формируется результат выполнения команды сложения).

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

28

Счетчик адресов команд (программный счетчик) содержит адрес текущей выполняемой команды и автоматически формирует адрес следующей команды программы путём добавления к текущему значению единицы.

Регистр флагов - хранит характеристику результата выполнения операции над данными. Отдельные разряды (флаги) этого регистра указывают на равенство результата операции нулю, знак результата операции (+ или - ), правильность выполнения операции (наличие переноса за пределы разрядной сетки или переполнения). Программный анализ флагов позволяет производить операции ветвления программы в зависимости от конкретных характеристик результата.

Регистр адреса – содержит код адреса команды или данных, хранящихся в основной памяти, либо номер порта ввода-вывода.

Регистр команд - хранит код команды в процессе ее выполнения. Устройство управления (УУ) - часть центрального процессора. Оно выраба-

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

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

Память современных ПК, в отличие от простейшей в структуре фон Неймана является многоуровневой и кроме внутренней памяти процессора состоит:

из основной памяти;

кэш – памяти;

внешней памяти.

Основная память содержит оперативную и постоянную памяти. Оперативная память (ОП) - функциональное устройство, хранящее инфор-

мацию для УУ (команды) и АЛУ (данные). ОП способна выполнять все три вида операций над данными: чтение, запись и хранение. Задачи, решаемые с помощью ПЭВМ, требуют хранения в памяти различного количества информации, зависящего от сложности реализуемого алгоритма, количества исходных данных и т. п. Поэтому память должна вмещать достаточно большое количество информации, т. е. должна иметь большую емкость. С другой стороны, память должна обладать достаточным быстродействием, соответствующим быстродействию процессора. Оперативная память является энергозависимой: при отключении питания информация в ОП теряется.

29

Постоянная память (ПП). Эта память предназначена только для чтения команд и констант. Т. е. она способна выполнять только два вида операций над данными – чтение и хранение. ПП является энергонезависимой, используется для хранения системных программ, в частности так называемой базовой систе-

мы ввода-вывода (BIOS - Basic Input and Output System), вспомогательных про-

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

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

Емкость памяти – максимальное количество байтов информации, которое можно записать в памяти.

Емкость памяти можно выразить количеством содержащихся в ней ячеек. Длина ячейки памяти измеряется количеством битов (один бит равен одному двоичному разряду) или байтов (один байт содержит восемь битов). Ячейка памяти может вмещать информацию разной длины или разного формата. Формат измеряется словом, двойным словом или полусловом в зависимости от принятого для данной ЭВМ способа представления информации.

Обычно ячейки памяти являются однобайтовыми. Поэтому принято емкость памяти измерять в байтах или производных от байта единицах:

1 килобайт (Кбайт) = 1024 байт = 210 байтам; 1 мегабайт (Мбайт) = 1024 Кбайт = 220 байтам; 1 гигабайт (Гбайт) = 1024 Мбайт = 230 байтам; 1 терабайт (Тбайт) = 1024 Гбайт = 240 байтам.

Время обращения - интервал времени между началом и окончанием ввода (вывода) информации в память (из памяти). Оно характеризует затраты времени на поиск ячейки и запись (чтение) байта в память (из памяти).

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

Внешняя память предназначена для долговременного хранения данных большого объема и программ. К компьютеру могу быть подключены следующие устройств внешней памяти: накопители на гибких и жестких магнитных дисках (НГМД и НЖМД), магнитных лентах (НМЛ), компакт-дисках (CD), DVDдисках, флэш-памяти и др.

Внешние устройства (ВУ). В их число входят устройства двух типов: устройства внешней памяти и коммуникационные устройства, предназначенные для связи ЭВМ с внешним миром (с пользователем, другими ЭВМ и т. д.).

30

ВУ подсоединяются к системной шине не напрямую, а через цепочку - контроллер (адаптер) – порт ввода вывода.

Контроллеры служат для управления внешними устройствами (ВУ). Каждому ВУ соответствует свой контроллер. Электронные модули-контроллеры реализуются либо на материнской плате, либо на отдельных печатных платах, вставляемых внутрь системного блока. Такие платы часто называют адаптерами ВУ (от адаптировать - приспосабливать). После получения команды от ЦП контроллер функционирует автономно, освобождая ЦП от выполнения специфических функций, требуемых для того или другого конкретного ВУ.

За каждым контроллером закреплены регистры двух типов - регистры состояния (управления) и регистры данных. Эти регистры часто называют портами ввода-вывода. Каждому порту назначен определенный номер - адрес порта. По аналогии с ячейками памяти порты ввода-вывода можно рассматривать как ячейки, через которые можно записать в ВУ, или, наоборот, - прочитать из него данные. Через порты пользователь может управлять ВУ, используя команды ввода-вывода.

Программа, выполняющая операции ввода-вывода для конкретного устройства или группы устройств ПК, входит в состав ядра операционной системы ЭВМ и называется драйвером.

ВПК имеются два типа универсальных коммуникационных портов:

1)последовательные (serial) порты - обеспечивают побитовый (поразрядный) обмен информацией с медленнодействующими или достаточно удаленными ВУ. К таким портам относятся COM – порт, PC/2 – порт, USB – порт;

2)Параллельные (parallel) порты - служат для обмена байтами (одновременно восемью разрядами) с более быстродействующими ВУ и находящимися рядом с ПК. К параллельным портам с именем LPT, как правило, подключаются принтеры.

Системная шина. Объединение функциональных блоков в ЭВМ осуществ-

ляется посредством системной шины, которая содержит целую систему шин:

шину данных (ШД), по которой осуществляется обмен информацией между устройствами ПЭВМ;

шину адреса (ША), используемую для передачи адресов (номеров ячеек памяти или портов ввода-вывода, к которым производится обращение);

шину управления (ШУ) для передачи управляющих сигналов. Совокуп-

ность этих трех шин и называют системной шиной, или системной магистра-

лью. Состав и назначение шины, правила использования, виды передаваемых

31

по шине сигналов и другие характеристики шины могут существенно различаться у разных видов ЭВМ. Однако есть принципиально общие закономерности в организации шин.

Шина состоит из отдельных проводников (линий). Сигналы по линиям шины могут передаваться либо импульсами (наличие импульса соответствует логической 1, а отсутствие импульса - 0), либо уровнем напряжения (например, высокий уровень - логическая 1 , низкий - логический 0). Шириной шины называется количество линий (проводников), входящих в состав шины. Ширина шины адреса определяет размер адресного пространства ЭВМ. Если, например, количество линий адреса, используемых для адресации памяти, равно 20, то общее количество адресуемых ячеек памяти составит 220, т.е. примерно один миллион ячеек (точнее, 1 048 576 ячеек). Ширина шины данных определяется размером обрабатываемых в ЦП слов данных и, как правило, кратна числу байтов.

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

Рассмотрев архитектуру ПК можно констатировать, что она имеет достаточно сложную структуру, объединяющую множество электронных компонентов. Это множество определяется понятием ресурса.

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

1.2.1. Понятие о системе команд ЭВМ

Все разнообразие решаемых на ЭВМ задач реализуется с помощью небольшого набора очень простых команд. Система команд у типичной ЭВМ включает в себя всего 60 - 150 базовых команд. Все команды в основном служат для выполнения очень простых действий таких, как прочитать, запомнить, сложить, сдвинуть, сравнить и т. д. Интеллектуальность ЭВМ достигается за счет того, что ЭВМ способна выполнять программы, состоящие из большого числа таких простых действий с огромной скоростью.

32

Основной набор команд довольно слабо изменился в ходе бурной эволюции ЭВМ. В то же время способы указания адреса расположения информации в памяти претерпели значительное изменение.

При описании системы команд ЭВМ обычно принято классифицировать их по функциональному назначению, длине, количеству адресов, способу адресации и другим признакам. Классификация команд по различным признакам показана на рис. 1.7.

Рис. 1.7

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

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

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

К основным арифметическим действиям обычно относятся сложение и вычитание. Что касается умножения и деления, то они во многих ЭВМ выполняются по специальным программам. Логические операции позволяют компьютеру анализировать обрабатываемую информацию. Простейшими примерами могут служить операции сравнения, а также известные логические операции И,

33

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

Команды обработки данных могут иметь один или два операнда. Операнды могут храниться в регистрах центрального процессора, в памяти или в самой команде. Результат операции формируется в регистре-приемнике или в специализированном регистре-аккумуляторе. Команды данной группы формируют признаки результатов, устанавливаемые в регистре флагов процессора: перенос из старшего разряда, переполнение, нулевой результат и др.

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

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

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

Для возврата из подпрограммы в основную программу служат команды возврата RETURN. Команды возврата из подпрограммы извлекают из стека верхний элемент и помещают его в программный счетчик. Если имели место не-

34

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

Специальные команды. В ЭВМ могут использоваться дополнительные (специальные) команды. К их числу можно отнести команды остановки центрального процессора, сброса внешних устройств, установки или сброса отдельных признаков и т. д.

По количеству имеющихся в команде адресов различают безадресные, одноадресные и двухадресные команды.

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

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

Различные способы адресации базируются на разных механизмах определения физического адреса операнда, то есть адреса фактического обращения к памяти при выполнении команды. Определение набора способов адресации, закладываемых в систему команд, является одним из важнейших вопросов разработки ЭВМ, существенно влияющим на ее архитектуру, вычислительные возможности, объем оборудования, быстродействие и другие характеристики

Применяются следующие основные способы адресации операндов:

1)Регистровая адресация. Адрес чтения операнда или записи результата определен в самом коде операции. Поэтому команда содержит один байт. Такая адресация применяется при пересылке данных из регистра в регистр внутри ЦП, выполнении арифметических и логических операций над содержимым внутренних регистров и др.

2)Непосредственная адресация. Операнд содержится непосредственно

вкоманде и размещается во 2-м и/или 3-м байтах.

3)Прямая адресация. Команда состоит из КОП и адреса операнда в памяти, над которым должна выполняться операция.

4)Косвенная адресация. В команде указывается КОП и наименование регистра, содержимое которого является адресом расположения операнда в па-

35

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

5) Индексная (относительная) адресация. Адрес операнда определяется суммой адресной части команды и содержимого одного из регистров МП, в котором хранится базовый адрес.

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

-компьютер с полным набором команд CISC (Complex Instruction Set Com-

puter;

-с ограниченным набором - RISC (Reduced Instruction Set Computer).

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

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

1.2.2. Прерывания и механизм их обслуживания

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

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

Основные виды прерываний - внутрипроцессорные прерывания и прерывания от внешних устройств.

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

36

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

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

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

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

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

После получения сигнала о прерывании контроллер и процессор приступают к его обслуживанию:

запоминается состояние прерванной (основной) программы;

распознается источник прерывания;

организуется переход к подпрограмме обработки прерывания от данного источника;

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

восстанавливается состояние прерванной (основной) программы и при возможности продолжается ее исполнение.

37

На рис. 1.8 изображен принцип обслуживания запросов на прерывание от ВУ.

 

 

 

Области

 

 

 

 

 

 

оперативной памяти

 

 

 

 

Адрес

Ячейки

 

 

 

 

 

 

0

Последова-

 

 

 

 

 

 

 

 

 

 

 

1

 

тельность

 

 

 

 

 

 

выполнения

 

 

Ячейки

 

 

. . .

 

Адрес

 

Основная

23

Команда 1

команд

101

 

Команда 1

Подпрограмма

24

Команда 2

 

102

Команда 2

обслуживания

программа

25

Команда 3

 

103

 

Команда 3

 

26

Команда 4

 

104

 

Команда 4

прерывания

 

27

Команда 5

 

105

 

Команда 5

 

 

28

Команда 6

 

106

 

Команда 6

 

 

...

. . .

 

...

 

. . .

 

 

79

Команда 54

 

118

Команда 18

 

Внешнее устройство Запрос на

прерывание

Запись в стек адреса возврата

 

Адрес

Ячейки

 

Область

...

 

 

3

 

 

стековой

 

 

2

 

 

памяти

 

Указатель

1

27

стека

Рис. 1.8

Основная программа расположена в ячейках ОП с адресами 23 –79, подпрограмма обработки прерывания в ячейках101 – 118, а стек имеет особую адресацию. Пунктирными стрелками показана последовательность выполнения команд центральным процессором.

Основная программа начинает выполняться с первой команды. В ходе выполнения команды 4 ВУ выдало запрос на прерывание. ЦП завершает выполнение команды 4, записывает в стек содержимое программного счётчика, в котором находится адрес очередной - 5-й команды (27), и переходит к выполнению команды 1 подпрограммы обработки прерывания (адрес 101). Последней командой этой подпрограммы (команда 18) является команда возврата. При её исполнении адрес первой невыполненной команды основной программы (27) считывается из стека и заносится в программный счётчик. Тем самым осуществляется переход к выполнению команды 5 основной программы.

 

 

38

 

1.2.3. Обобщенный алгоритм функционирования ПК

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

ность команд, записанных в ячейки памяти основной памяти (ОП или ПП).

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

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

 

 

Важной составной частью фон-неймановской архи-

1

Инициализация

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

 

процессора

счетчик). Этот специальный внутренний регистр про-

2

Выборка

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

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

 

команды

нии питания или при нажатии на кнопку сброса (на-

 

 

3

Увеличение

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

 

программного

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

 

счетчика

4

Чтение

ции всех устройств и начальной загрузки. Дальнейшее

 

операндов

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

 

(если требуется)

5

Выполнение

мой.

Каждая программа состоит из отдельных машинных

 

команды

команд. Каждая машинная команда в свою очередь де-

 

 

6

Запись

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

 

результата

сколько байтов памяти.

 

(если требуется)

7

 

При выполнении каждой команды ПЭВМ проделы-

Останов?

вает определенные стандартные действия, последова-

нет

да

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

 

ма на рис. 1.9. Описание символов алгоритма:

8

Останов

1. Инициализация. После включения ЭВМ или опе-

 

процессора

рации сброса в регистры центрального процессора зано-

 

Рис. 1.9

сятся некоторые начальные значения. Обычно в процес-

 

се инициализации в память ЭВМ помещается програм-

 

 

ма, называемая первичным загрузчиком. Основное назначение первичного за-

грузчика - загрузить в память с устройства внешней памяти операционную сис-

тему. Эта программа может быть размещена в энергонезависимом устройстве

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

мяти. Затем в память загружается прикладная программа пользователя и необ-

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

значение, равное адресу первой команды загруженной прикладной программы.

39

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

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

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

4.По адресным полям команды устройство управления определяет, имеет ли команда операнды в памяти. Если это так, то на основе указанных в адресных полях режимов адресации вычисляются адреса операндов и производятся операции чтения памяти для считывания операндов.

5.Устройство управления и арифметико-логическое устройство выполняют операцию, указанную в поле кода операции команды.

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

7.Если последняя команда программы не была командой ОСТАНОВИТЬ ПРОЦЕССОР, то описанная последовательность действий повторяется, начиная с шага 2.

Описанная последовательность действий центрального процессора с шага 2 до шага 7 называется циклом процессора.

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

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

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