Автор работы: Пользователь скрыл имя, 19 Марта 2014 в 06:15, лекция
Хотя срок, прошедший со времени создания первой ЭВМ, и достаточно большой, однако вопросы терминологии в этой области пока что не нашли своего полного и окончательного решения. Рассмотрим наиболее распространенные определения основных терминов в области ЭВМ и вычислительных систем (ВС).
Вычислительная машина (ВМ, Computer) — совокупность технических средств, создающая возможность проведения обработки информации и получения результата в необходимой форме. В состав ВМ входит и системное программное обеспечение (ПО).
SI – Source Index (индекс источника)
– по умолчанию используется
для задания индексной
DI – Distination Index (индекс приемника) – по умолчанию используется аналогично SI для задания индексной компоненты ЕА, а также для адресации элементов строки-приемника в командах обработки строк.
Группу из восьми РОН принято делить на две части:
- группа HL (High – Low);
- группа PI (Pointer – Index).
Группу HL иногда называют регистрами данных, подразумевая ее преимущественное использование для операндов и результатов команд. Регистры группы HL могут использоваться в командах в двухбайтном (полном) и в байтном (неполном) варианте. Отдельные байты этих регистров используют то же наименование, что и полный регистр (A, C, D, B) с добавлением приставки L – младший, Н – старший, для соответствующих байтов регистра.
Группа PI или группа
указателей-индексов может
СЕГМЕНТНЫЕ РЕГИСТРЫ
CS – Code Segment (сегмент кода – машинной программы),
SS – Stack Segment (сегмент стека),
DS – Data Segment (сегмент данных),
ES – Extra Segment (дополнительный сегмент).
Сегментные регистры используются для аппаратной поддержки простейшей модели сегментированной памяти, принятой в процессоре 8086. Их содержимое определяет базовые (начальные) адреса соответствующих сегментов в физической памяти. Использование четырех сегментных регистров предполагает, что в любой момент времени программа может работать (иметь доступ) с четырьмя сегментами памяти. Содержимое одного из сегментных регистров привлекается по умолчанию каждый раз при обращении процессора к памяти для формирования физического адреса, который и выставляется на шину адреса. Например, на этапе выборки команды по умолчанию привлекается регистр CS, при обращении к стеку – регистр SS. При обращении за операндом или при записи результата – регистр DS.
РЕГИСТР ФЛАГОВ
В регистре флагов актуальными являются только девять битов, шесть из которых представляют собой арифметические флаги (флаги состояний) и три – флаги управления. Остальные семь бит являются незадействованными.
Арифметические флаги формируются в основном арифметическими командами, определяя результат арифметических операций (точнее, они являются признаками результата). Кроме того, на арифметические флаги оказывают влияние логические команды и команды сдвигов. Флаги управления оказывают влияние на процесс выполнения программы. К арифметическим флагам относятся:
CF – Carry Flag (флаг переноса). В нем фиксируется перенос из старшего разряда при сложении и заем в старший разряд при вычитании. При умножении значения флага CF определяет возможность (CF=0) или невозможность (CF=1) представления результата (произведения) в том же формате, что и сомножители. С помощью флага переноса фиксируется переполнение при сложении беззнаковых чисел.
PF – Parity Flag – флаг паритета (четности). Он устанавливается при наличии четного числа единиц в младшем байте результата, в противном случае – сбрасывается. Этот флаг используется как аппаратная поддержка контроля по четности (нечетности).
AF – Аuxiliary Carry Flag (флаг вспомогательного переноса). В этом флаге фиксируется межтетрадный перенос при сложении и межтетрадный заем при вычитании. Значение этого флага используется командами десятичной и ASCII-коррекции сложения и вычитания. Этот флаг можно рассматривать как аппаратную поддержку операций над десятичными числами.
ZF – Zero Flag (флаг нуля). Он устанавливается при нулевом результате операции, в противном случае (ненулевой результат) - сбрасывается.
SF – Sign Flag (флаг знака). В него копируется старший (крайний левый) бит результата, интерпретируемый как знак.
OF – Overflow Flag (флаг переполнения). Он устанавливается в командах сложения и вычитания в случае, если результат операции не помещается в формате операндов. При этом как операнды, так и результат интерпретируются как знаковые целые числа. В аппаратную установку этого флага положен принцип фиксации переполнения по сравнению переносов из двух старших разрядов при сложении или заемов в два старших разряда при вычитании. Если один из переносов (заемов) имеет место, а другой отсутствует, то происходит переполнение формата (разрядной сетки). В командах умножения флаг OF выполняет ту же функцию, что и флаг CF (их значения совпадают).
К флагам управления относятся:
TF – Trace (Trap) Flag (флаг трассировки (ловушки)). При установке флага TF процессор переводится в так называемый отладочный (покомандный, пошаговый) режим работы. В этом режиме завершение выполнения любой команды сопровождается выходом на прерывание специального типа (стандартный тип 1 – прерывание по отладке).
DF – Direction Flag (флаг направления). Его значение используется командами обработки строк (цепочек) и определяет направление обработки: от меньших адресов к большим (слева на право) при DF=0 или от больших адресов к меньшим (справа на лево) при DF=1.
IF – Interrupt Flag (флаг прерываний). С помощью этого флага разрешаются (IF=1) или запрещаются (IF=0) внешние прерывания, запросы которых поступают на специальный вход INTR (Interrupt Requester). Этот вход обычно связан с микросхемой PIC (Programmable Interrupt Controller) – программируемый контроллер прерываний.
РЕГИСТР IP (Instruction Pointer)
Содержимым регистра IP является так называемый продвинутый адрес команды. Это означает, что в момент выполнения какой-либо команды регистр IP указывает на адрес следующей команды. В качестве адреса команды фигурирует адрес ее младшего байта (по адресации).
Язык микроопераций для описания вычислительных устройств
ЭВМ и вычислительные системы вместе с их программным обеспечением можно отнести к наиболее сложным системам, созданным человеком. Как и в случае других сложных систем, рассмотрение и описание структуры и функционирования ЭВМ и ВС в зависимости от преследуемой цели производятся с различной степенью детализации, определяемой уровнем, на котором анализируется процесс функционирования. Каждому уровню рассмотрения (иногда этот уровень называется стратой) соответствуют определенные средства описания, которые по существу являются языком описания вычислительного устройства для данного уровня представления, функционирование низшего уровня - электронных схем базовых логических элементов, элементов памяти - можно описать с точки зрении процессов изменения электрических токов и напряжений в отдельных точках схемы. Однако применение этого же подхода к более сложному устройству, например, к комбинационной логической схеме, приведет к весьма сложному описанию. Для получения наглядности описания следует отвлечься от физических процессов, происходящих в схеме и рассмотреть её работу на другом, более обобщенном уровне, используя в качестве языка описания булевы функции. Операционные блоки, содержащие элементы памяти, например, регистры, выполняющие последовательности элементарных актов преобразования информации, называемых микрооперациями (разд. 2.1), не могут быть описаны булевыми функциями в виду их недостаточности для построения описания. Словесное (вербальное) описание процесса функционировании таких сложных устройств является недостаточно лаконичным и не точным, чтобы обеспечить однозначное представление о работе устройства или ЭВМ. Для формализованного описания устройств вычислительной техники используют различные языки описаний в зависимости от степени детализации и уровня рассмотрения (табл. 3.1).
Таблица 3.1. Языки формализованного описания в зависимости от степени детализации
Уровень рассмотрения Язык формализованного описания
1. Электронные схемы базовых логических элементов, элементов памяти
2. Комбинационные логические схемы
3. Операционные узлы, узлы памяти, управляющие автоматы
4. Устройства ЭВМ
5. Функционирование ЭВМ
6. Вычислительный процесс
7. Функционирование ВС в условиях воздействия случайных факторов
Дифференциальные уравнения для токов и напряжений в цепях электрических схем
Аппарат теории булевых функций
Язык микроопераций
Языки APL, VHDL, ОСС-2 и др.
Языки машинных команд
Алгоритмические языки БЕЙСИК, ПАСКАЛЬ, Си и др. Язык моделирования дискретных стохастических систем GPSS , OCCAM и др.
Потребность в формализованных средствах описания структур и функционирования цифровых устройств машин определяется современной методологией автоматизированного проектирования ЭВМ с применением САПР, где существенное место занимают моделирование на ЭВМ проектных решений с целью их проверки и оптимизации, а также автоматизация с помощью ЭВМ конструирования вычислительных устройств и их отдельных узлов, синтеза контрольных и диагностических тестов и т.д. Для этого необходимы формализованные описания проектируемых устройств, без которых нельзя достигнуть надлежащего взаимопонимания между объединенными общим проектом разработчиками отдельных функциональных устройств.
Язык микроопераций (ЯМ) предназначен для описания цифровых устройств, функционирование которых рассматривается на уровне функциональных узлов: сумматоров, счетчиков, регистров. Иногда такой язык называют регистровым или языком регистровых передач. Он имеет простые и наглядные средства описания слов и регистров, массивов данных и памятей, элементов и частей слов и массивов и соответственно элементов регистров, памятей, операций передачи слов и частей слов и др.
Описание регистра состоит из названия (идентификатора) регистра и разрядного указателя. Например, описание регистра команды на рис. 3.1 имеет вид: РгК [0 - 31], а его отдельных частей - подрегистров и соответственно полей команды:
РгК [0-7] или РгК [КОП],
РгК [20-31] или РгК [А2].
Шина, как и регистр, описывается идентификатором шины и разрядным указателем. Например, описание шины, по которой поступает 32- разрядная команда, обозначается: ШК [0 - 31].
Описание массива и памяти. Описание массива, т.е. совокупности слов одинаковой длины, и памяти содержит его (ее) название - идентификатор (например, ОП2 для модуля 2 оперативной памяти) и в квадратных скобках - наименьший и наибольший номера слов; нижнюю и верхнюю границу массива - наименьший и наибольший номера ячеек памяти, а также порядок нумерации разрядов в словах
Пример 3.1. Описание модуля памяти ОП2 (массива), содержащего г п - разрядных ячеек (слов):
ОП2 [0 – r-1, 0 - n-1].
В таком случае j-я n-разрядная ячейка памяти (j-e слово) и k-й разряд памяти (столбец массива) представляются записями соответственно
ОП2 [j, 0 - r-1] и ОП2[0 – r-1, k].
Описание микроопераций. Микрооперация обязательно включает передачу данных из одного регистра в другой. Процесс передачи в общем случае сопровождается преобразованием передаваемых данных, как логическим, т.е. выполняемым над операндом или двумя операндами поразрядно, так и арифметическим либо функциональным: это может быть установка некоторого слова в регистре, передача, взятие обратного кода, операции И и ИЛИ над двумя операндами, составление слова, сдвиг, операция счета, операция сложения и вычитания с числами без знака, сравнение на равенство и др. Микрооперации могут быть одноместными или двуместными, соответственно в них участвуют один или два операнда. Микрооперация описывается микрооператором и меткой - идентификатором управляющего сигнала, вызывающего выполнение микрооперации.
Метка (идентификатор) управляющего сигнала определяется двоеточием от микрооператора. Представление микрооператора основано на использовании «операции присваивания», обозначаемой знаком := . Выражение, стоящее справа от этого знака - правая часть микрооператора, - называется формулой микрооператора . Формула определяет преобразование, обозначенное знаком *, производимое микрооперацией до завершения предусмотренной в ней передачи данных, и участвующие в нем операнды, точнее, их местоположение. Слева от знака := , в левой части микрооператора, указывается регистр (или его часть), в который передаётся результат преобразования, описанного формулой микрооператора. Если в левой части микрооператора указана некоторая часть регистра (подрегистр), то после выполнения микрооперации остальные разряды регистра сохраняют прежнее значение.
Действие микрооператора состоит в том, что в конце машинного такта Tt выполнения микрооперации на регистре (шине и др.), описанном в левой части микрооператора, устанавливается слово, полученное в результате указанных в формуле микрооператора преобразований над значениями операндов в начале такта. Если микрооперация состоит в передаче слова, формула микрооператора содержит лишь описание слова, точнее, регистра, из которого происходит передача.
Пример 3.3. Микрооперацию приема адреса второго операнда А, из регистра команды РгК в регистр адреса РгА (рис. 3.2) можно представить в виде ПрА2: РгА [12 - 1] := РгК [20 - 31]; или в более простой форме:
ПрА, : РгА := РгК [А,];
Здесь ПрА2- метка управляющего сигнала ПРИЕМ в РгА адреса А2 из РгК . Управляющий сигнал показан условно на рис. 3.2. тонкой стрелкой.
Информация о работе Терминология в области ЭВМ, ВС и комплексов