logo
Все готово(Шпоры)

13.3 Микропроцессоры

Микропроцессор (МП), или central processing unit (CPU) – функционально- законченное программно-управляемое устройство обработки информации, выполненное в виде одной или нескольких интегральных схем. Функции микропроцессора: - вычисление адресов операндов или команд; - выборка и дешифрация команд из оперативной памяти (ОП); - выборка данных из ОП, регистров микропроцессорной памяти (МПП) и регистров адаптеров внешних устройств (ВУ); - прием и обработка запросов и команд от адаптеров на обслуживание ВУ; - выработка управляющих сигналов для всех прочих узлов и блоков ПК; - переход к следующей команде. Основные параметры микропроцессоров: - разрядность (определяется разрядностью внутренних регистров, над которыми одновременно могут выполняться операции); -адресное пространство (максимальное количество ячеек основной памяти которое может быть непосредственно адресовано микропроцессором); - рабочая тактовая частота (частота исполнения тактов команд микропроцессором – определяет внутреннее быстродействие МП); - кэш-память (память внутри ПМ работающая с частотой ядра МП); - состав инструкций (перечень, вид и тип команд автоматически исполняемых МП); - конструктив (размеры и разъемные соединения); - рабочие напряжения (напряжение питания ядра и периферии ПМ).

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

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

Организация сверхоперативной памяти микропроцессоров (кэш).

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

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

Самой простой организацией обладает КЭШ память с прямым отображением. В этом случае адрес памяти полностью определяет используемую строку КЭШ. Для КЭШ памяти с прямым отображением этот адрес разделяется на 3 части: ТЭГ, № строки, № байта(смещение). Младшая  часть байта определяет порядковый номер байта в строке КЭШа и является смещением. Среднее поле позволяет однозначно выбрать одну строку КЭШа, это поле «номер строки». Оставшиеся старшие разряды несут информацию о признаке,  теге. 

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

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

Регистровая архитектура

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

Размер регистров обычно фиксирован и совпадает с размером машинного слова. К любому регистру можно обратиться, указав его номер. Количество РОН в архитектурах типа CISC обычно невелико (от 8 до 32), и для представления номера конкретного регистра необходимо не более пяти разрядов, благодаря чему в адресной части команд обработки допустимо одновременно указать номера двух, а зачастую и трех регистров (двух регистров операндов и регистра результата). Регистровая архитектура допускает расположение операндов в одной из двух запоминающих сред: основной памяти или регистрах. С учетом возможного размещения операндов в рамках регистровых АСК выделяют три подвида команд обработки: регистр-регистр, регистр-память, память-память

В варианте «регистр-регистр» операнды могут находиться только в регистрах. В них же засылается и результат. Подтип «регистр-память» предполагает, что один из операндов размещается в регистре, а второй в основной памяти. Результат обычно замещает один из операндов. В командах типа «память-память» оба операнда хранятся в основной памяти.

 Вариант «регистр-регистр» является основным в вычислительных машинах типа RISC. Команды типа «регистр-память» характерны для CISC-машин. Наконец, вариант «память-память» считается неэффективным, хотя и остается в наиболее сложных моделях машин класса CISC.

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

   Стековая архитектура

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

Верхнюю ячейку называют вершиной стека. Для работы со стеком предусмотрены две операции: push (проталкивание данных в стек) и pop (вытаякивание данных из стека). Запись возможна только в верхнюю ячейку стека, при этом вся хранящаяся в стеке информация предварительно проталкивается на одну позицию вниз. Чтение допустимо также только из вершины стека. Извлеченная информация удаляется из стека, а оставшееся его содержимое продвигается вверх. В вычислительных машинах, где реализована АСК на базе стека (их обычно называют стековыми), операнды перед обработкой помещаются в две верхних ячейки стековой памяти.

Архитектура память-память

В архитектуре с выделенным доступом к памяти обращение к основной памяти возможно только с помощью двух специальных команд: load и store. В английской транскрипции данную архитектуру называют Load/Store architecture. Команда load (загрузка) обеспечивает считывание значения из основной памяти и занесение его в регистр процессора (в команде обычно указывается адрес ячейки памяти и номер регистра). Пересылка информации в противоположном направлении производится командой store (сохранение). Операнды во всех командах обработки информации могут находиться только в регистрах процессора (чаще всего в регистрах общего назначения). Результат операции также заносится в регистр. В архитектуре отсутствуют команды обработки, допускающие прямое обращение к основной памяти. Допускается наличие в АСК ограниченного числа команд, где операнд является частью кода команды.

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

Архитектура на базе аккумулятора исторически возникла одной из первых. В ней для хранения одного из операндов арифметической или логической операции в процессоре имеется выделенный регистр — аккумулятор. В этот же регистр заносится и результат операции. Поскольку адрес одного из операндов предопределен, в командах обработки достаточно явно указать местоположение только второго операнда.  Для загрузки в аккумулятор содержимого ячейки х предусмотрена команда загрузки load x. По этой команде информация считывается из ячейки памяти х, выход памяти подключается к входам аккумулятора и происходит занесение считанных данных в аккумулятор. Запись содержимого аккумулятора в ячейку х осуществляется командой сохранения store х, при выполнении которой выходы аккумулятора подключаются к шине, после чего информация с шины записывается в память. Для выполнения операции в АЛУ производится считывание одного из операндов из памяти в регистр данных. Второй операнд находится в аккумуляторе. Выходы регистра данных и аккумулятора подключаются к соответствующим входам АЛУ. По окончании предписанной операции результат с выхода АЛУ заносится в аккумулятор. Достоинствами аккумуляторной АСК можно считать короткие команды и простоту декодирования команд. Однако наличие всего одного регистра порождает многократные обращения к основной памяти.

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

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

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

а) пропускная способность - количество информации, которая может быть передана через интерфейс в единицу времени;

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

в) максимальная частота передачи информационных сигналов через интерфейс;

г) максимально допустимое расстояние между соединяемыми устройствами;

д) общее число проводов (линий) в интерфейсе.

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

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

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

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

Шина данных - По этой шине данные передаются между различными устройствами. Например, считанные из оперативной памяти данные могут быть переданы процессору для обработки, а затем полученные данные могут быть отправлены обратно в оперативную память для хранения. Таким образом, данные по шине данных могут передаваться от устройства к устройству в любом направлении. Разрядность шины данных определяется разрядностью процессора, то есть количеством двоичных разрядов, которые могут обрабатываться или передаваться процессором одновременно. Разрядность процессоров постоянно увеличивается по мере развития компьютерной техники.

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

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