ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ, СИСТЕМЫ И СЕТИ

УЧЕБНОЕ ПОСОБИЕ

Санкт - Петербург

2008

УДК 004(07)

Вычислительные машины, системы и сети: учебное пособие / сост.

- СПб.: Изд-во СЗТУ, 20с.

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

Специальность

220201.65 - Управление и информатика в технических системах

140211.65 - Электроснабжение

Направления подготовки бакалавра

220200.62 - Автоматизация и управление

Санкт - Петербург

Издательство СЗТУ

2008

Введение. 4

Раздел 1. Центральный процессор. 5

1.1. Архитектура центрального процессора. 5

1.2. Организация памяти и способы адресации. 10

1.3. Общая характеристика системы команд. 19

1.4. Команды пересылки данных. 19

1.5. Арифметические команды.. 21

1.6. Сдвиги и логические команды.. 24

1.7. Команды обработки строк данных. 25

1.8. Команды передачи управления. 28

1.9. Команды управления процессором. 32

Раздел 2. Арифметический процессор. 36

2.1. Архитектура арифметического процессора. 36

2.2. Программная модель арифметического процессора. 40

2.3. Система команд арифметического процессора. 46

Раздел 3. Эволюция характеристик ЦП.. 56

3.1. Архитектура ЦП Pentium.. 56

3.2. Программная модель ЦП Pentium.. 60

3.3. Система команд ММХ-расширения. 62

3.4. Система команд SSE-расширения. 67

Раздел 4. Системные устройства ВМ... 76

НЕ нашли? Не то? Что вы ищете?

4.1. Программируемый контроллер прерываний. 76

4.2. Программируемый контроллер ПДП.. 80

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

4.4. Системные регистры.. 88

Раздел 5. Защищенный режим работы ВМ.. 92

5.1. Максимальный режим работы ЦП.. 92

5.2. Дескрипторы и шлюзы.. 97

Раздел 6. Язык ассемблера. 103

6.1. Программирование на языке ассемблера. 103

6.2. Директивы языка ассемблера ASM-86. 106

6.3. Использование регистров Pentium.. 109

6.4. Директивы языка ассемблера ASM-89. 111

6.5. Модели программ, компиляция и отладка. 114

Раздел 7. Специфика вычислительных систем. 117

7.1. Мультипроцессорные системы.. 117

7.2. Управление процессами. 122

7.3. Семафорные операции. 127

7.4. Разделение общих процедур. 130

7.5. Управление памятью.. 132

Раздел 8. Специализированные процессоры и ВМ.. 136

8.1. Процессор ввода-вывода. 136

8.2. Программная модель процессора ввода-вывода. 139

8.3. Система команд процессора ввода-вывода. 146

8.4. Процессор операционной системы.. 154

Раздел 9. Назначение и топология сетей. 159

9.1. Особенности и назначение сетей различных типов. 159

9.2. Кодирование информации. 163

9.3. Назначение и структура пакетов. 165

9.4. Методы управления обменом. 168

9.5. Эталонные модели. 171

Раздел 10. Практическая реализация сетей. 177

10.1. Адресация в сетях. 177

10.2. Основные службы Internet 179

10.3. Особенности web-дизайна. 181

10.4. Особенности и тенденции развития Internet 184

Глоссарий ……………………………………………………………………………….187

Литература………………………………………………………………………………197

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

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

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

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

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

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

1.1. Архитектура центрального процессора

Существует много различных подходов к реализации структурной схемы (архитектуры) центрального процессора (ЦП). В нашей стране наибольшее распространение получила архитектура, предложенная американской фирмой Intel. Именно поэтому мы сосредоточим основное внимание на изучении процессоров, построенных по идеологии Intel и вычислительных машин, реализованных на базе этих процессоров фирмой IBM. Начнем с первого 16-разрядного процессора Intel 8086, разработанного еще в 1978 году и послужившего основой для разработки многих поколений ЦП, вплоть до Pentium 4.

При разработке Intel 8086 применены интересные архитектурные реше­ния, к которым, в частности, относится разделение функций сопряжения с шиной и выполнения команд. В соответствии с этим структуру процессора (рис. 1.1, а) можно условно разделить на две части: блок сопряжения с шиной (БСШ) и исполнительный блок (ИБ). Блок сопряжения с шиной БСШ обеспечивает функции, связанные с выборкой операндов и кодов команд из памяти, запоминанием операндов, установлением очередности команд, а также формированием адресов операндов и команд. Исполнительный блок ИБ получает команды из очереди команд и указывает адрес операнда для БСШ. Операнды из памяти поступают через БСШ на обработку в ИБ, который выполняет предписанные операции и возвращает результаты в память через БСШ. Важно подчеркнуть, что эти блоки работают параллельно, причем БСШ обеспечивает извлечение кодов команд заблаговременно, в то время как ИБ выполняет текущую команду. Это повышает пропускную способность мультиплексированной шины адреса/данных ША/Д и увеличивает быстродействие ЦП.

