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



страница1/20
Дата09.08.2018
Размер2.45 Mb.
#43700
ТипРешение
  1   2   3   4   5   6   7   8   9   ...   20

Основные понятия.
Существует множество различных формулировок понятия ЭВМ от достаточно простых и понятных до чрезмерно вычурных, которые, однако, схожи по своей сути.
По Э.Таненбауму:

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

По Б. Я. Цилькеру:

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

Некорректное определение:

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

По Новикову, Майорову (наилучший вариант):

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

Основным назначением ЭВМ является выполнение вычислений на основе алгоритмов, и поэтому свойства алгоритмов предопределяют принципы построения ЭВМ или, точнее, ее архитектуру (организацию).
Понятие архитектуры и организации ЭВМ.
В компьютерной литературе существует большое количество разнообразных трактовок понятия архитектура ЭВМ, которые отличаются как по смыслу, так и по разнообразию элементов, включаемых в понятие архитектура. (См. электронный конспект). По мнению специалистов, впервые термин архитектура компьютера (Computer Architecture) был употреблен фирмой IBM (International Business Machines) при разработке семейства машин IBM 360 в середине 60 – ых годов.
Обобщенное понятие архитектуры.
Под архитектурой ЭВМ обычно понимается ее представление и описание возможностей с точки зрения пользователя, разрабатывающего программу на машинно-ориентированном языке.

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

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

Архитектура связана с аспектами, которые видны программисту. Например, сведения о том, сколько памяти можно использовать при написании программы – часть архитектуры, а аспекты разработки (например, какая технология используется при создании памяти) не является частью архитектуры. Изучение того, как разрабатываются те части компьютерной системы, которые видны программистам, называется изучением компьютерной архитектуры. Термины компьютерная архитектура и компьютерная организация означают, в сущности, одно и тоже…”.



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

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

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

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

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

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

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

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

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

В связи с принятым во всем мире деления программистов на прикладных и системных, программную архитектуру также целесообразно разделить на 2 вида: прикладную и системную. Основные элементы архитектуры и структурной организации представлены на рис 1.
Краткое представление основных элементов прикладной архитектуры компьютеров.

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

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

  • Байт (B – Byte) – 8 бит

  • Слово (W – Word)16 бит

  • Двойное слово (DWDouble Word) – 32 бита

  • Учетверенное слово (QWQuadro Word) – 64 бита

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

Применительно к базовой модели Intel 8086 аппаратной поддержкой обладают следующие типы и форматы данных:

  • Целые знаковые числа

Основные форматы: B, W. Примеры команд: ADD, SUB, IMUL(сомножители ), IDIV(делитель, частное, остаток).

Неосновной формат: DW. Примеры команд: IMUL(произведение),IDIV(делимое).

  • Целые беззнаковые числа

Основные форматы: B, W. Примеры команд: ADD, SUB, MUL(сомножители), DIV(делитель, частное, остаток).


ЭВМ (компьютеры)




архитектура



прикладные

программная

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

прикладная

программная модель

процессора



программно-доступные

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

типы и форматы данных

аппаратная
структурная

функциональная

системная

организация прерываний

процессор

регистры


организация устройств

организация

системные

Рис.1.Обобщенное представление архитектуры, организации ЭВМ и их элементов.

блоки обработки векторных данных

(мультимедийные расширения MMX,SSE,3D Now!, AltiVec)

каналы ввода/вывода

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

многоуровневая организация

контроллеры

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

внешняя (дисковая) память

основная память

cash - память

память

УУ (БМПУ)

конвейер команд

FPU

АЛУ

структура и формат машинных

команд


режимы

адресации



адресная структура

памяти


+++

организация многозадачного режима

работы


процессора

организация защиты памяти

организация виртуальной памяти

процессора



программно - недоступные

система

команд




Неосновной формат: DW. Примеры команд: MUL(результат),DIV(делимое).


  • Числа с плавающей запятой

Короткий формат: 32 бита

Длинный формат: 64 бита

Расширенный формат: 80 бит

Примеры команд: FADD, FSUB

  • Десятичные числа

Упакованный формат – BCD:B. Примеры команд: DAA, DAS

Неупакованный формат – ASCII. Примеры команд: AAA, AAS, AAM, AAD

  • Логические значения

Основной формат:B, W. Примеры команд: AND, OR, XOR, TEST, NOT

  • Символьные данные

Основной формат:B. Примеры команд: MOVS, LODS, STOS, CMPS, SCAS

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

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

Важной характеристикой регистра является его разрядность. Как правило, именно разрядность внутренних регистров и определяет разрядность самого процессора (Intel 8086 – 16 –разрядный). Разрядность регистра определяет количество бит информации, которое можно представить (хранить) в данном регистре.

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

В состав регистровой памяти любого процессора входят как программно доступные, так и программно недоступные регистры. Типичным примером программно недоступного регистра может служить регистр команд, в который производится выборка машинной команды из памяти перед её выполнением. Программно доступные регистры, в свою очередь разделяются на прикладные (доступные как прикладным, так и системным программам) и системные (доступные только системным программам). Системные регистры появляются в процессорах семейства Intel 80X86, начиняя с модели i286, в которой впервые был введён защищённый режим.

В старших моделях процессора Intel используются следующие группы системных регистров.

  • Управляющие регистры CR – Control Registers

  • Регистры управления памятью

  • Регистры отладки DR – Debug Registers

  • Регистры проверки TRTest Registers (аппаратная поддержка механизмов тестирования внутренних блоков)

Программная модель базового процессора Intel 8086 включает в себя 14 шестнадцатиразрядных регистров, 8 из них входят в состав Регистров Общего Назначения (РОН) – General Purpose Registers (GPR). Группа этих регистров предназначена как для хранения операндов (результатов), так и адресов.

