Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

arx011010_ch1

.pdf
Скачиваний:
21
Добавлен:
11.05.2015
Размер:
1.98 Mб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО

ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ (ТГПУ)

А.П. Клишин

”Архитектура компьютера”

Часть 1

Учебное пособие

Томск - 2008

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ (ТГПУ)

А.П. Клишин

”Архитектура компьютера”

Часть 1

Учебное пособие

Томск - 2008

1

СОДЕРЖАНИЕ

Лекция 1. Введение в курс архитектура компьютера……………………

4

1.1. Основные понятия и определения……………………………………

4

1.2. Элементы современных представлений об архитектуре ПЭВМ…...

4

1.3. Основные принципы архитектурного строения ПЭВМ…………….

7

1.4.Функциональная схема ПЭВМ………………………………………. 8

1.5.Основная память………………………………………………………. 13

1.6.Структурно-функциональная схема ПЭВМ…………………………. 16 Лекция 2. Центральный процессор……………………………………….. 19 2.1.Оперативная память и процессор……………………………………... 19

2.2. Cегментная адресация………………………………………………… 21

2.3.Регистры процессора …………………………………………………. 23

2.4.Понятие о реальном режиме работы процессора…………………... 27

2.5. Развитие архитектуры процессора Intel………………………………

28

Лекция 3. Адресация процессора………………………………………….

29

3.1.Сегментный способ адресации памяти………………………………. 29

3.2.Команда ЭВМ………………………………………………………….. 32

3.3. Общая структура процессора………………………………………… 33

3.4.Схема выполнения команд простого процессора …………………... 39

3.5.Адресация информации и обработка адресов……………………….. 41

3.5.1.Непосредственная адресация…………………………………..... 41

3.5.2. Прямая адресация………………………………………………… 41

3.5.3.Модификация адресов……………………………………………. 41

3.5.4.Относительная адресация………………………………………... 42

3.6.Организация виртуальной памяти………………………………….. 44

3.6.1. Страничная адресация памяти……………………………………

45

3.6.2. Сегментация памяти………………………………………………

47

3.7.Структурные методы повышения быстродействия памяти………. 49

3.8. Кэш - память…………………………………………………………. 49

3.8.1. Управление работой КЭШа……………………………………… 50

3.9.Архитектура ассоциативной памяти……………………………….. 51

3.10.Внешние накопители (ВЗУ)………………………………………... 52

2

Лекция 1. Введение в курс архитектура компьютера 1.2. Элементы современных представлений об архитектуре ПЭВМ

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

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

Основные компоненты архитектуры компьютера можно представить в виде схемы, показанной на рисунке 1.

Архитектура

компьютера

Вычислительные и

 

Аппаратные средства

 

Программное

логические

 

 

 

обеспечение

возможности

 

 

 

 

 

 

 

 

 

Система команд

 

Структура компьютера

Операционная система

Форматы данных

 

Организация памяти

Языки программирования

Быстродействие

 

Организация ввода-вывода

Прикладное программное

 

 

данных

обеспечение

Принципы управления Рис. 1. Архитектура компьютера в широком смысле

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

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

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

4

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

Под архитектурой понимают следующее:

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

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

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

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

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

А теперь приведем более детальное определение понятия архитектуры, которое, более подходит к требованиям, предъявляемым к учебному процессу:

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

структурную схему ЭВМ;

средства и способы доступа к элементам структурной схемы ЭВМ;

организацию и разрядность интерфейсов ЭВМ;

набор и доступность регистров;

организацию и способы адресации памяти;

способы представления и форматы данных ЭВМ;

набор машинных команд ЭВМ;

форматы машинных команд;

обработку нештатных ситуаций (прерываний).

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

5

Все современные ЭВМ обладают некоторыми общими и индивидуальными свойствами архитектуры. Индивидуальные свойства присущи только конкретной модели компьютера и отличают ее от больших и малых собратьев. Наличие общих архитектурных свойств обусловлено тем, что большинство типов существующих машин принадлежат 4 и 5 поколениям ЭВМ, так называемой фон-неймановской архитектуры. К числу общих архитектурных свойств и принципов можно отнести:

Принцип хранимой программы. Согласно ему, код программы и ее данные находятся в одном адресном пространстве в оперативной памяти.

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

Линейное пространство памяти – совокупность ячеек памяти, которым последовательно присваиваются номера (адреса) 0, 1, 2,....

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

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

Безразличие к целевому назначению данных. Машине все равно, какую логическую нагрузку несут обрабатываемые данные.

1.1.Дополнительные понятия и определения из системного анализа

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

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

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

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

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

6

Комплекс – система элементов в их взаимосвязи.

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

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

структуру обработки данных и прочие технические параметры.

1.3. Основные принципы архитектурного строения ПЭВМ

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

Решение задач на ЭВМ обеспечивается благодаря наличию аппаратного (hard ware) и программного (soft ware) обеспечения ЭВМ. В соответствии с этим различают аппаратный и программный способ решения задач. Каждый их приведенных способов имеет свои достоинства и недостатки.

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

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

Для понимания строения компьютера различают три уровня в структуре ЭВМ:

a)аппаратура, суть технические элементы (процессор, модули памяти и т.д.);

b)архитектура, – как система элементов и структура и характеристики которых доступны пользователю;

c)программное обеспечение –совокупность программ управляющих

работой ЭВМ и предоставляющих сервисные услуги пользователя.

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

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

1.Физическая совместимость – означает стандартизацию входных и выходных сигналов, унификацию конструкторско-технологической базы ЭВМ.

2.Информационная совместимость – означает использование общих принципов кодирования, адресации, форм и форматов представления данных.

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

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

7

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

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

Третий принцип. Микропрограммирование. Управление слаженной работой модулей может быть реализовано либо аппаратно, либо с помощью программы. Чтобы обеспечить гибкость, адаптивность компьютерной системы, модули не должны быть связаны жестко аппаратным образом в единый функциональный комплекс. Формирование связей между модулями должно быть результатом выполнения команды, во время выполнения программы. Управление работой модулей осуществляется с помощью программы (набора команд). Выполнение каждой команды (инструкций) вызывают запуск маленькой программы (микропрограммы). Микропрограмма “зашита” в электронных схемах (говорят, реализована аппаратно). Это расширяет операционные возможности, дает гибкость и адаптивность компьютерной системе, за счет изменения алгоритма функционирования процессора, который выполняет программу.

1.4. Функциональная схема ПЭВМ

Основные этапы ЭВМ по обработке информации:

ввод данных;

сохранение данных;

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

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

Указанные операции определяют основные устройства ЭВМ (Рис. 1).

Рис. 2. Обобщенная функциональная схема ЭВМ.

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

Арифметико-логическое (АЛУ) является одним из основных устройств ЭВМ. В нем происходит выполнение операций по преобразованию данных. В составе АЛУ имеются

8

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

Данные (операнды) с которыми оперирует команда АЛУ, поступают в нее из

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

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

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

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

Компьютер с помощью блока ввода принимает информацию в виде программ и данных и записывает ее в память.

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

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

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

Вычислительный процесс представляется в ЭВМ программой

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

Память. Задачей блока памяти является хранение программ и данных. Существует два класса запоминающих устройств, а именно первичные и вторичные. Первичное запоминающее устройство (primary storage) это память, быстродействие которой

9

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

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

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

Во время выполнения программа должна находиться в памяти. Команды и данные должны записываться в память и считываться из памяти под управлением процессора. Исключительно важна возможность предельно быстрого доступа к любому слову памяти. Память, к любой точке которой можно получить доступ за короткое и фиксированное время, называется памятью с произвольным доступом (Random-Access Memory, RAM). Время, необходимое для доступа к одному слову, называется временем доступа к памяти. Это время всегда одинаково, независимо от того, где располагается нужное слово. Время доступа к памяти в современных устройствах RAM составляет от нескольких наносекунд (10-9 сек.) до 100. Память компьютера обычно представляет собой иерархическую структуру, состоящую из трех или четырех уровней полупроводниковых RAM-элементов с различной скоростью и разным размером. Наиболее быстродействующим типом RAMпамяти является кэш-память (или просто кэш). Она напрямую связана с процессором и часто находится на одном с ним интегрированном чипе, благодаря чему работа процессора значительно ускоряется. Память большей емкости, но менее быстрая, называется основной памятью (main memory).

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

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

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

Внешняя память (ВЗУ) предназначена для долговременного размещения больших объемов информации (программ, данных) и обмена с оперативной памятью (ОЗУ). Для

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]