Рассмотрим назначение и работу отдельных узлов микропроцессора Intel 8086. В нем имеется четырнадцать 16-разрядных регистров, которые по своему назначению можно разделить на три группы (рис. 1.1, б). Регистры АХ, ВХ, СХ, DX образуют группу регистров общего назначения (РОН). Эти регистры могут без ограничений участвовать в выполнении арифметических и логических опера­ций. Некоторые другие операции, например операции над цепоч­ками байтов и слов, предписывают регистрам данной группы спе­циальное использование: АХ - аккумулятор, ВХ - база, СХ - счетчик, DX - данные. В отличие от регистров других групп РОН обладают свойством раздельной адресации старших и младших байтов. Поэтому РОН можно рассматривать как совокупность двух наборов 8-разрядных регистров: набора Н, содержащего АН, ВН, СН, DH, и набора L, содержащего AL, BL, CL, DL. Регистры всех других групп являются неделимыми и оперируют 16-разрядными словами, даже в случае использования только старшего или младшего байта.

Регистры SP, BP, SI и DI образуют группу указательных и индексных регистров, назначение которых заключается в том, что они содержат значения смещений, используемых для адресации в пределах текущего сегмента памяти. При этом регистры-указатели SP и ВР хранят смещения адреса в пределах текущего сегмента памяти, выделенного под стек, а индексные регистры SI и DI содержат смещения адреса в пределах текущего сегмен­та памяти, выделенного под данные. С этим связаны и обозна­чения регистров: SP - указатель стека, ВР - указатель базы, SI - индекс источника и DI - индекс места назначения. Регистры этой группы могут использоваться и как регистры общего назначения.

Регистры CS, DS, SS и ES, образующие группу сегментных регистров, играют важную роль во всех действиях ЦП, связан­ных с адресацией памяти. Обозначения регистров расшифровы­ваются следующим образом: CS - кодовый или программный сегмент, DS - сегмент данных, SS - стековый сегмент и ES - дополнительный сегмент. Содержимое любого из этих регистров определяет текущий начальный адрес сегмента памяти, выде­ленного пользователем под информацию, соответствующую на­званию регистра.

Содержимое регистра CS определяет начальный адрес сег­мента памяти, в котором располагается объектный код програм­мы. Выборка очередной команды осуществляется относительно содержимого CS с использованием значения указателя команд IP. Содержимое регистра DS определяет начальный адрес теку­щего сегмента данных, так что обращение к данным в памяти ЦП осуществляет относительно содержимого DS. Для обраще­ния к другим трем сегментам: дополнительному, стековому или программному - используется специальный указатель, который называется префиксом замены сегмента и располагается в соот­ветствующих командах.

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

Рис. 1.1. Архитектура центрального процессора Intel 8086 и его регистры.

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

Рис. 1.2. Регистр флагов

Кроме перечисленных регистров имеются два 16-разрядных регистра: IP - указатель команд и F - регистр флагов. В регист­ре IP формируется относительный (относительно CS) адрес команды, подлежащей исполнению. В регистре F (рис. 1.2) ис­пользуются следующие девять разрядов: CF - перенос, PF - четность, AF - вспомогательный перенос, ZF - нулевой резуль­тат, SF - знак, TF - пошаговый режим, IF - разрешение преры­вания, DF - направление, OF - переполнение. Неиспользован­ные разряды на рисунке заштрихованы.

Флаги AF, CF, PF, SF и ZF характеризуют признаки результата последней арифметической, логической или иной операции, влияющей на эти флаги. Установка флага производится в следующих случаях:

AF - при выполнении операции производится перенос «1» из младшей тетрады байта в старшую или осуществляется заем «1» из старшей тетрады;

CF - при переносе «1» из старшего бита байта (слова) или при заеме единицы в старший бит;

PF - если в представлении результата операции содержится четное число единиц;

SF - при получении «1» в старшем бите результата;

ZF - если в результате выполнения операции получено нуле­вое значение.

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

Флаги DF, IF и TF используются для управления работой процессора. Флаг DF управляет направлением обработки данных в операциях с цепочками байтов или слов. При DF=1 цепочка обрабатывается снизу вверх, т. е. происходит автоматическое уменьшение (автодекремент) адреса текущего элемента цепочки. При DF=0 цепочка обрабатывается сверху вниз, т. е. происходит автоматическое увеличение (автоинкремент) адреса.

Флаг IF предназначается для разрешения или запрещения (маскирования) внешних прерываний. При IF = 0 внешние пре­рывания запрещены, т. е. процессор не реагирует на их запросы.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27