Файл: Состав и свойства вычислительных систем. Информационное и математическо е обеспечение вычислительных систем.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 05.04.2023

Просмотров: 438

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Поэтому содержимое регистра IP(как и регистра CS) можно менять только командами перехода.

Flags

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

CF

PF

AF

ZF

SF

TF

IF

DF

OF

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

Флаг - это бит со значением 1 (флаг установлен), если выполнено некоторое условие, и значение 0 (флаг сброшен), если нет.

В РС 9 флагов, собранных в один 16-разряд-ный регистр флагов, обозначаемый Flags. Каждый флаг - это один из разрядов данного регистра.

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

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

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

AF (auxiliary carry flag) - флаг дополнительного переноса. Фиксирует особенности выполнения операций над двоично-десятичными числами.

Представление данных в ЦП

Числа размером в слово и двойное слово хранятся в памяти в "перевернутом" виде". Старшие (левые) 8 битов числа размещаются во втором байте слова, а младшие (правые) 8 битов - в первом байте.

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

Например, число 98 = 0062h хранится в памяти так (А - адреса слова):

62

00

RAM

A

A+1

62

00

RAM

A

A+1

00

62

BX

BH

BL

Рис.17 Представление данных в ЦП

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


"Перевернутое" представление чисел появилось в первых 8-разрядных ЦП. В них за раз можно было считать из памяти только один байт. Сложение же и вычитание многозначных чисел начинают с действий над младшими цифрами. Многозначное число нельзя считать из памяти сразу целиком, и в первую очередь приходится считывать байт, где находятся младшие цифры числа. Для этого надо, чтобы такой байт хранился в памяти первым[3].

Адресация ввода/вывода

Для обращения к устройству ввода/вывода ЦП имеет инструкции IN и OUT. При выполнении формируются шинные сигналы IORD# (Input/Output Read) и IOWR# (Input/Output Write) для чтения или записи 1 или 2 байт. Данные при чтении могут помещаться только в регистр AL или АХ и выводятся из этих же регистров.

В циклах ввода/вывода используется 16 младших бит шины адреса (старшие биты при этом нулевые), что позволяет адресовать до 64К байт регистров ввода/вывода. Адрес устройства задается в команде (только младший байт, а старший – нулевой), либо берется из регистра DX (полный 16-битный адрес).

Прерывания ЦП

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

аппаратные, вызываемые электрическими сигналами на соответствующих входах ЦП.

Процессор может выполнять 256 типов (номеров) прерываний, каждому из которых соответствует свой вектор прерывания – двойное слово, содержащее дальний адрес (CS: IP) вызываемой подпрограммы (процедуры). Под векторы (указатели) прерываний в общем пространстве адресов памяти зарезервирована область 0 – 3FFh.

Программные прерывания

Вызываются исполнением команды INT хх.
По действиям ЦП они аналогичны дальним вызовам подпрограмм (сохранение в стеке адреса возврата – регистров CS и IP – и передача управления по указанному адресу), но имеют некоторые отличия:

1. В начале выполнения прерывания процессор помещает в стек регистр флагов и сбрасывает бит разрешения прерывания IF (Interrupt Flag).

2. Вместо адреса вызываемой подпрограммы аргументом вызова (хх) является номер вектора прерывания (0-255).

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

Сброс бита прерывания не позволяет прервать выполнение процедуры прерывания до ее окончания или явного разрешения командой El (Enable Interrupt).


Само программное прерывание исполняется независимо от состояния флага IF. Программные прерывания позволяют легко и быстро вызывать общеупотребимые процедуры (сервисы BIOS и DOS) из любого сегмента без применения дальних вызовов.

Прерывание INT 3 (код 0ССh) обычно используется в целях отладки программ для создания точки останова.

Внутренние прерывания ЦП

Вырабатываются процессором по особым условиям:

– прерывание типа 0 вырабатывается в случае переполнения при операции деления на 0;

– прерывание типа 1 вырабатывается после выполнения каждой команды при установленном флаге трассировки TF;

– прерывание типа 4 вырабатывается по команде INTO (Interrupt Overflow), если установлен флаг переполнения OF.

Аппаратные прерывания

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

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

Маскируемые прерывания

Вызываются переходом в высокий уровень сигнала на входе INTR (Interrupt Request) при установленном флаге разрешения (IF=1).

В этом случае ЦП сохраняет в стеке регистр флагов, сбрасывает флаг IF и вырабатывает два следующих друг за другом (back to back) цикла подтверждения прерывания, в которых генерируются управляющие сигналы INTA# (Interrupt Acknowledge).

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

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

Прерывание с полученным номером вектора выполняется ЦП так же, как и программное.

Обработка текущего прерывания может быть прервана немаскируемым прерыванием, а если обработчик установит флаг IF, то и другим маскируемым аппаратным прерыванием.

После аппаратного сброса флаг IF сброшен – прерывания запрещены до явного разрешения.

