русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Упрощенная внутренняя структура процессора


Дата добавления: 2014-11-28; просмотров: 1383; Нарушение авторских прав


Упрощенно структуру микропроцессора можно представить в следующем виде (Рис. …).

 

Рисунок Упрощенная структура процессора

 

В общих чертах работа процессора выглядит следующим образом:

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

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

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

Основные функции показанных узлов следующие.

Арифметико-логическое устройство (АЛУ, англ. Arithmetic And Logic Unit, ALU)) предназначено для обработки информации в соответствии с полученной процессором командой. Примерами обработки могут служить логические операции (типа логического «И», «ИЛИ», «Исключающего ИЛИ» и т.д.) то есть побитные операции над операндами, а также арифметические операции (типа сложения, вычитания, умножения, деления и т.д.). Над какими кодами производится операция, куда помещается ее результат — определяется выполняемой командой. Если команда сводится всего лишь к пересылке данных без их обработки, то АЛУ не участвует в ее выполнении. АЛУ имеет свои собственные внутренние регистры. Разрядность регистров АЛУ называется внутренней разрядностью процессора, которая может не совпадать с внешней разрядностью.



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

Приведем несколько примеров. Для упрощения будем рассматривать АЛУ с 8 разрядными регистрами.

Примеры арифметических операций для целых чисел.

Сначала простой случай, проведем сложение 61 + 1

  +
 

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

Теперь выполним сложение 127 + 1:

  +
 

В результате мы получаем число 128, т.е. старший 7-й разряд будет установлен в 1, это означает, что мы будем интерпретировать это число как отрицательное (-128), в регистре флагов при этом установится в 1 флаг знака (SF). Как видно, мы складывали два положительных числа и получили отрицательное, Этот эффект принято называть переполнением, так как сумма вышла за пределы диапазона чисел, представимых в дополнительном коде, при этом в регистре флагов установится в 1 флаг переполнения (Overflow flag, OF). Установка флага переполнения показывает, что сложение со знаком дает неверный результат.

Третий пример продемонстрирует сложение отрицательных чисел представленных, естественно, в дополнительном коде.

Суммируем (-1) + (-126)

  +
 

Получили -127, при этом сумма осталась отрицательной, но произошел перенос из самого старшего 7-го разряда числа, это значит, что в регистре флагов установится в 1 флаг переноса (Carry flag, CF), этот флаг показывает что, в результате операции из старшего бита происходит перенос при сложении или заем при вычитании.

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

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



<== предыдущая лекция | следующая лекция ==>
Система команд | Предварительные сведенья о шинах


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.