Смекни!
smekni.com

Микропроцессоры и основные понятия (стр. 4 из 17)

Значение р'a носит название “характеристика числа”. Обычно под порядок (модифицированный порядок - характеристику) выделяют один байт. Старший разряд характеристики отводится под знак числа, а семь оставшихся разрядов обеспечивают изменение порядка в диапазоне

Модифицированный порядок р'a вычисляется по зависимости

Этим самым значения р'a формируются в диапазоне положительных чисел

Мантисса числа ma представляется двоичным числом, у которого точка фиксируется перед старшим разрядом, т. е.

где k - число разрядов, отведенных для представления мантиссы.

Если

то старший значащий разряд мантиссы в системе счисления с основанием N отличен от нуля. Такое число называется нормализованным. Например, A2 =(100;0.101101)2 -нормализованное число А2= 1011.01 или А10= 11.25, а то же самое число А2 = (101 ;0.0101101) - число ненормализованное, так как старший разряд мантиссы равен нулю.

Диапазон представления нормализованных чисел с плавающей точкой определяется

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

Третья форма представления двоичных чисел - двоично-десятичная. Ее появление объясняется следующим. При обработке больших массивов десятичных чисел (например, больших экономических документов) приходится тратить существенное время на перевод этих чисел из десятичной системы счисления в двоичную для последующей обработки и обратно -для вывода результатов. Каждый такой перевод требует выполнения двух - четырех десятков машинных команд. С включением в состав отдельных ЭВМ специальных функциональных блоков или спецпроцессоров десятичной арифметики появляется возможность обрабатывать десятичные числа напрямую, без их преобразования, что сокращает время вычислений. При этом каждая цифра десятичного числа представляется двоичной тетрадой. Например, A10=3759, A2-10= 0011 0111 0101 1001. Положение десятичной точки (запятой), отделяющей целую часть от дробной, обычно заранее фиксируется. Значение знака числа отмечается кодом, отличным от кодов цифр. Например, “+” имеет значение тетрады “1100”, а “-” - “1101”.

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

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

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

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

Наиболее стабильное положение в алфавитах всех ЭВМ занимают латинские буквы, цифры и некоторые специальные знаки. Это связано с существованием международного стандарта ASCII (American Standard Code for Information Interchange - Американский стандартный код для обмена информацией). Русские же буквы не стандартизированы и могут иметь различную кодировку.

Желающие могут в качестве примера ознакомится с таблицей стандартной части алфавита ЭВМ - символы с шестнадцатиричными кодами с 20 до 7F.

7. Структурная схема микропроцессора.

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

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

Укрупненную структурную схему типичного процессора можно представить в виде трех основных блоков: управляющего блока УБ, операционного блока ОБ и интерфейсного блока ИБ. Управляющий блок выполняет функции выборки, декодирования и вычисления адресов операндов, а так же генерирует последовательности микрокоманд, реализующих команды процессора. Он содержит устройство управления, прерывания, синхронизации. Операционный блок служит для обработки данных. Он объединяет арифметико-логическое устройство АЛУ, регистры общего назначения РОН и специальные регистры. АЛУ выполняет арифметические (сложение, вычитание и т.п.) и логические (логическое И, ИЛИ и т.п.) операции. Регистры являются своего рода памятью ОБ, предназначенной для хранения промежуточных результатов и некоторых команд управления, информацию о состоянии процессора. Информация из них считываются и записываются очень быстро, поскольку они находятся внутри процессора. Регистров может быть от несколько десятков до нескольких сотен штук в зависимости от типа процессора. Большим количеством регистров характеризуются RISC - процессоры, а небольшим - CISC - процессоры

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

Процессор выполняет каждую команду за несколько шагов:
1. вызывает следующую команду из памяти и переносит ее в регистр команд;
2. меняет положение счетчика команд, который теперь должен указывать на следующую команду;
3. определяет тип вызванной команды;
4. если команда использует данные из памяти, определяет место нахождение данных;
5. переносит данные в регистр процессора;
6. выполняет команду;
7. переходит к 1 шагу, что бы начать выполнение следующей команды.

Эта последовательность шагов (выборка – декодирование – исполнение) является основой работы для всех процессоров.

Упрощенная структурная схема типичного процессора изображена на следующем рисунке.

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

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

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