Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.doc
Скачиваний:
19
Добавлен:
16.04.2015
Размер:
220.67 Кб
Скачать

21

Классические основы построения ЭВМ

Основы построения электронных вычислительных машин в их современном понимании были заложены в 30-е – 40-е годы прошлого века видными учеными: английским математиком Аланом Тьюрингом и американцем венгерского происхождения Джоном (Яношем) Нейманом.

Машина Тьюринга

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

Основные положения машины Тьюринга

  1. Машина Тьюринга (рис.1) имеет конечное число знаков si, образующих внешний алфавит, в котором кодируются сведения, подаваемые в МТ, а также вырабатываемые в ней. Среди знаков имеется пустой знак (s1), посылка которого в какую-либо ячейку стирает находившийся в ней знак и оставляет ее пустой.

Рис. 1.  Структура машины Тьюринга

В зависимости от поданной начальной информации (содержащихся на ленте внешней памяти знаков) возможны два случая:

  • после конечного числа тактов машина останавливается (имея информацию β), подавая сигнал об остановке. В этом случае МТ применима к информации и перерабатывает ее в информацию β;

  • остановка никогда не наступает. В этом случае МТ не применима к начальной информации .

  • В каждый момент обозревается лишь одна ячейка ленты (памяти). Переход может осуществляться лишь к соседней ячейке ( R – вправо, L–влево, N– нет перехода (остаться)). Переход к произвольной ячейке производится путем последовательного перебора всех ячеек, разделяющих текущую и необходимую ячейки. На каждом отдельном такте t команда предписывает только замену единственного знака si, хранящегося в обозреваемой ячейке, каким-либо другим знаком sj.

  • Логический блок МТ имеет конечное число состояний {qi} i=1..m.

    Знаки R, L, N, q1,..,qmобразуют внутренний алфавит машины.

    Переработанный знак sj, записываемый в просматриваемую ячейку, состояние, которое примет машина Тьюринга в следующем такте q(t+1) и выполняемая в данном такте операция перехода к следующей ячейке P(t+1) являются функцией анализируемого в данном такте символа и текущего состояния машины si и q(t):

    si(t+1)=f1(si,q(t));

    q(t+1)=f2(si,q(t));

    P(t+1)=f3(si,q(t)).

    Программа для МТ определяется тройкой {si, P, q}t.

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

    Символ (si)

    Состояние

    q1

    q2

    q3

    q4

    0

    0, R, q2

    0, N, q4

    1, N, q4

    0, N, q4

    1

    1, R, q3

    1, N, q4

    0, N, q4

    1, N, q4

    Перед началом работы машина Тьюринга находится в состоянии q1 считывания первого операнда.

    Данная МТ применима к исходной информации. Останов – состояние q4. Значение si в ячейке y не меняется (сохраняется результат).

    Если программа для МТ будет определена таблицей переходов

    Символ (si)

    Состояние

    q1

    q2

    q3

    q4

    0

    0, R, q2

    0, N, q4

    1, N, q4

    1, N, q4

    1

    1, R, q3

    1, N, q4

    0, N, q4

    0, N, q4

    то данная МТ будет не применима к исходной информации, поскольку в состоянии q4 значение si в ячейке y постоянно меняется на противоположное.

    Автомат Неймана

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

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

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

    В автомате Неймана число одновременно обрабатываемых ячеек может неограниченно расти, оставаясь в каждый момент конечным.

    Элемент Неймана (ЭН) – это устройство, которое на каждом такте пребывает в одном из конечного числа состояний ri R, образующих его алфавит. ЭН имеет два входных канала: левый и правый; по каждому из них на такте t также поступает по одному состоянию из R (рис. 2).

    Рис. 2.  Элемент Неймана

    Элемент реализует функцию zt+1=(ri, rj, rm)t, то есть в такте t+1 переходит в состояние z, определяемое его состоянием в текущий момент времени и значениями, поступившими по входным каналам.

    Состояния элементов Неймана в момент времени t определяют конфигурацию автомата Неймана (рис. 3) в момент t: K(t).

    Рис. 3.  Структура автомата Неймана

    Функционирование АН – это переход от состояния К(t) к состояниям K(t+1), K(t+2)...

    За один такт свое состояние может менять большое число элементов Неймана, что фактически приводит к параллельной обработке информации.

    Архитектура классической ЭВМ

    Структура ЭВМ

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

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

    1. Машины на электронных элементах должны работать не в десятичной, а в двоичной системе счисления.

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

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

    • промежуточные результаты вычислений, константы и другие числа могут размещаться в том же ЗУ, что и программа;

    • числовая форма записи программы позволяет машине производить операции над величинами, которыми закодированы команды программы.

  • Трудности физической реализации ЗУ, быстродействие которого соответствовало бы скорости работы логических схем, требует иерархической организации памяти.

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

  • В машине используется параллельный принцип организации вычислительного процесса (операции над словами производятся одновременно по всем разрядам).

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

    Рис. 4.  Структура классической ЭВМ

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

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

    Операции, определяемые кодом операции команды, выполняются в арифметико-логическом устройстве (АЛУ).

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

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

  • Программный принцип управления компьютером

    В XIX веке английским математиком и инженером Чарльзом Бэббиджем был разработан проект вычислительной машины, которая предназначалась для автоматического проведения длинных цепочек вычислений. Конструкция его аналитической машины включала 50 тысяч деталей: зубчатых колес, рычагов и пружин, взаимодействовавших определенным образом. Совершенствуя и уточняя конструкцию машины, Бэббидж первым смог выделить необходимые для ее работы части:

    • устройство для хранения чисел, как исходных, так и получающихся в результате вычисления;

    • специальный вычислительный блок - процессор;

    • устройство для ввода и вывода информации.

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

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

    Главной особенностью конструкции этой машины является программный принцип работы.

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

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

    2. команды, составляющие программу, представлены в числовом коде по форме ничем не отличающемся от чисел.

    Типы и назначение компьютеров

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

    Различают:

    • суперкомпьютеры;

    • специализированные компьютеры-серверы;

    • встроенные компьютеры-невидимки (микропроцессоры);

    • персональные компьютеры.

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

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

    Одной из ведущих компаний мира в производстве суперкомпьютеров является компания Cray Research. Ее основатель, человек-легенда Сеймур Крей, уже в середине 70-х годов построил компьютер Cray-1, который поражал мир своим быстродействием: десятки и даже сотни миллионов арифметических операций в секунду.

    Как известно, скорость распространения любого сигнала не превышает скорости света в вакууме - 300 тысяч километров в секунду, или 300 миллионов метров в секунду. Если компьютер выполняет 300 миллионов операций в секунду, то за время выполнения одной операции сигнал успевает пройти не более одного метра. Отсюда следует, что расстояние между частями суперкомпьютера, выполняющими одну операцию, не может превосходить нескольких десятков сантиметров. И действительно, суперкомпьютеры компании Cray были очень компактны и выглядели как "бублик" диаметром менее двух метров. Этот "бублик" занимался только вычислениями. Для общения с человеком и доставки данных для вычислений к "бублику" были подключены несколько достаточно производительных обычных компьютеров.

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

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

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

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

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

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

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

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

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

    Архитектура персонального компьютера

    Микропроцессоры фирмы Intel в ходе своего развития к настоящему времени прошли ряд этапов, которые с определенным приближением можно характеризовать разрядностью микропроцессора. Первым в мире микропроцессором был выпущенный в 1971 году 4-разрядный микропроцессор Intel 4004. Следующим шагом стало появление ряда 8-разрядных микропроцессоров, наиболее характерным представителем которых стал нашедший чрезвычайно широкое применение Intel 8080, архитектурный аналог которого выпускался в СССР в составе микропроцессорного комплекта К580. Разработанный затем 16-разрядный микропроцессор Intel-8086 (советский аналог – микропроцессор К1810ВМ80) лег в основу первых персональных ЭВМ. Его архитектура, получившая обозначение x86, стала де факто стандартом на длительный период последующего развития этого направления вычислительной техники. Микропроцессор Intel 286 представлял собой некоторый переходный этап к архитектуре 32-разрядных микропроцессоров IA-32 (Intel Architеcture-32), которая с определенными модификациями развивается, начиная с выпущенного в 1985 году микропроцессора Intel 386. Появление в 2001 году микропроцессора Itanium ознаменовало начало периода 64-разрядных микропроцессоров.

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

    Персональная ЭВМ типа IBM PC (рис. 5) включает в себя микропроцессор (МП), оперативную память и устройства ввода-вывода (УВВ), объединенные между собой системной шиной.

    Рис. 5.  Структура персональной ЭВМ

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

    Магистрально-модульный принцип построения компьютера

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

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

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

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

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

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

    Выбор абонента по обмену данными производит процессор, который формирует код адреса данного устройства, а для ОЗУ - код адреса ячейки памяти. Код адреса передается по адресной шине, причем сигналы передаются в одном направлении, от процессора к устройствам, т. е. эта шина является однонаправленной.

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

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

    Чтобы устройства, входящие в состав компьютера, могли взаимодействовать с центральным процессором, в IBM-совместимых компьютерах предусмотрена система прерываний (Interrupts). Система прерываний позволяет компьютеру приостановить текущее действие и переключиться на другие в ответ на поступивший запрос, например, на нажатие клавиши на клавиатуре. Ведь с одной стороны, желательно, чтобы компьютер был занят возложенной на него работой, а с другой - необходима его мгновенная реакция на любой требующий внимания запрос. Прерывания обеспечивают немедленную реакцию системы.

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

    Структура 16-разрядного микропроцессора

    Структура 16-разрядного микропроцессораI8086 представлена на рис. 6.

    Рис. 6.Структура 16-разрядного микропроцессора

    В состав микропроцессора входят:

    1. арифметико-логическое устройство (АЛУ), предназначенное для выполнения арифметических и логических операций;

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

    3. устройство управления, включающее в себя

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

    • дешифратор кода операций, определяющий тип выполняемой команды;

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

  • указатель команд (IP – instruction pointer), определяющий адрес выполняемой команды в сегменте команд оперативной памяти;

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

    ZF – флаг нуля: равен 1 при получении нулевого результата,

    SF – флаг знака: устанавливается равным старшему биту результата,

    CF – флаг переноса: фиксирует факт переноса из старшего бита в арифметических операциях,

    OF – флаг переполнения: устанавливается в 1 при получении результата вне допустимого диапазона чисел,

    PF – флаг паритета: устанавливается в 1, если младшие 8 бит результата операции содержат четное число единиц;

    к флагам управления относятся

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

    DF – флаг направления, применяется в командах обработки последовательности байт в памяти: если флаг равен 0, последовательность обрабатывается с элемента, имеющего наименьший адрес; если флаг установлен в 1, последовательность обрабатывается от старшего адреса к младшему,

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

    1. блок сегментных регистров, состоящий из четырех 16-разрядных регистров, каждый из которых содержит старшие разряды базового (начального) адреса сегмента оперативной памяти, выделяемого программе при ее выполнении: кодового сегмента CS, в котором содержится код программы; сегмента данных DS; сегмента стека SS и дополнительного сегмента данных ES;

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

    Представление данных в ЭВМ

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

    Для чисел имеется три числовых формата:

    • двоичный с фиксированной точкой;

    • двоичный с плавающей запятой;

    • двоично-кодированный десятичный (BCD).

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

    В двоично-кодированном десятичном формате каждая десятичная цифра представляется в виде 4 битного двоичного эквивалента. Существуют две основные разновидности этого формата: упакованный и неупакованный. В упакованном BCD-формате цепочка десятичных цифр хранится в виде последовательности 4-битных групп. Например, число 3904 представляется в виде двоичного числа 0011 1001 0000 0100. В неупакованном BCD-формате каждая десятичная цифра находится в младшей тетраде 8-битной группы (байте), а содержимое старшей тетрады определяется используемой в данной ЭВМ системой кодирования, и в данном случае несущественно. То же число 3904 в неупакованном формате будет занимать 4 байта и иметь вид:

    xxxx0011 xxxx1001 xxxx0000 xxxx0100 .

    Числа с плавающей запятой обрабатываются на специальном сопроцессоре (FPU - floating point unit), который, начиная с МП I486, входит в состав БИС микропроцессора. Данные в нем хранятся в 80-разрядных регистрах. Управляя настройками сопроцессора, можно изменять диапазон и точность представления данных этого типа (таблица 1).

    Таблица 1.

    Тип данных

    Размер (бит)

    Диапазон

    Обрабатывающий блок

    Целые без знака

    1 байт

    1 слово

    1 двойное слово

    8

    16

    32

    0...255

    0...65535

    0...4294967295

    АЛУ

    Целые со знаком

    1 байт

    8

    -128...+127

    АЛУ

    1 слово

    16

    -32768...+32767

    FPU

    1 двойное слово

    32

    -2147483648...+2147483647

    1 учетверенное слово

    64

    ≈( 0.92*1019)

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

    действительное число

    32 (1+8+23)

    ≈( 0.34*1039)

    FPU

    с двойной точностью

    64 (1+11+52)

    ≈( 0.18*10309)

    с увеличенной точностью

    80 (1+15+64)

    ≈( 0.12*104933)

    Двоично-десятичные числа

    1 байт неупакованное

    8

    0...9

    АЛУ

    1 байт упакованное

    8

    0...99

    АЛУ

    10 байт упакованное

    80

    0...(99...99)18цифр

    FPU

    Организация оперативной памяти

    ОП является основной памятью для хранения информации. Она организована как одномерный массив ячеек памяти размером в 1 байт. Каждый из байтов имеет уникальный 20 битный физический адрес в диапазоне от 00000 до FFFFFh (здесь и далее для записи адресов используется шестнадцатеричная система счисления, признаком которой является символ h в конце кода). Таким образом, размер адресного пространства ОП составляет 220 = 1Мбайт. Любые два смежных байта в памяти могут рассматриваться как 16-битовое слово. Младший байт слова имеет меньший адрес, а старший - больший. Так шестнадцатеричное число 1F8Ah, занимающее слово, в памяти будет расположено в последовательности 8Ah, 1Fh. Адресом слова считается адрес его младшего байта. Поэтому 20 битовый адрес памяти может рассматриваться и как адрес байта, и как адрес слова.

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

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

    Адресное пространство ОП делится на сегменты. Сегмент состоит из смежных ячеек ОП и является независимой и отдельно адресуемой единицей памяти, которая в базовой архитектуре персональной ЭВМ имеет фиксированную емкость 216 = 64К байт. Каждому сегменту назначается начальный (базовый) адрес, являющийся адресом первого байта сегмента в адресном поле ОП. Значение физического адреса ячейки складывается из адреса сегмента и смещения ячейки памяти относительно начала сегмента (внутрисегментное смещение). Для хранения значений адреса сегмента и смещения используются 16-битовые слова.

    Чтобы получить 20-битовый физический адрес, микропроцессор автоматически осуществляет следующие операции. Значение базового адреса сегмента умножается на 16 (сдвиг на 4 разряда влево) и суммируется со значением смещения в сегменте (рис. 7). В результате получается 20-битовое значение физического адреса. При суммировании может возникнуть перенос из старшего бита, который игнорируется. Это приводит к тому, что ОП оказывается как бы организованной по кольцевому принципу. За ячейкой с максимальным адресом FFFFFh следует ячейка с адресом 00000h.

    Рис. 7.  Схема получения физического адреса

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