Немаскируемые прерывания

Выполняются независимо от состояния флага IF по сигналу NMI (Non Mascable Interrupt). Высокий уровень на этом входе вызовет прерывание с типом 2, которое выполняется, как и маскируемое. Его обработка не может прерываться под действием сигнала на входе NMI до выполнения инструкции IRET.


Инструкция HALT переводит ЦП в состояние останова, из которого его может вывести только аппаратное прерывание или аппаратный сброс. В этом режиме ЦП не управляет локальной шиной.

Инструкция WAIT заставляет ЦП ожидать активного (низкий уровень) сигнала на входе TEST#.

До его появления ЦП также не управляет локальной шиной. В случае аппаратного прерывания по окончании его обслуживания ЦП снова вернется в состояние ожидания.

Проверка состояния входа TEST# используется для синхронизации с математическим сопроцессором 8087.

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

Управление шиной может передаваться от ЦП другому контроллеру по соответствующему запросу[1].

64-разрядные процессоры

Разработку 64-разрядного процессора Itanium/ Merced фирмы Intel и Hewlett-Packard начали еще в 1994 г. и в 1997 г. представили его первые технические характеристики. В настоящее время выпускаются процессоры Itanium 2 на ядре Madison с 0,13-микронной технологией, тактовой частотой до 1,5 ГГц и кэш-памятью объемом 6 Мб. На подходе новый процессор Itanium 2 на ядре Deerfield с 0,09-микронной технологией, частотой до 1,5 ГГц и кэш-памятью 6 Мб для использования в серверах.

В 2005 г. Intel планирует выпуск процессоров Itanium на ядре Montecito. Эти процессоры будут изготавливаться по 0,09-микронной технологии с размещением на одном кристалле сразу двух процессорных ядер.

Весной 2003 г. кампания AMD выпустила 64-разрядный процессор на ядре Hammer, а осенью 2003 г. кампания AMD официально объявила о выпуске 64-разрядных процессоров: – AMD Athlon 64 FX-51 для высокопроизводительных платформ, – AMD Athlon 3200+ для офисных РС;– AMD Athlon 3000+ для мобильных систем.

Рис.18 64-разрядные процессоры и их применение в принтерах, карманных PC

В настоящее время 64-разрядные процессоры Itanium 2 фирмы Intel и Opteron кампании AMD используются для создания кластеров и суперкомпьютеров (с числом процессоров до 12000!).

Все процессоры Opteron, независимо от модели, имеют кэш-память объемом 1 Мб и поддерживают два набора инструкций: традиционный 32-разрядный набор команд x86 и расширенные 64-разрядные инструкции x86-64. Это позволяет этим процессорам эффективно справляться с существующими 32-разрядны-ми приложениями, однако полностью их возможности проявляются в 64-разрядном режиме.


Для этого необходимо использовать 64-разряд-ные ОС и приложения – программы. Одной из 64-разрядных ОС является Microsoft .NET Server Beta. Поддержка 64-разрядных процессоров включена также в Windows XP sp2, Windows 2003 Server.

IBM создала ОС Monterey-64 для 64-разрядного процессора Itanium/Merced корпорации Intel.

Кампания Sun Microsystems в 2000 г. представила 64-разрядный процессор UltraSPARC IIe для встроенных коммуникационных систем.

Китайский Институт компьютерных технологий разработал 64-разрядный процессор Godson-2, работающий на частоте 500 МГц[3].

Электронная память PC

Это:

- Основная или оперативная память (Main Memory) – ОЗУ (RAM).

- Кэш-память (Cache Memory) – сверхоперативная память (СОЗУ).

- Постоянная память ROM, доступная только для чтения (Read Only Memory).

- Полупостоянная память.

- Буферная память различных адаптеров.

Рис.19 Оперативная память ПК

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

Другое название – ОЗУ (оперативное запоминающее устройство) соответствует английскому RAM (Random Access Memory) – память с произвольным доступом Произвольность доступа – это возможность операций записи /чтения с любой ячейкой ОЗУ в произвольном порядке.

Требования к основной памяти:

- большой объем – десятки и сотни мегабайт;

- быстродействие и производительность, позволяющие реализовать вычислительную мощность современных ЦП;

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

Кэш память PC

Это буфер между ОЗУ и ЦП, другими абонентами системной шины. Информация в ней не адресуема. Кэш хранит копии блоков данных областей ОЗУ, к которым происходили последние обращения, и вероятное последующее обращение к тем же данным будет обслужено кэш памятью быстрее, чем оперативной памятью. Кэш в современных компьютерах строится по двухуровневой схеме: первичный кэш L1 – внутренний у ЦП 486 и старше; вторичный кэш L2 – внешний. В Pentium Pro/ II кэш L2 в одном корпусе с ЦП.

Программное и математическое обеспечение компьютерной системы.

Классификация программного обеспечения.

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