Добавлен: 25.04.2023
Просмотров: 200
Скачиваний: 4
2. Непосредственная – в поле адреса команды располагается не адрес операнда, а сам операнд. Такой способ удобно использовать в командах с константами.
3. Косвенная – в поле адреса команды располагается адрес ячейки памяти, в которой хранится адрес операнда («адрес адреса»). Такой способ позволяет оперировать адресами как данными, что облегчает организацию циклов, обработку массивов данных и др. Его основной недостаток – потеря времени на двойное обращение к памяти – сначала за адресом, потом – за операндом. Разновидность – косвенно-регистровая адресация, при которой в поле команды размещается адрес РОН, хранящего адрес операнда. Этот способ, помимо преимущества обычной косвенной адресации, позволяет обращаться к большой памяти с помощью коротких команд и не требует двойного обращения к памяти (обращение к регистру занимает гораздо меньше времени, чем к памяти).
4.Относительная – адрес формируется как сумма двух слагаемых: базы, хранящейся в специальном регистре или в одном из РОН, и смещения, извлекаемого из поля адреса команды. Этот способ позволяет сократить длину команды (смещение может быть укороченным, правда в этом случае не вся память доступна в команде) и/или перемещать адресуемые массивы информации по памяти (изменяя базу). Разновидности – индексная и базово-индексная адресации. Индексная адресация предполагает наличие индексного регистра вместо базового. При каждом обращении содержимое индексного регистра автоматически модифицируется (обычно увеличивается или уменьшается на 1). Базово-индексная адресация формирует адрес операнда как сумму трех слагаемых: базы, индекса и смещения.
5.Безадресная – поле адреса в команде отсутствует, а адрес операнда или не имеет смысла для данной команды, или подразумевается по умолчанию. Часто безадресные команды подразумевают действия над содержимым аккумулятора. Характерно, что безадресные команды нельзя применить к другим регистрам или ячейкам памяти.
2.2.Система прерываний и приостановок, состояние процессора
Во время выполнения какой-либо программы компьютером могут возникнуть события, требующие его немедленной реакции. Необходимость незамедлительного решения другой задачи, переполнение разрядной сетки, программный или аппаратный сбой, окончание предусмотренного интервала времени и т.д. – все это события, требующие переключения компьютера на другую программу. Переход к другой программе осуществляется посредством системы прерываний.
Прерывание программы – процесс переключения процессора с одной программы на другую по внешнему сигналу с сохранением информации для последующего возобновления прерванной программы. При возникновении события, приводящего к прерыванию, формируется сигнал, называемый запросом прерывания. Существует несколько источников запросов прерывания: это схемы контроля процессора, система питания, память, периферийные устройства и т.д. При наличии нескольких источников запросов прерывания устанавливается определенный порядок их обслуживания путем назначения приоритетов. Запросы прерываний направляются на различные разряды специального регистра (регистра запросов прерываний), опрос которого производится в строго определенной последовательности при завершении очередной команды. Номер разряда этого регистра не только определяет приоритет запроса прерываний, но и позволяет найти соответствующую данному запросу программу обслуживания прерывания. Поступивший запрос может прервать только менее приоритетную программу.
Еще один очень важный процесс – это приостановки. При приостановках средства управления, работающие автономно от процессора, задерживают его работу на время цикла памяти, когда память занята приемом или выдачей информации для другого устройства. Во время приостановок, называемых также занятием цикла памяти, процессор никаких действий не выполняет, его состояние не меняется, но выполнение очередной команды задерживается до освобождения памяти. Возможности ограничены непосредственной передачей данных между ОП и процессором, когда память или шина используются несколькими устройствами.
3.ФУНКЦИИ ПРОЦЕССОРА
Вне зависимости от того какой у вас процессор основными функциями любого процессора являются:
- Выборка (чтение) выполняемых команд;
- Ввод (чтение) данных из памяти или устройства ввода/вывода;
- Вывод (запись) данных в память или в устройства ввода/вывода;
- Обработка данных (операндов), в том числе арифметические операции над ними;
- Адресация памяти, то есть задание адреса памяти, с которым будет производиться обмен;
- Обработка прерываний и режима прямого доступа.
Так как этого крайне мало чтобы понять основные функции давайте рассмотрим пример приведённый ниже
Как видно из примера основные функции показанных узлов следующие:
Схема управления выборкой команд выполняет чтение команд из памяти и их дешифрацию. В первых микропроцессорах было невозможно одновременное выполнение предыдущей команды и выборка следующей команды, так как процессор не мог совмещать эти операции. Но уже в 16-разрядных процессорах появляется так называемый конвейер (очередь) команд, позволяющий выбирать несколько следующих команд, пока выполняется предыдущая. Два процесса идут параллельно, что ускоряет работу процессора. Конвейер представляет собой небольшую внутреннюю память процессора, в которую при малейшей возможности (при освобождении внешней шины) записывается несколько команд, следующих за исполняемой. Читаются эти команды процессором в том же порядке, что и записываются в конвейер (это память типа FIFO, First In — First Out, первый вошел — первый вышел).
Арифметико-логическое устройство (или АЛУ, ALU ) предназначено для обработки информации в соответствии с полученной процессором командой. Примерами обработки могут служить логические операции (типа логического "И", "ИЛИ", "Исключающего ИЛИ" и т.д.) то есть побитные операции над операндами, а также арифметические операции (типа сложения, вычитания, умножения, деления и т.д.).
Регистры процессора представляют собой по сути ячейки очень быстрой памяти и служат для временного хранения различных кодов: данных, адресов, служебных кодов. Операции с этими кодами выполняются предельно быстро, поэтому, в общем случае, чем больше внутренних регистров, тем лучше.
Регистр признаков ( регистр состояния) занимает особое место, хотя он также является внутренним регистром процессора. Содержащаяся в нем информация — это не данные, не адрес, а слово состояния процессора (ССП, PSW — Processor Status Word). Каждый бит этого слова (флаг) содержит информацию о результате предыдущей команды. Например, есть бит нулевого результата, который устанавливается в том случае, когда результат выполнения предыдущей команды — нуль, и очищается в том случае, когда результат выполнения команды отличен от нуля. Эти биты (флаги) используются командами условных переходов, например, командой перехода в случае нулевого результата. В этом же регистре иногда содержатся флаги управления, определяющие режим выполнения некоторых команд.
Схема управления прерываниями обрабатывает поступающий на процессор запрос прерывания, определяет адрес начала программы обработки прерывания (адрес вектора прерывания), обеспечивает переход к этой программе после выполнения текущей команды и сохранения в памяти (в стеке ) текущего состояния регистров процессора. По окончании программы обработки прерывания процессор возвращается к прерванной программе с восстановленными из памяти (из стека ) значениями внутренних регистров.
Схема управления прямым доступом к памяти служит для временного отключения процессора от внешних шин и приостановки работы процессора на время предоставления прямого доступа запросившему его устройству.
Логика управления организует взаимодействие всех узлов процессора, перенаправляет данные, синхронизирует работу процессора с внешними сигналами, а также реализует процедуры ввода и вывода информации.
Внутренние регистры любого микропроцессора обязательно выполняют две служебные функции:
1. определяют адрес в памяти, где находится выполняемая в данный момент команда (функция счетчика команд или указателя команд );
2.определяют текущий адрес стека (функция указателя стека ).
4.КЛАССИФИКАЦИЯ ПРОЦЕССОРА
Не смотря на то что процессор является универсальным средством для обработки информации иногда необходим определённая его структура и архитектура.
В связи с этим была сделана классификация процессоров по:
1.Функциональному признаку
В свою очередь он разделяется ещё на два – общего назначения и специализированного. (см рис.3)
Рис.3 Функциональный признак
2.Классификация по типу
Цифровые процессоры - цифро-аналоговый преобразователь (цифровой процессор) предназначен для переработки получаемого цифрового сигнала от того или иного устройства в аналоговый. Сфера применения цифровых преобразователей очень широка. Самым простым примером будут проигрыватели компакт-дисков, в которые вмонтированы элементы данного типа. Поскольку такие процессоры находятся в начале аналогового тракта любой системы, то ее характеристики во многом зависят от показателей ЦАП.
Аналоговые процессоры здесь все обстоит ровным счетом наоборот: аналоговый сигнал трансформируется в цифровой. По типу преобразования выделяют два вида аналогово-цифровых преобразователей АЦП: линейные (встречаются чаще всего) и нелинейные. Область применения устройств данного формата также широка. В частности, это звукозаписывающее оборудование, ПК, видеокамеры, отдельные приборы для радиопередачи данных и проч.
Процессоры с многозадачной (нечеткой) логикой В английском для этого применяется термин fuzzy logic. Их работа строится на базе нечеткой математики, которая позволяет работать с входными данными, постоянно меняющимися во времени, то есть с такими, параметры которых нельзя задать однозначно. Для этого система сначала анализирует имеющиеся численные данные (например, результаты социологического опроса или информацию, полученную от измерительного устройства) и переводит их в нечеткий формат (фаззирует). Далее она обрабатывает данные по установленным правилам и после этого путем дефаззирования переводит информацию в привычный вид и выдает готовые результаты работы.
3.Классификация по торговой марке
В данной классификации находится очень большой обхват, но не смотря на большое количество марок в наше время топовыми выделяются только две, а именно Intel и AMD. Обе компании начали свой путь в эпоху, когда вычислительные машины занимали целые комнаты, а понятие персональный компьютер только начало входить в моду. Первым на этом поприще стала компания Intel, созданная в 1968 году и ставшая практически единственным разработчиком и производителем процессов. Первоначальной продукцией бренда были интегральные микросхемы, но довольно скоро производитель сосредоточился только на процессорах. Компания AMD появилась в 1969 году и изначально была нацелена на рынок процессов.
4.Классификация по техническим параметрам
В данной классификации приведены аспекты которые были указаны выше, а именно:
1.Разрядность
2.Тактовая частота
3.Количство ядер
4.Кеш-память
5.По числу потоков команд и потоков данных:
1.скалярные
2.векторные
Скалярный процессор — это простейший класс микропроцессоров. Скалярный процессор обрабатывает один элемент данных за одну инструкцию (SISD, Single Instruction Single Data). Типичными элементами данных могут быть целые или числа с плавающей запятой. Абсолютное большинство процессоров являются скалярными или близкими к ним.
Совершенствование скалярных процессоров привело к созданию суперскалярной архитектуры, которая характеризуется наличием вычислительного ядра, использующего несколько декодеров команд, которые могут нагружать работой множество исполнительных блоков, и позволяет выполнять несколько команд за один такт процессора.
Векторный процессор — это процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных — векторы. В векторных процессорах (SIMD, Single Instruction Multiple Data), в отличие от скалярных, одна инструкция работает с несколькими элементами данных. Векторные процессоры были распространены в сфере научных вычислений, где они являлись основой большинства суперкомпьютеров, начиная с 1980-х до 1990-х. Но резкое увеличение производительности и активная разработка новых процессоров привели к вытеснению их со сферы повседневных процессоров.
6.По числу и способу использования внутренних регистров
Аккумуляторные процессоры – это процессоры с одним регистром результата. Их отличительной характеристикой является относительная простота аппаратной реализации, а также упрощённый формат команд .В командах адрес операнда в аккумуляторе не указывается , а адресуется только второй операнд. Недостатками таких процессоров является необходимость предварительной загрузки операнда в аккумулятор перед выполнением операции и невозможность непосредственной записи результата выполнения команды в произвольную ячейку памяти или регистр. В многоаккумуляторных регистрах, которыми являются большинство современных процессоров, функции регистров результата может выполнять любой регистр общего назначения или ячейка памяти. В командах оба операнда задаются явно, а результат операции чаще всего помещается на место одного из операндов.