Файл: Процессор персонального компьютера. Назначение, функции, классификация процессора (Арифметико-логическое устройство).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 144

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  • Первая содержит устройство управления, задающее последовательность выполняемых команд;
  • Вторая содержит операционное устройство, реализующее заданную последовательность выполняемых команд.

Арифметико-логическое устройство оперирует 4 информационными типами элементов: булевскими (1 бит), числовыми (4 бита), байтными (8 бит) и адресными (16 бит). Также АЛУ выполняет 51 разнообразную операцию преобразования или отправки этих данных. Используя 11 режимов адресации, при помощи комбинирования, операции и режима адресации мы можем расширить базовое число команд до 255.

Также арифметико-логическое устройство содержит выходные индикационные сигналы: «Некоторые АЛУ имеют специальные выходные сигналы, называемые флагами, которые показывают информацию о выходе АЛУ. Например, флаг переполнения показывает, что результат работы сумматора переполнился. Флаг нуля показывает, что выход АЛУ установился на 0.» [4, c. 306]

2.2. Шина адреса и шина данных

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

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

Главным показателем характеристики шины данных является объём бит передаваемых по всей ширине данной шины за один такт, что в свою очередь определяет какое количество данных может передавать шина за один такт.

Разрядность центрального процессора определяет разрядность самой шины данных.

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

Данная шина используется центральным процессором, либо устройствами, которые могут инициировать сеансы прямого доступа к памяти, тем самым определяя физический адрес элемента оперативного запоминающего устройства (ОЗУ), к которому центральный процессор, либо определённое устройство стремится получить доступ, что бы в дальнейшем произвести операции записи, либо чтения.

Главным показателем характеристики шины адреса является, также как и в шине данных, объём бит передаваемых по всей ширине данной шины за один такт, тем самым определяя объём адресуемой памяти.

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


2.3 Регистр процессора

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

«Регистром называется набор из нескольких D-триггеров с общим тактовым сигналом». [4, с.160]

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

В общем, польза регистра приведена в следующем: «Использование любого регистра по его прямому назначению сокращает длину объектного кода программы по сравнению с любым другим использованием регистра, так как использование регистра по назначению, как правило, предполагает его неявную адресацию». [6, c. 35]

Функционально, специализация регистров можно определить из их названий, приведём в пример наименования некоторых из них:

AX – Accumulator (регистра-аккумулятор) – по умолчанию используется для задания одного из операндов команды и для представления результата.

CX – Counter (счетчик) – по умолчанию используется, во-первых, как счетчик числа повторения циклов в команде «организация цикла» (LOOP); во-вторых, для задания числа сдвигов в командах сдвигов (его младший байт – CL); в-третьих, для задания числа элементов обрабатываемых строк (цепочек) в командах обработки строк (MOVS, CMPS и т.д.).

DX – Data (регистр данных) – по умолчанию используется как расширение аккумулятора со стороны старших разрядов в командах умножения и деления.

BX – Base (базовый регистр) – по умолчанию используется как базовая компонента эффективного адреса операнда, находящегося в памяти. (В терминологии фирмы Intel под эффективным адресом- Effective Address (EA) - понимается адрес операнда, формируемый программой (программный адрес).) Для получения физического адреса ячейки памяти, в которой находится операнд, осуществляется преобразование EA на основе простейшей модели сегментированной памяти (механизма сегментации).


SP - Stack Pointer (указатель стека) — по умолчанию используется для адресации вершины стека.

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

2.4 Счетчик команд

Большую часть ЭВМ, которые эксплуатируются по сей день, относят к неймановским вычислительным машинам, что подразумевает под собой то, что вычисления производятся на основе принципа, определённого Дж. Фон Нейманом, который называется принципом процедурного программирования.

Данный принцип характеризуется тем, что в центральном процессоре должно быть устройство управления, который содержит счётчик команд, для того «чтобы команды последовательно считывались и декодировались по заранее заданному в виде программы алгоритму вычислений, вычисления выполнялись в операционном устройстве и данные последовательно перезаписывались в запоминающее устройство» [7, c. 44]

Если, после выполнения команды, данная команда находится на своём месте в последовательности команд, то счётчик команд автоматически инкрементируется.

2.5 Кэш-память

Кэш-память (англ. cache, от фр. cacher — прятать) – это «быстродействующая память, расположенная между центральным ЦП и основной памятью. Вместе с основной памятью она образует иерархическую структуру, и её действие эквивалентно быстрому доступу к основной памяти» [7, c. 51] Схема расположения кэш-памяти изображена на рисунке 1.

Рисунок 1 – Кэш-память

В кэш-памяти самая быстрая скорость доступа к данным.

Записать информацию в кэш-память возможно несколькими путями, которые называются «стратегией обновления основной памяти» [7, c. 52].

Стратегия обновления в кэш-памяти – это «метод (алгоритм), определяющий для заполненной кэш-памяти, какой из блоков следует возвратить в ОП для освобождения блока хэша с целью помещения в него блока ОП, к которому сейчас выполняется обращение.» [7, c. 53], помимо этого, бывают ещё различные стратегии замещения, в которых используется генератор случайных чисел, информация о наименьшей частоте использования блока, а также информация о временных параметрах обращения к блоку и метод прямого наложения блоков.


2.6 Кэш центрального процессора

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

Кэш-память даёт определённо значительный выигрыш в производительности, в случае, когда тактовая частота ОЗУ значительно меньше тактовой частоты ЦП. Тактовая частота для кэш-памяти обычно ненамного меньше частоты ЦП.

2.7 Уровни кэша

Кэш центрального процессора разделён на несколько уровней. Для универсальных процессоров — до 3. Кэш-память уровня N+1 как правило больше по размеру и медленнее по скорости обращения и передаче данных, чем кэш-память уровня N.

Самой быстрой памятью является кэш первого уровня — L1-cache. По сути, она является неотъемлемой частью процессора, поскольку расположена на одном с ним кристалле и входит в состав функциональных блоков. Состоит из кэша команд и кэша данных. Некоторые процессоры без L1 кэша не могут функционировать. На других его можно отключить, но тогда значительно падает производительность процессора. L1 кэш работает на частоте процессора, и, в общем случае, обращение к нему может производиться каждый такт (зачастую является возможным выполнять даже несколько чтений/записей одновременно). Латентность доступа обычно равна 2-4 тактам ядра. Объём обычно невелик — не более 128 Кбайт.

Вторым по быстродействию является L2-cache — кэш второго уровня. Обычно он расположен либо на кристалле, как и L1, либо в непосредственной близости от ядра, например, в процессорном картридже (только в слотовых процессорах). В старых процессорах — набор микросхем на системной плате. Объём L2 кэша от 128 Кбайт до 1-12 Мбайт. В современных многоядерных процессорах кэш второго уровня, находясь на том же кристалле, является памятью раздельного пользования — при общем объёме кэша в 8 Мбайт на каждое ядро приходится по 2 Мбайта. Обычно латентность L2 кэша, расположенного на кристалле ядра, составляет от 8 до 20 тактов ядра. В отличие от L1 кэша, его отключение может не повлиять на производительность системы. Однако, в задачах, связанных с многочисленными обращениями к ограниченной области памяти, например, СУБД, производительность может упасть в десятки раз.

Кэш третьего уровня наименее быстродействующий и обычно расположен отдельно от ядра ЦП, но он может быть очень внушительного размера — более 32 Мбайт. L3 кэш медленнее предыдущих кэшей, но всё равно значительно быстрее, чем оперативная память. В многопроцессорных системах находится в общем пользовании.


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

2.8 Классификация кэша

Кэш-память классифицируется по количеству строк в наборе.

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

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

Кэш прямого отображения – это кэш, в котором «каждый набор содержит только одну строку (один блок), так что кэш содержит S = B наборов» [4, с. 558], где S – это число наборов, а B – количество строк или блоков.

Для понимания принципа отображения адресов памяти в определённые строки данного кэша, можно представить, «что оперативная память поделена на блоки по b слов так же, как кэш поделен на строки по b слов. Адрес одного из слов, находящихся в блоке 0 оперативной памяти, отображается в набор 0 кэша. Адрес слова из блока 1 оперативной памяти отображается в набор 1 кэша, и так далее, пока адрес слова из блока B – 1 оперативной памяти не отобразится в строку B – 1 кэша. Больше строк в кэше нет, так что следующий блок оперативной памяти (блок В) снова отображается в строку 0 кэша, и так далее» [4, с. 559]

Наборно-ассоциативный кэш – это кэш, в котором «каждый набор состоит из N строк. Каждый адрес памяти по-прежнему отображается в один-единственный набор, но число наборов в этом случае равно S = B / N, а данные могут оказаться в любой из N строк этого набора» [4, с. 558]

Данного вида кэш уменьшает количество конфликтов, расширяя набор до N строк. Адреса памяти по-прежнему отображаются в строго установленной последовательности, но также теперь каждый адрес может быть отображён в любую из N строк данного набора. По сути, данный кэш – это «односекционный наборно-ассоциативный кэш.» [4, c. 563]

Полностью ассоциативный кэш – это кэш, который «имеет только один набор (S = 1), и данные могу оказаться в любой из B строк этого набора. Таким образом, полностью ассоциативный кэш – это то же самое, что и наборно-ассоциативный кэш с B секциями (количество секций совпадает с количеством строк во всём кэше).» [4, с. 558]

Для сравнения, при одинаковом объёме кэша, чем больше ассоциативность в кэше, тем он более медленный, но при этом более эффективный.