В принципе, существует два диаметрально противоположных подхода к использованию регистров процессора:

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

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

В процессорах фирмы Intel используется промежуточный подход. Это означает, что, в принципе, за каждым регистром закреплена его определенная функциональная специализация. Например, функционально специализированный регистр CXCounter Register. Его специализация проявляется при выполнении команд циклов (LOOP), команд сдвигов (SAR) или команд обработки строк (MOVS, CMPS). Эта специализация отражается в наименовании регистра. Однако наличие специализации у регистров не мешает их использованию для других целей (не по прямому назначению). Например, в регистр CX может быть помещён операнд для какой – либо арифметической команды.

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

Следующая группа регистров программной модели – 4 Сегментных РегистраSegment Registers (SR). С использованием этих регистров реализуется простейшая модель сегментирования памяти. В сегментных регистрах содержатся базовые (начальные) адреса 4 сегментов памяти по наименованию регистров:

  • Code Segment (сегмент кода)

  • Stack Segment(сегмент стека)

  • Data Segment(сегмент данных)

  • Extra Segment(дополнительный сегмент)

Модель памяти в процессоре Intel 8086 предполагает формирование физического адреса как суммы двух компонент: базовый адрес сегмента и Offset (внутрисегментное смещение). При суммировании компонент первая составляющая сдвигается влево на 4 разряда, в итоге получается двадцатиразрядная сумма, представляющая собой физический адрес, который и выставляется на внешнюю шину адреса. В процессоре Intel 8086 используется мультиплексированная шина адрес/данные, т. е. по одним и тем же проводам, но в разные моменты времени передаются адрес и данные. В соответствии с принципами формирования физического адреса, в сегментных регистрах находятся старшие 16 – ти разрядные компоненты 20 – ти разрядных базовых адресов сегментов.

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

Выбор внутрисегментного смещения (Offset) определяется видом обращения к памяти. Например, при выборке команды в качестве компонент адреса используется пара CSIP.

Регистр IP (Instruction Pointer).
Любой процессор, входящий в состав компьютера с неймановской архитектурой, в качестве обязательного элемента, содержит так называемый счётчик команд, который иначе называется программным счётчиком PC (Program Counter) или указатель команд.

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

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

  • IF (Interrupt Flag) – Флаг Прерывания

  • TF (Trace Flag) – Флаг Трассировки

  • DF (Direction Flag) – Флаг Направления


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

В подавляющем большинстве адресация памяти осуществляется на уровне байт.

В соответствии с этим для программы память представляется в виде массивов последовательно адресуемых байтов. При размещении единицы информации, кратных байту, например Word или Doable Word, в памяти компьютера, адрес единицы информации определяется адресом одного из байтов, либо старшего, либо младшего. В зависимости от этого, в англоязычной литературе система адресации, начиная от старшего байта, обозначают термином “Big Endian” , а с младшего байта “Little Endian”.Сторонниками первого принципа является фирма IBM и Motorola, сторонниками второго - Intel и DEC. Например: -15 в формате Word

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

1

F

F

F

1




memory

11..1




A+1

F1

A

FF

00..0





Big Endean –

байт с большей значимостью по меньшему адресу



1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

1

F

F

F

1




memory

11.1




A+1

FF

A

F1

00..0





Little Endean

байт с большей значимостью по большему адресу


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

Адрес любой фиксированной единицы информации,

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

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

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

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

Исполнительный адрес достаточно часто называют программным адресом, т.к. он формируется программой. В терминологии фирмы Intel, исполнительный (программный) адрес называется эффективным адресом Effective Address (EA).

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

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


логический адрес

механизм

сегментации страничное

преобразование


операционная часть

адресная часть

Структура машинной команды в общем случае состоит из двух основных частей: операционной и адресной:
Операционная часть задаёт тип выполняемой операции и обычно называется кодом операции, Operation Code (OpC).

Адресная часть задаёт адреса операндов, участвующих в операции, а так же адрес результата.

В зависимости от числа операндов, задаваемых в адресной части команды, машинные команды разделяются на трёхадресные, двухадресные, одноадресные и безадресные (нольадресные). В процессорах семейства Intel 80X86 используются безадресные, одно – и двухадресные команды. Использование безадресных команд (однобайтные команды, содержащие только код операции) может быть связано с двумя аспектами:

  • использование неявной адресации операндов (их адреса не задаются в команде, но подразумеваются по умолчанию)

  • для выполнения команды операндов не требуется (NOP, HLT)

В терминологии фирмы Intel операнды двухадресной команды называются источником Source (SRC) и приемником Destination (DST). Результат операции помещается по адресу операнда – приемника.

Основными режимами адресации, используемыми в ЭВМ, принято считать:


  1. Прямая

    • памяти

    • регистровая

  2. Косвенная

  • памяти

  • регистровая

  1. Относительная

  • базовая

  • индексная

  • базово - индексная без смещения

  • базово – индексная со смещением

  • относительно текущего счетчика команд




  1. Непосредственная

  2. Неявная.

В максимальном случае для процессора 8086 относительный адрес может состоять из трёх компонент EA = Base + Index + Displacement (Disp)

В старших моделях процессоров Intel реализовано дальнейшее развитие относительной адресации в виде базово – индексной адресации с масштабированием. При использовании этого режима индексная компонента EA умножается на соответствующий масштаб. EA = Base + Index * + Disp , Scale = 0,1,2,3..




Поделитесь с Вашими друзьями:
  1   2   3   4   5   6   7   8   9   ...   20




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница