Центральный процессор (ЦП) или центральное процессорное устройство (ЦПУ) — процессор машинных инструкций, часть аппаратного обеспечения компьютера или программируемого логического контроллера, отвечающая за выполнение основной доли работ по обработке информации — вычислительный процесс.
ЦП является ядром ЭВМ и выполняет следующие основные функции: выборку из оперативной памяти, дешифрацию и выполнение команд программы, организует обращения к различным видам памяти, формирует процедуры ввода-вывода, инициирует работу внешних запоминающих устройств и периферийных устройств, воспринимает, и обрабатывает запросы прерываний от устройств машины и взаимодействующих с ней, осуществляет контроль и диагностику ЭВМ.
В логический состав ЦП входят:
- устройство управления (УУ) — блок управления. Управляет работой всех устройств по заданной программе
- арифметико-логическое устройство (АЛУ) — вычислительный инструмент процессора.
- регистры общего назначения, РОН – внутренняя память процессора. Регистры используются для временного хранения выполняемой команды, адресов памяти, обрабатываемых данных и другой внутренней информации микропроцессора. Каждый из регистров служит своего рода черновиком, используя который процессор выполняет расчеты и сохраняет промежуточные результаты.
Все узлы процессора соединены с внутренней шиной.
Занятие 8 (2022-23): Микроархитектура однотактового процессора SCHOOLRISCV
Структурная схема процессора:
Устройство управления:
- Счетчик команд (СК — IP — Instruction Pointer) — регистр, содержащий адрес-смещение следующей команды, подлежащей исполнению, относительно кодового сегмента CS.
- Регистр команд (PK — IR — Instruction register) — служит для размещения текущей команды, которая находится в нем в течение текущего цикла процессора. Только с момента загрузки команды в РК она становится «видимой» для процессора. В РК команда хранится в течение всего времени ее выполнения. Любая команда содержит два поля: поле кода операции и поле адресной части. Учитывая это обстоятельство, регистр команды иногда рассматривают как совокупность двух регистров – регистра кода операции (РКОп) и регистра адреса (РА), в которых хранятся соответствующие составляющие команды. Если команда занимает несколько последовательных ячеек, то код операции всегда находится в том слове команды, которое извлекается из памяти первым.
- Регистр адреса памяти (РАП) предназначен для хранения адреса ячейки основной памяти вплоть до завершения операции (считывание или запись) с этой ячейкой. Наличие РАП позволяет компенсировать различия в быстродействии ОП и прочих устройств машины.
- Регистр данных памяти (РДП) при чтении содержит содержимое ячейки ОП, а при записи информацию, подлежащую сохранению в ячейку ОП.
- Дешифратор кода операции (ДКОп) преобразует код операции в форму, требуемую для работы микропрограммного автомата (МПА). Информация после декодирования определяет последующие действия МПА, а ее вид зависит от организации МПА. Часто код операции преобразуется в адрес первой команды микропрограммы, реализующей указанную в команде операцию. С этих позиций ДКОп правильнее было бы назвать не дешифратором, а преобразователем кодов.
- Микропрограммный автомат (МПА) — центральный узел устройства управления. МПА формирует последовательность сигналов управления, в соответствии с которыми производятся все действия, необходимые для выборки из памяти и выполнения команд. Исходной информацией для МПА служат: декодированный код операции, состояние признаков (флагов), характеризующих результат предшествующих вычислений, а также внешние запросы на прерывание текущей программы и переход на программу обслуживания прерывания.
Арифметико-логическое устройство:
04. Основы устройства компьютера. Архитектура процессора. [Универсальный программист]
- Операционный блок (ОПБ) представляет собой ту часть АЛУ, которая выполняет арифметические и логические операции над поданными на вход операндами. Выбор конкретной операции из возможного списка операций для данного ОПБ определяется кодом операции команды. В реальных машинах КОп зачастую преобразуется в МПА в иную форму и уже из микропрограммного автомата поступает в АЛУ. Операционные блоки современных АЛУ строятся как комбинационные схемы, то есть они не обладают внутренней памятью и до момента сохранения результата операнды должны присутствовать на входе блока.
- Регистры операндов. Регистры РХ и РY обеспечивают сохранение операндов на входе операционного блока вплоть до получения результата операции и его записи.
- Регистр признаков (РПрз — FLAGS) предназначен для фиксации и хранения признаков (флагов), характеризующих результат последней выполненной арифметической или логической операции. Такие признаки могут информировать о равенстве результата нулю, о знаке результата, о возникновении переноса из старшего разряда, переполнении разрядной сетки и т.д. Содержимое РПрз обычно используется устройством управления для реализации условных переходов по результатам операций АЛУ. Под каждый из возможных признаков отводится один разряд РПрз. Формирование признаков осуществляется блоком формирования состояний регистра признаков, который может входить в состав ОПБ либо реализуется в виде внешней схемы, располагаемой между операционным блоком и РПрз.
- Аккумулятор (Акк) – это регистр, на который возлагаются самые разнообразные функции. Так, в него предварительно загружается один из операндов, участвующих в арифметической или логической операции. В Акк может храниться результат предыдущей команды и в него же заносится результат очередной операции. Через Акк зачастую производятся операции ввода и вывода. Строго говоря, аккумулятор в равной мере можно отнести как к АЛУ, так и к УУ, а в ВМ с регистровой архитектурой его можно рассматривать как один из регистров общего назначения.
Стандартный цикл работы ЦП.
- Чтение команды из памяти
- адрес команды на адресной шине
- управляющая шина — чтение идификатора(?)
- данные передаются на шину данных
- расшифровка согласно схеме [команда] [арг1] [арг2]. Например mov ax, cs:0B40Eh
Где-то я видел больше инфы. Найду — скину
Способы обмена информацией.
Основной функцией модулей ввода/вывода является обеспечение обмена информацией
В ВМ находят применение три способа организации ввода/вывода (В/ВЫВ):
- программно управляемый ввод/вывод;
- ввод/вывод по прерываниям;
- прямой доступ к памяти.
При программно управляемом вводе/выводе все связанные с этим действия происходят по инициативе центрального процессора и под его полным контролем. ЦП выполняет программу, которая обеспечивает прямое управление процессом ввода/вывода, включая проверку состояния устройства, выдачу команд ввода или вывода. Выдав в МВВ команду, центральный процессор должен ожидать завершения ее выполнения, и, поскольку ЦП работает быстрее, чем МВВ, это приводит к потере времени.
Ввод/вывод по прерываниям во многом совпадает с программно управляемым методом. Отличие состоит в том, что после выдачи команды ввода/вывода ЦП не должен циклически опрашивать МВВ для выяснения состояния устройства. Вместо этого процессор может продолжать выполнение других команд до тех пор, пока не получит запрос прерывания от МВВ, извещающий о завершении выполнения ранее выданной команды В/ВЫВ. Как и при программно управляемом В/ВЫВ, ЦП отвечает за извлечение данных из памяти (при выводе) и запись данных в память (при вводе).
Повышение как скорости В/ВЫВ, так и эффективности использования ЦП обеспечивает третий способ В/ВЫВ — прямой доступ к памяти (ПДП). В этом режиме основная память и модуль ввода/вывода обмениваются информацией напрямую, минуя процессор.
5. (!)Программный обмен. Ввод информации. Аппаратное и программное обеспечение.
6. (!)Программный обмен. Вывод информации. Аппаратное и программное обеспечение
Программный ввод-вывод – это наиболее простой способ обмена данными между процессором и внешним устройством, часто называемый также вводом/выводом с опросом.
Ввод/вывод происходит под полным контролем центрального процессора и реализуется специальной процедурой ввода/вывода. В этой процедуре ЦП с помощью команды ввода/вывода сообщает модулю ввода/вывода, а через него и внешнему устройству о предстоящей операции. Адрес модуля и ВУ, к которому производится обращение, указывается в адресной части команды ввода или вывода.
Модуль исполняет затребованное действие, после чего устанавливает в единицу соответствующий бит в своем регистре состояния. Ничего другого, чтобы уведомить ЦП, модуль не предпринимает. Следовательно, для определения момента завершения операции или пересылки очередного элемента блока данных процессор должен периодически опрашивать и анализировать содержимое регистра состояния МВВ.
Иллюстрация процедуры программно управляемого ввода блока данных с устройства ввода приведена на рис. данные читаются пословно. Для каждого читаемого слова ЦП должен оставаться в цикле проверки, пока не определит, что слово находится в регистре данных МВВ, то есть доступно для считывания.
Процедура начинается с выдачи процессором команды ввода, в которой указан адрес конкретного МВВ и конкретного ВУ. Существуют четыре типа команд В/ВЫВ, которые может получить МВВ: управление, проверка, чтение и запись.
Команды управления используются для активизации ВУ и указания требуемой операции. Например, в устройство памяти на магнитной ленте может быть выдана команда перемотки или продвижения на одну запись. Для каждого типа ВУ характерны специфичные для него команды управления.
Команда проверки применяется для проверки различных ситуаций- возникающих в МВВ и ВУ в процессе ввода/вывода. С помощью таких команд ЦП способен выяснить, включено ли ВУ, готово ли оно к работе, завершена ли последняя операция ввода/вывода и не возникли ли в ходе ее выполнения какие-либо ошибки. Действие команды сводится к установке или сбросу соответствующих разрядов регистра состояния МВВ.
Команда чтения побуждает модуль получить элемент данных из ВУ и занести его в регистр данных (РД). ЦП может получить этот элемент данных, запросив МВВ поместить его на шину данных.
Команда записи заставляет модуль принять элемент данных (байт или слово) с шины данных и переслать его в РД с последующей передачей в ВУ.
Если к МВВ подключено несколько ВУ, то в процедуре ввода/вывода нужно производить циклический опрос всех устройств, с которыми в данный момент прох изводятся операции В/ВЫВ.
Из блок-схемы (см. рис. 8.6) явно виден основной недостаток программно управляемого В/ВЫВ — неэффективное использование процессора из-за ожидания готовности очередной порции информации, в течение которого никаких иных пох лезных действий ЦП не выполняет. Кроме того, пересылка даже одного слова трех бует выполнения нескольких команд. ЦП должен тратить время на анализ битов состояния МВВ, запись в МВВ битов управления, чтение или запись данных со скоростью, определяемой внешним устройством. Все это также отрицательно сках зывается на эффективности ввода/вывода.
Главным аргументом в пользу программно управляемого ввода/вывода являх ется простота МВВ, поскольку основные функции по управлению В/ВЫВ берет на себя процессор. При одновременной работе с несколькими ВУ приоритет устройств легко изменить программными средствами (последовательностью опроса). Наконец, подключение к СВВ новых внешних устройств или
Известны два типа программно-управляемой передачи данных: синхронная, асинхронная.
Синхронная передача данных характерна для периферийных устройств, для которых известны временные соотношения. При этом типе передачи устройство ввода-вывода должно быть готово к приему или передаче данных за время, равное времени выполнения определенной команды процессора. Синхронная передача реализуется при минимальных затратах технических и программных средств.
Асинхронная передача данных, иногда называемая обменом посредством “рукопожатия”, широко используется в микроЭВМ. При такой передаче данных ЭВМ перед выполнением операции ввода-вывода проверяет состояние периферийного устройства. Блок-схема алгоритма асинхронного программного обмена (фрагмента некоторой программы) приведена на рис. 16.
Обычно при обмене необходимо:
- проверить состояние устройства (чтение регистра состояния (PC));
- активизировать устройство, если последнее готово к обмену;
- передать данные (чтение регистра данных (РД), запись РД);
- дезактивировать устройство.
Асинхронная передача является идеальной в смысле согласования временных различий между периферийными устройствами и процессором. Недостаток ее в том, что процессор вынужден ожидать, пока периферийное устройство не будет готово к обмену. Это приводит не только к непроизводительным затратам времени МП (при наличии длительных задержек), но и во многих случаях является просто недопустимым. Например, в процессах управления в этом случае возникает необходимость сохранения уровня сигналов управления на время ожидания передачи. Методом, позволяющим устранить подобные трудности, является передача данных с прерыванием программы.
Рис. 16. Блок-схема алгоритма асинхронного программного обмена
Источник: infopedia.su
Автоматизация работы процессора (основной алгоритм работы процессора)
Команды машинной программы располагаются в ячейках памяти последовательно друг за другом, так же как последовательно они выполняются. Чтобы обеспечить автоматический переход от исполнения одной команды к исполнению следующей, используется специальный регистр собственной памяти процессора — счетчик команд(СК). В нем находится адрес ячейки, хранящей команду, которую надо выполнить следующей.
В каждый момент процессор выполняет одну команду программы, адрес которой хранится в специальном регистре собственной памяти процессора – счетчике команд. (Принцип архитектуры Неймана)
Действия процессора по выполнению каждой отдельной команды (основной алгоритм его работы) таковы:
- читать адрес из счетчика команд;
- читать слово (содержащее команду) по этому адресу;
- читать счетчик команд;
- выполнить команду, записанную в прочитанном слове.
Заметим, что выполняя пункт 3, процессор автоматически увеличивает содержимое счетчика команд на 1, 2 или ; в зависимости от типа процессора. Увеличение счетчика команд на заданное число ведет к автоматическому появлению в нем адреса следующей ячейки памяти, где и хранится следующая команда – вот почему команды программы располагаются в ячейках памяти одна за другой.
Но таким образом можно исполнять автоматически только линейные алгоритмы. Для реализации циклов и ветвлений используются специальные команды процессора, исполнение которых определенным образом меняет содержимое счетчика команд.
Процессор ЭВМ содержит в своем составе несколько основных устройств (блоков):
♦ Арифметико-логическое устройство. В зависимости от количества и сложности выполняемых АЛУ команд процессоры подразделяются на архитектуры CISC (большое количество сравнительно сложных и длительных по времени выполнения команд) и RISC (малое число очень простых и поэтому быстро выполняемых команд). Современные процессоры часто имеют смешанный набор команд, включающий в себя и CISC- и RISC-команды.
Количество бит данных, обрабатываемых в АЛУ одной командой, называется разрядностью процессора. В настоящее время наибольшее распространения имеют 32-х и 64-х разрядные микропроцессоры.
- Блок регистров. Регистр — это сверхбыстродействующая ячейка памяти, находящаяся внутри процессора и предназначенная для временного хранения одного или нескольких байт (в зависимости от разрядности регистра) информации в качестве обрабатываемых в АЛУ данных или для собственных нужд процессора.
Различают регистры общего назначения (РОН), которые служат источником данных и приемником результата при выполнении команды в АЛУ и могут изменяться программным путем и специальные регистры, предназначенные для обеспечения работы процессора (например, регистр состояния процессора, регистр команд, регистр дескриптора сегментов памяти), многие из которых недоступны программным методом.
Современные процессоры имеют до нескольких десятков РОН и специальных регистров.
- Устройство управления — обеспечивает согласованное и целенаправленное функционирование всех блоков процессора по выполнению программы.
- Блок управления памятью занимается выборкой из памяти и записью в ячейки памяти информации, требующейся процессору для выполнения программы. Информация такого рода бывает двух видов — команды и данные, которые хранятся вместе в памяти, но при выборке процессором попадают в разные блоки: команды — в специальные регистры, а данные — в РОНы и АЛУ. Поскольку все современные компьютеры снабжены кэш-памятью, то на блок управления памятью возлагается задача незаметно для выполняемой программы (и без заметных задержек) копировать информацию из кэш-памяти в ОЗУ и наоборот.
- Блок операций с плавающей точкой служит для быстрого выполнения математических операций с вещественными числами.
К математическим операциям относятся не только все арифметические (сложение, вычитание, умножение и деление), но и некоторые функциональные вычисления (извлечение корня, логарифмирование, нахождения тангенса и т.п.) Вычисления с плавающей точкой интенсивно используются для создания трехмерной графики, в динамичных играх, инженерных расчетах, при моделировании физических процессов. В отличие от АЛУ, блок операций с плавающей точкой выполняет расчеты значительно быстрее и с большей разрядностью (точность до 18-20 значащих десятичных цифр).
Первоначально микропроцессоры не имели в своем составе такого блока, но предусматривали совместную работу с отдельно устанавливаемой микросхемой арифметического сопроцессора. Начиная с процессора i80486DX все Intel-совместимые микропроцессоры имеют встроенный блок операций с плавающей точкой.
- Кэш-память (Cash) — быстродействующая память сравнительно небольшой ёмкости, предназначенная для ускорения обращения процессора к оперативной памяти. В кэш-память помещаются данные и команды, которые в данный момент требуются процессору, а также те, к которым возможно обращение в ближайшем будущем. В кэш-памяти хранятся команды и данные, используемые микропроцессором в текущий момент времени. Обращения к кэш-памяти производятся значительно быстрее, чем к ОЗУ и тем более к ПЗУ. В современных ПК на микропроцессорах типа Pentium Pro, Pentium II, Celeron, Pentium III, Pentium IV, AMD Duron, Athlon кэш-память-размещена в одном корпусе с ядром процессора, в более старых компьютерах — на системной плате.
При записи данных сначала заполняется кэш, а затем информация переносится в ОЗУ. Вся работа с кэш-памятью производится автоматически блоком управления памятью независимо от выполняющейся программы, то есть «прозрачно». Имеется два уровня кэш-памяти: первый (level-1, L1) и второй (level-2, L2).
Кэш 1-го уровня расположен на кристалле процессора и служит промежуточным буфером для данных и команд между регистрами процессора и кэшем 2-го уровня. Кэш-память 2-го уровня располагалась в процессорах прежних разработок (до Pentium Pro и Pentium II) на системной плате, а в современных процессорах непосредственно на его кристалле (что значительно увеличивает быстродействие). Объем кэш-памяти L1 обычно 16-32 кбайт, L2 в десятки раз больше, но несколько медленнее 128-512 кбайт (в самых производительных процессорах до 2 Мбайт). Объём и быстродействие кэш-памяти очень сильно влияет на производительность процессора и являются наряду с тактовой частотой его основной характеристикой.
- Различные расширения процессора используются для быстрого выполнения операций со специфическими данными. Например, набор дополнительных команд ММХ (и дальнейшее его расширение SIMD в Pentium II и более новых процессорах) позволяет одной командой обрабатывать сразу несколько байт данных (например, сложение нескольких пар значений с ограничением по величине сверху или вычисление скалярного произведения векторов).
Такие операции часто возникают при обработке звуковой и графической информации (в совокупности называемой мультимедийной). Другое популярное расширение 3D Now! (в процессорах AMD) обеспечивает высокопроизводительную обработку трехмерной графики. Следует, однако, учесть, что преимущества в производительности можно получить, только используя специально разработанное для этого расширения программное обеспечение (в основном игры). В противном случае дополнительные функции процессора использоваться не будут.
Памятью ЭВМ называется устройство для хранения информации, представленной в цифровом коде. Информация в памяти может быть изменена и прочитана процессором и некоторыми периферийными устройствами.
Перейдем теперь к описанию основных характеристик внутренней памяти компьютера. В составе памяти компьютера различают внутреннюю (основную) память и внешнюю память. Можно выделить также собственную память процессора (регистры памяти процессора).
Память первых ЭВМ была реализована на электронных лампах, магнитных (ферритовых) кольцах, магнитных барабанах, магнитных лентах и даже электронно-лучевых трубках. Затем на смену электронным лампам пришли транзисторы, а потом микромодули и микросхемы. Внешняя память ЭВМ первых поколений представляла собой накопители на перфокартах и перфолентах — затем на магнитных лентах и магнитных дисках большого диаметра. В настоящее время внутренняя память представляет собой большие интегральные микросхемы (БИС), а внешняя — компактные накопители на магнитных и оптических дисках, картриджах с магнитной лентой.
Оперативная постоянная (ОЗУ), информацию в которой можно постоянно изменять, и которая стирается при выключении компьютера; и постоянная (ПЗУ), информация в которой записывается изготовителем ЭВМ, сохраняется в выключенном состоянии, но её невозможно (либо трудоёмко) изменять в процессе эксплуатации. Объём ОЗУ современных персональных компьютеров составляет от нескольких сотен мегабайт (128-512).
Постоянная память (ПЗУ) содержит программы, автоматически выполняемые при включении компьютера и обеспечивающие его начальную загрузку, настройку конфигурации, самотестирование и запуск операционной системы. Располагается ПЗУ в микросхеме Flash-памяти на системной плате.
Внутренняя память обладает очень высоким быстродействием по сравнению с другими видами памяти, но гораздо медленнее регистров микропроцессора, поэтому для повышения производительности компьютера между процессором и ОЗУ ставят быстродействующую Cash-память небольшого объема (до 2 Мбайт).
В современных компьютерах используется энергонезависимая Flash-память (флэш), сочетающая достоинства и ОЗУ и ПЗУ. Информация во флэш-памяти сохраняется при выключении питания, но допускает перезапись. Недостатками модулей флэш-памяти являются меньшее быстродействие по сравнению с ОЗУ, небольшой объём и сравнительно высокая стоимость, а также возможность некоторым вирусам разрушать содержимое ПЗУ. Флэш-память в настоящее время часто применяется в качестве перезаписываемого ПЗУ. Также большое распространение флэш-память получила в сменных устройствах хранения информации небольшой ёмкости — флэш-картах .
Конструктивно, внутренняя память представляет собой микросхему (чаше несколько микросхем). Каковы бы ни были физические принципы работы элементов внутренней памяти и технические особенности конструкции — а на различных этапах развития вычислительной техники они были разными равное в том, что элемент памяти может находиться в двух устойчивых состояниях, т.е. хранить либо 0, либо 1. При этом его состояние может быть легко изменено в результате внешнего воздействия (поступившего сигнала).
Главным достоинством внутренней памяти является быстрый доступ к хранимой информации за счет быстрого поиска и быстрого обмена сигналами с процессором. Это достигается не только за счет технического совершенства элементов памяти, но и за счет особенностей ее структурной организации.
В соответствии с принципами архитектуры фон Неймана память обладает двумя свойствами: дискретностью и адресуемостью.
Дискретность означает, что память состоит из отдельных частиц, наименьшей из которых является 1 бит — участок памяти для хранения одного двоичного разряда (двоичной цифры). Биты объединены в группы, каждая из которых обрабатывается как единое целое. Такая группа называется байт. Один или несколько байт образуют ячейку памяти.
Байты внутренней памяти. Байты внутренней памяти пронумерованы, нумерация начинается с нуля. Номер байта называется его адресом. Такое свойство, памяти называется адресуемостью и способствует, быстрому поиску, информации. Его можно сформулировать так:
вся память разбита на ячейки, и каждой ячейке присвоен адрес.
В качестве адреса ячейки берется адрес младшего байта (байта с наименьшим адресом, входящего в состав ячейки). Именно по адресу процессор находит нужную для обработки информацию при обращении к внутренней памяти.
Содержимое ячейки доступно для обработки одной командой и называется машинное слово. Длина машинного слова может быть различной, т.к. биты группируются в более крупные блоки информации.
Первоначально она составляла 8 бит (1байт). Тогда термины «ячейка», «байт», «слово» имели примерно одинаковый смысл. В современных компьютерах длина машинного слова составляет 2 байта (16 бит), т.е. удвоенное слово, и даже 4 байта (32 бита) — учетверенное слово. Таким образом, адреса ячеек изменяются, начиная с нуля, через 1, 2 или 4 (в зависимости от длины машинного слова).
От процессора к памяти и обратно информация передается целыми машинными словами. Именно между pегистрами собственной памяти процессора и ячейками внутренней памяти и происходит обмен информацией.
Важной характеристикой памяти является время доступа, или быстродействие памяти. Этот параметр определяется временем выполнения операций записи или считывания данных; он зависит от принципа действия и технологии изготовления запоминающих элементов.
Оставляя в стороне целый ряд других технологических характеристик современных запоминающих устройств, нельзя тем не менее пройти мимо статического и динамического устройств микросхем памяти.
Статическая ячейка памяти — это специальная полупроводниковая схема (инженеры называют ее триггером), обладающая двумя устойчивыми состояниями. Одно из них принимается за логический ноль, а другое — за единицу. Состояния эти действительно настолько устойчивы, что при отсутствии внешних воздействий (и, конечно, подключенном напряжении питания!) могут сохраняться сколь угодно долго.
Динамические ячейки памяти, напротив, не обладают этим свойством. Такие ячейки фактически представляют собой конденсатор, образованный элементами полупроводниковых микросхем. С некоторым упрощением можно сказать, что логической единице соответствует заряженный конденсатор, а нулю — незаряженный. Существенным свойством динамической ячейки памяти является наличие постепенного самопроизвольного разряда конденсатора через внешние схемы, что ведет к потере информации. Чтобы этого не происходило, конденсаторы динамической памяти необходимо периодически подзаряжать (такой процесс принято называть регенерацией ОЗУ).
Оба вида запоминающих микросхем успешно конкурируют между собой, поскольку ни одна из них не является идеальной. С одной стороны, статическая память значительно проще в эксплуатации, так как не требует регенерации и приближается по быстродействию к процессорным микросхемам.
С другой стороны, она имеет меньший информационный объем и большую стоимость (в самом деле, изготовление конденсатора значительно проще изготовления триггерной схемы, кроме того, конденсатор требует на кремниевой пластине гораздо меньше места), сильнее нагревается при работе. На практике в данный момент выбор микросхем для построения ОЗУ всегда решается в пользу динамической памяти. И все же быстродействующая статическая память в современном компьютере тоже обязательно есть. Она называется кэш-памятью.
Этот вид памяти заслуживает отдельного рассмотрения. Он появился относительно недавно, но, начиная с 486-го процессора, без кэш-памяти не обходится ни одна модель.
Название «кэш» происходит от английского слова cache, которое означает тайник или замаскированный склад (в частности, этим словом называют провиант, оставленный экспедицией для обратного пути, или запас продуктов, например, зерна или меда, который животные создают на зиму). «Секретность» кэша заключается в том, что он невидим для пользователя и данные, хранящиеся там, недоступны для прикладного программного обеспечения. Процессор использует кэш, помещая туда извлеченные им из ОЗУ данные и команды программы и запоминая при этом в специальном каталоге адреса, откуда информация была извлечена. Если эти данные потребуются повторно, то уже не надо будет терять времени на обращение к ОЗУ — их можно получить из кэш-памяти значительно быстрее. Поскольку объем кэша существенно меньше объема оперативной памяти, его контроллер (управляющая схема) тщательно следит за тем, какие данные следует сохранять в кэше, а какие заменять: удаляется та информации которая пользуетося реже или совсем не используется. Следует заметить, что кэш-память является очень эффективным средством повышения производительности компьютера, в чем легко убедиться на практике, если в вашем компьютере предусмотрена возможность отключения кэша.
В современных компьютерах кэш обычно строится по двухуровневой схеме. При этом первичный кэш встроен непосредственно внутрь процессора, а вторичный обычно устанавливается на системной плате. Как и для ОЗУ, увеличение объема кэша повышает эффективность работы компьютерной системы.
Источник: studfile.net
Цикл выполнения команды
Программа состоит из машинных команд. Программа загружается в оперативную память компьютера. Затем программа начинает выполняться, то есть процессор выполняет машинные команды в той последовательности, в какой они записаны в программе.
Для того чтобы процессор знал, какую команду нужно выполнять в определённый момент, существует счётчик команд – специальный регистр, в котором хранится адрес команды, которая должна быть выполнена после выполнения текущей команды. То есть при запуске программы в этом регистре хранится адрес первой команды. В процессорах Intel в качестве счётчика команд (его ещё называют указатель команды) используется регистр EIP (или IP в 16-разрядных программах).
Счётчик команд работает со сверхоперативной памятью, которая находится внутри процессора. Эта память носит название очередь команд, куда помещается одна или несколько команд непосредственно перед их выполнением. То есть в счётчике команд хранится адрес команды в очереди команд, а не адрес оперативной памяти.
- Выборка команды. Блок управления извлекает команду из памяти (из очереди команд), копирует её во внутреннюю память процессора и увеличивает значение счётчика команд на длину этой команды (разные команды могут иметь разный размер).
- Декодирование команды. Блок управления определяет тип выполняемой команды, пересылает указанные в ней операнды в АЛУ и генерирует электрические сигналы управления АЛУ, которые соответствуют типу выполняемой операции.
- Выборка операндов. Если в команде используется операнд, расположенный в оперативной памяти, то блок управления начинает операцию по его выборке из памяти.
- Выполнение команды. АЛУ выполняет указанную в команде операцию, сохраняет полученный результат в заданном месте и обновляет состояние флагов, по значению которых программа может судить о результате выполнения команды.
- Запись результата в память. Если результат выполнения команды должен быть сохранён в памяти, блок управления начинает операцию сохранения данных в памяти.
- Выбрать из очереди команд команду, на которую указывает счётчик команд.
- Определить адрес следующей команды в очереди команд и записать адрес следующей команды в счётчик команд.
- Декодировать команду.
- Если в команде есть операнды, находящиеся в памяти, то выбрать операнды.
- Выполнить команду и установить флаги.
- Записать результат в память (по необходимости).
- Начать выполнение следующей команды с п.1.
Источник: av-assembler.ru