В чем состоит выполнение программ центральным процессором
Центральный процессор (ЦП) - функционально-законченное программно-управляемое устройство выполненное на одной или нескольких СБИС, предназначенное для выполнения арифметической и логической обработки информации программного управления работой устройств. В современных персональных компьютерах разных фирм применяются процессоры двух основных архитектур:
полная система команд переменной длины - Complex Instruction Set Computer (CISC);
сокращенный набор команд фиксированной длины - Reduced Instruction Set Computer (RISC).
Процессор разрешает выполнять программный код, находящийся в памяти и руководит работой всех устройств компьютера. Скорость его работы определяет быстродействие компьютера. Конструктивно, процессор - это кристалл кремния очень маленьких размеров. Процессор имеет специальные ячейки, которые называются регистрами. Именно в регистрах помещаются команды, которые выполняются процессором, а также данные, которыми оперируют команды. Работа процессора состоит в выборе из памяти в определенной последовательности команд и данных и их выполнении. На этом и базируется выполнение программ.
В ПК обязательно должен присутствовать центральный процессор (Central Rpocessing Unit - CPU), который выполняет все основные операции. Часто ПК оснащен дополнительными сопроцессорами, ориентированными на эффективное выполнение специфических функций, такие как, математический сопроцессор для обработки числовых данных в формате с плавающей точкой, графический сопроцессор для обработки графических изображений, сопроцессор ввода/вывода для выполнения операции взаимодействия с периферийными устройствами.
Основными параметрами процессоров являются:
· коэффициент внутреннего умножения тактовой частоты,
· размер кэш памяти.
Тактовая частота определяет количество элементарных операций (тактов), выполняемые процессором за единицу времени. Тактовая частота современных процессоров измеряется в МГц (1 Гц соответствует выполнению одной операции за одну секунду, 1 МГц=10 6 Гц). Чем больше тактовая частота, тем больше команд может выполнить процессор, и тем больше его производительность. Первые процессоры, которые использовались в ПК работали на частоте 4,77 МГц, сегодня рабочие частоты современных процессоров достигают отметки в 2 ГГц (1 ГГц=10 3 МГц).
Разрядность процессора показывает, сколько бит данных он может принять и обработать в своих регистрах за один такт. Разрядность процессора определяется разрядностью командной шины, то есть количеством проводников в шине, по которой передаются команды. Современные процессоры семейства Intel являются 32-разрядными.
Рабочее напряжение процессора обеспечивается материнской платой, поэтому разным маркам процессоров отвечают разные материнские платы. Рабочее напряжение процессоров не превышает 3 В. Снижение рабочего напряжения разрешает уменьшить размеры процессоров, а также уменьшить тепловыделение в процессоре, что разрешает увеличить его производительность без угрозы перегрева.
Коэффициент внутреннего умножения тактовой частоты - это коэффициент, на который следует умножить тактовую частоту материнской платы, для достижения частоты процессора. Тактовые сигналы процессор получает от материнской платы, которая из чисто физических причин не может работать на таких высоких частотах, как процессор. Для получения более высоких частот в процессоре происходит внутреннее умножение на коэффициент 4, 4.5, 5 и больше.
В процессе работы процессор обрабатывает данные, находящиеся в его регистрах, оперативной памяти и внешних портах процессора. Часть данных интерпретируется как собственно данные, часть данных - как адресные данные, а часть - как команды. Совокупность разнообразных команд, которые может выполнить процессор над данными, образовывает систему команд процессора. Чем больше набор команд процессора, тем сложнее его архитектура, тем длиннее запись команд в байтах и тем дольше средняя продолжительность выполнения команд.
Весь ряд процессоров фирмы Intel, устанавливаемых в персональные компьютеры IBM, имеют архитектуру CISC, а процессоры Motorola, используемые фирмой Apple для своих персональных компьютеров, имеют архитектуру RISC. Обе архитектуры имеют свои преимущества и недостатки. Так CISC-процессоры имеют обширный набор команд (до 400), из которых программист может выбрать команду, наиболее подходящую ему в данном случае. Недостатком этой архитектуры является то, что большой набор команд усложняет внутреннее устройство управления процессором, увеличивает время исполнения команды на микропрограммном уровне. Команды имеют различную длину и время исполнения.
RISC-архитектура имеет ограниченный набор команд и каждая команда выполняется за один такт работы процессора. Небольшое число команд упрощает устройство управления процессора. К недостаткам RISC-архитектуры можно отнести то, что если требуемой команды в наборе нет, программист вынужден реализовать ее с помощью нескольких команд из имеющегося набора, увеличивая размер программного кода.
Упрощенная схема процессора, отражающая основные особенности архитектуры микроуровня, приведена на рис. 5. Наиболее сложным функциональным устройством процессора является устройство управления выполнением команд. Оно содержит:
· буфер команд, который хранит одну или несколько очередных команд программы; читает следующие команды из запоминающего устройства, пока выполняется очередная команда, уменьшая время ее выборки из памяти;
· дешифратор команд расшифровывает код операции очередной команды и преобразует его в адрес начала микропрограммы, которая реализует исполнение команды;
Рис. 5. Архитектура процессора
· управление выборкой очередной микрокоманды представляет собой небольшой процессор, работающий по принципу фон Неймана, имеет свой счетчик микрокоманд, который автоматически выбирает очередную микрокоманду из ПЗУ микрокоманд;
· постоянное запоминающее устройство (ПЗУ) микрокоманд - это запоминающее устройство, в которое информация записывается однократно и затем может только считываться; отличительной особенностью ПЗУ является то, что записанная в него информация сохраняется сколь угодно долго и не требует постоянного питающего напряжения.
Поступивший от дешифратора команд адрес записывается в счетчик микрокоманд устройства выборки, и начинается процесс обработки последовательности микрокоманд. Каждый разряд микрокоманды связан с одним управляющим входом какого-либо функционального устройства. Так, например, управляющие входы регистра хранения «Сброс», «Запись», «Чтение» соединены с соответствующими разрядами микрокоманды. Общее число разрядов микрокоманды может составлять от нескольких сотен до нескольких тысяч и равно общему числу управляющих входов всех функциональных устройств процессора. Часть разрядов микрокоманды подается на устройство управления выборкой очередной микрокоманды и используется для организации условных переходов и циклов, так как алгоритмы обработки команд могут быть достаточно сложными.
Выборка очередной микрокоманды осуществляется через определенный интервал времени, который, в свою очередь, зависит от времени выполнения предыдущей микрокоманды. Частота, с которой осуществляется выборка микрокоманд, называется тактовой частотой процессора. Тактовая частота является важной характеристикой процессора, так как определяет скорость выполнения процессором команд, и, в конечном итоге, быстродействие процессора. Другими словами тактовая частота показывает количество элементарных операций, выполняемых центральным процессором в секунду. Под элементарной операцией понимается любая простейшая операция типа сложения, пересылки, сравнения и т.д.
Арифметико-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций преобразования информации. Функционально АЛУ состоит из нескольких специальных регистров, полноразрядного сумматора и схем местного управления.
Регистры общего назначения (РОН) используются для временного хранения операндов исполняемой команды и результатов вычислений, а также хранят адреса ячеек памяти или портов ввода-вывода для команд, обращающихся к памяти и внешним устройствам. Необходимо отметить, что если операнды команды хранятся в РОН, то время выполнения команды значительно сокращается. Одна из причин, почему программисты иногда обращаются к программированию на языке машинных команд, это наиболее полное использование РОН для получения максимального быстродействия при выполнении программ, критичных по времени.
Основными параметрами процессоров являются: рабочее напряжение, разрядность, рабочая тактовая частота, коэффициент внутреннего умножения тактовой частоты и размер кэш-памяти.
Рабочее напряжение процессора обеспечивает материнская плата, поэтому разным маркам процессоров соответствуют разные материнские платы (их надо выбирать совместно). Ранние модели процессоров x86 имели рабочее напряжение 5 В. С переходом к процессорам Intel Pentium оно понижено до 3,3 В, а в настоящее время составляет менее 3 В. Сверху микропроцессора всегда устанавливают вентилятор (куллер) для его охлаждения во время работы.
Разрядность процессора показывает, сколько бит данных он может принять и обработать в своих регистрах за одни раз (за одни такт) и определяется разрядностью этих регистров. Первые процессоры x86 были 16-разрядными. Начиная с процессора 80386, они имеют 32-разрядную архитектуру. Современные процессоры семейства Intel Pentium остаются 32 разрядными, хотя и работают с 64 разрядной шиной данных.
Обмен данными внутри процессора происходит в несколько раз быстрее, чем обмен с другими устройствами, например, с оперативной памятью. Для того чтобы уменьшить количество обращений к оперативной памяти, внутри процессора создают буферную область - так называемую кэш-память. Это как бы «сверхоперативная память». Когда процессору нужны данные, он сначала обращается в кэш-память, и только если там нужных данных нет, происходит его обращение в оперативную память. Принимая блок данных из оперативной памяти, процессор заносит его одновременно и в кэш-память. Высокопроизводительные процессоры имеют повышенный объем кэш-памяти.
Рассмотрим аппаратную архитектуру физической памяти и организацию управления ею на примере последних поколений процессоров Intel Pentium. Для управления памятью в процессор включен специальный модуль управления памятью, или, иначе, контроллер памяти (Memory Controller). В этом контексте схема обмена данными в компьютерной системе может быть представлена так, как показано на рис. 6. Данная схема отображает обмен данными в компьютерной системе, в которой используется процессор Intel Pentium 4. Все операции по обмену данными с устройствами со стороны процессора выполняет контроллер памяти.
Количество памяти, которая может быть использована программой, ограничено максимальным размером адресного пространства процессора. У процессора Intel Pentium 4, например, максимальное адресное пространство, включая физическую (оперативную) и виртуальную память, может достигать 64 Гбайт.
Процессор Intel Pentium 4 имеет два кэша данных, которые называются кэшем 1-го уровня (L1 Cache) и кэшем 2-го уровня (L2 Cache). Для серверных платформ разработаны модификации процессора, содержащие и кэш 3-го уровня, реализуется на отдельных быстродействующих микросхемах с расположением на материнской плате и имеют объем один и более Мб. Отметим важное обстоятельство - процессоры Intel Pentium 4 имеют также и кэш команд 1-го уровня (он называется Trace Cache), специфика работы которого отличается от особенностей работы кэшей данных.
Кэш 1-го уровня имеет очень маленький размер (8 Кбайт), но обладает очень высокой скоростью выборки данных, уступая только процессору. Конструктивно располагается на одном кристалле с процессором. Кэш 2-го уровня называют иногда универсальным кэшем, поскольку в нем могут находиться как данные, так и команды. Кэш 2-го уровня имеет размер 256 Кбайт и работает в 3 раза медленнее, чем кэш 1-го уровня. Размещается на отдельном кристалле, но в границах процессора.
При обмене данными с оперативной памятью ключевую для эффективной работы программы роль играет кэш 1-го уровня, поскольку практически все данные работающего приложения проходят через него и через буферы записи (write buffers).
CPU и GPU — это процессоры. Между ними есть много общего, однако сконструированы они были для выполнения разных задач. В чём конкретно выражается разница между CPU и GPU, вы узнаете из этой статьи.
Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.
Что такое CPU
CPU — это центральный процессор (англ. central processing unit).
Основная функция — выполнение цепочки инструкций за максимально короткое время.
CPU спроектирован таким образом, чтобы выполнять несколько цепочек одновременно или разбивать один поток инструкций на несколько и, после выполнения их по отдельности, сливать их снова в одну, в правильном порядке. Каждая инструкция в потоке зависит от следующих за ней. Именно поэтому в CPU так мало исполнительных блоков, а весь упор делается на скорость выполнения и уменьшение простоев, что достигается при помощи кэш-памяти и конвейера.
Если вы хотите знать не только что такое CPU, но и как работает процессор, то прочтите эту статью.
Что такое GPU
GPU — это графический процессор (англ. graphics processing unit).
Основная функция — рендеринг 3D-графики и визуальных эффектов.
GPU получает на вход полигоны, а после проведения над ними необходимых математических и логических операций выдаёт координаты пикселей. По сути, работа GPU сводится к оперированию над огромным количеством независимых между собой задач. Поэтому он содержит огромное количество исполнительных блоков — в современных GPU их 2048 и более.
Отличие CPU от GPU
С понятиями разобрались, теперь посмотрим, в чём отличие CPU от GPU.
- Доступ к памяти. В GPU он связанный и легко предсказуемый — если из памяти читается элемент текстуры, то через некоторое время настанет очередь и соседних текселов. С записью ситуация аналогичная.
- Размер кэш-памяти. Графическому процессору, в отличие от универсальных процессоров, не нужна кэш-память большого размера. Для текстур требуются лишь 128–256 килобайт.
- Поддержка многопоточности. Центральный процессор исполняет 1–2 потока вычислений на одно ядро, а графический процессор может поддерживать несколько тысяч потоков на каждый мультипроцессор, которых в чипе несколько штук. И если переключение с одного потока на другой для CPU стоит сотни тактов, то GPU переключает несколько потоков за один такт.
- Архитектура. В CPU большая часть площади чипа занята под буферы команд, аппаратное предсказание ветвления и огромные объемы кэш-памяти, а в GPU большая часть площади занята исполнительными блоками.
Схематичное представление CPU и GPU
Почему для майнинга используется GPU, а не CPU
Если CPU принимает решения в соответствии с указаниями программы, то GPU — производит огромное количество однотипных вычислений. Выходит, что если подавать на графический процессор независимые простейшие математические задачи, то он справится значительно быстрее, чем центральный процессор. Этим успешно пользуются майнеры биткоинов.
Суть майнинга заключается в том, что компьютеры решают математические задачи, в результате которых создаются биткоины. Все биткоин-переводы по цепочке передаются майнерам, чья работа состоит в том, чтобы подобрать из миллионов комбинаций один-единственный хэш, подходящий ко всем новым транзакциям и секретному ключу, который и обеспечит майнеру получение награды. Скорость вычисления напрямую зависит от количества исполнительных блоков. Поэтому GPU больше подходят для выполнения данного типа задачи, нежели CPU. Чем больше количество произведенных вычислений, тем выше шанс получить биткоины.
Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.
Компьютер тоже можно назвать машиной, только вместо паровой силы здесь электричество. Но программирование сделало компьютер таким же простым, как любой инструмент.
Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.
Два основных компонента процессора
Устройство управления
Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.
Существует два типа реализации УУ:
- УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
- УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.
УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.
Арифметико-логическое устройство
Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.
Большинство логических элементов имеют два входа и один выход.
Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).
Схема арифметического полусумматора
Хранение информации — регистры и память
Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.
Регистры
Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.
Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.
По функциональному назначению триггеры делятся на несколько групп:
- RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
- JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
- T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
- D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.
Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.
Принцип действия RS-триггера
Память (ОЗУ)
ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.
Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.
Команды (инструкции)
Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:
- Арифметические: сложение, вычитание, умножение и т. д.
- Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
- Информационные: move , input , outptut , load и store .
- Команды перехода: goto , if . goto , call и return .
- Команда останова: halt .
Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.
Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.
В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.
Группу инструкций принято называть набором команд (англ. instruction set).
Тактирование процессора
Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.
Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.
Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.
Выполнение инструкций
Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.
Ниже рассмотрен пример набора команд, который суммирует два числа:
- LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
- LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
- ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
- STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .
Вот такие операции нужны, чтобы сложить два числа.
Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.
У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.
Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).
Поток инструкций
Современные процессоры могут параллельно обрабатывать несколько команд. Пока одна инструкция находится в стадии декодирования, процессор может успеть получить другую инструкцию.
Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.
Если процессор многоядерный, это означает, что фактически в нём находятся несколько отдельных процессоров с некоторыми общими ресурсами, например кэшем.
Центральный процессор - это центральное устройство компьютера, которое выполняет операции по обработке данных и управляет периферийными устройствами компьютера. У компьютеров четвёртого поколения и старше функции центрального процессора выполняет микропроцессор на основе СБИС, содержащей несколько миллионов элементов, конструктивно созданный на полупроводниковом кристалле путём применения сложной микроэлектронной технологии.
На самом деле то, что мы сегодня называем процессором, правильно называть микропроцессором. Разница есть и определяется видом устройства и его историческим развитием.
Первый процессор (Intel 4004) появился в 1971 году.
Внешне представляет собой кремневую пластинку с миллионами и миллиардами (на сегодняшний день) транзисторов и каналов для прохождения сигналов.
Назначение процессора – это автоматическое выполнение программы. Другими словами, он является основным компонентом любого компьютера.
В состав центрального процессора входят:
- устройство управления (УУ);
- арифметико-логическое устройство (АЛУ);
- запоминающее устройство (ЗУ) на основе регистров процессорной памяти и кэш-памяти процессора;
- генератор тактовой частоты (ГТЧ).
Устройство управления организует процесс выполнения программ и координирует взаимодействие всех устройств ЭВМ во время её работы.
Арифметико-логическое устройство выполняет арифметические и логические операции над данными: сложение, вычитание, умножение, деление, сравнение и др.
Запоминающее устройство - это внутренняя память процессора. Регистры служит промежуточной быстрой памятью, используя которые, процессор выполняет расчёты и сохраняет промежуточные результаты. Для ускорения работы с оперативной памятью используется кэш-память, в которую с опережением подкачиваются команды и данные из оперативной памяти, необходимые процессору для последующих операций.
Генератор тактовой частоты генерирует электрические импульсы, синхронизирующие работу всех узлов компьютера. В ритме ГТЧ работает центральный процессор.
К основным характеристикам процессора относится Быстродействие (вычислительная мощность) – это среднее число операций процессора в секунду. Измеряется в количестве операций над числами с плавающей точкой в секунду (FLOPS). Быстродействие зависит от следующих параметров:
Тактовая частота в МГц. ТЧ. равна количеству тактов в секунду. Такт - это промежуток времени между началом подачи текущего импульса ГТЧ и началом подачи следующего.
Разрядность процессора - это максимальное количество бит информации, которые могут обрабатываться и передаваться процессором одновременно. Разрядность процессора определяется разрядностью регистров, в которые помещаются обрабатываемые данные.
Система команд процессора представляет собой набор отдельных операций, которые может выполнить процессор данного типа. Разные модели микропроцессоров выполняют одни и те же операции за разное число тактов. Чем выше модель микропроцессора, тем, как правило, меньше тактов требуется для выполнения одних и тех же операций.
Размер кэш-памяти
Подсистема памяти
Оперативная память.
Другим важным функциональным узлом компьютера является запоминающее устройство, или память. Память, в которой хранятся исполняемые программы и данные, называется оперативным запоминающим устройством (ОЗУ) или RAM (RandomAccessMemory) — памятью со свободным доступом. ОЗУ позволяет записывать и считывать информацию из ячейки, обращаясь к ней по ее номеру или адресу. Ячейка памяти имеет стандартное число двоичных разрядов. В настоящее время стандартный размер ячейки ОЗУ равняется одному байту Информация в ОЗУ сохраняется все время, пока на схемы памяти подается питание, т.е она является энергозависимой.
Существует два вида ОЗУ, отличающиеся техническими характеристиками: динамическое ОЗУ, или DRAM (DynamicRAM), и статическое ОЗУ, или SRAM (StaticRAM). Разряд динамического ОЗУ построен на одном транзисторе и конденсаторе, наличие или отсутствие заряда на котором определяет значение, записанное в данном бите. При записи или чтении информации из такой ячейки требуется время для накопления (стекания) заряда на конденсаторе, Поэтому быстродействие динамического ОЗУ на порядок ниже, чем у статического ОЗУ, разряд которого представляет собой триггер на четырех или шести транзисторах. Однако из-за большего числа элементов на один разряд в одну СБИС статического ОЗУ помещается гораздо меньше элементов, чем у динамического ОЗУ. Кроме этого статические ОЗУ более энергоемки и значительно дороже. Обычно, в качестве оперативной или видеопамяти используется динамическое ОЗУ Статическое ОЗУ используется в качестве небольшой буферной сверхбыстродействующей памяти (кэш-памяти). В кэш-память из динамической памяти заносятся команды и данные, которые процессор будет выполнять в данный момент.
Скорость работы ОЗУ ниже, чем быстродействие процессора, поэтому применяются различные методы для повышения ее производительности. Одним из способов увеличения быстродействия динамического ОЗУ является размещение в одном корпусе микросхемы СБИС нескольких модулей памяти с чередованием адресов. Байт с нулевым адресом находится в первом модуле, байт с первым адресом во втором модуле, байт со вторым адресом в первом модуле и т.д. Поскольку обращение к памяти состоит из нескольких этапов: установка адреса, выбор ячейки, чтение, восстановление, то эти этапы можно совместить во времени для разных модулей. Другим способом увеличения быстродействия является чтение из памяти содержимого ячейки с заданным адресом и нескольких ячеек, расположенных рядом. Они сохраняются в специальных регистрах — защелках. Если следующий адрес указывает на одну из уже считанных ячеек, то ее содержимое читается из защелки.
Несмотря на разработку новых типов схем динамических ОЗУ, снижающую время обращения к ним, это время все еще остается значительным и сдерживает дальнейшее увеличение производительности процессора. Для уменьшения влияния времени обращения процессора к ОЗУ и увеличения производительности компьютера дополнительно устанавливается сверхбыстродействующая буферная память, выполненная на микросхемах статической памяти. Эта память называется кэш-памятью (от англ.cache — запас). Время обращения к данным в кэш-памяти на порядок ниже, чем у ОЗУ, и сравнимо со скоростью работы самого процессора.
Запись в кэш-память осуществляется параллельно с запросом процессора к ОЗУ. Данные, выбираемые процессором, одновременно копируются и в кэш-память. Если процессор повторно обратится к тем же данным, то они будут считаны уже из кэш-памяти. Такая же операция происходит и при записи процессором данных в память. Они записываются в кэш-память, а затем в интервалы, когда шина свободна, переписываются в ОЗУ. Современные процессоры имеют встроенную кэш-память, которая находится внутри процессора, кроме этого есть кэш-память и на системной плате. Чтобы их различать, кэш-память делится на уровни. На кристалле самого процессора находится кэш-память первого уровня, она имеет самый меньший объем и самую высокую скорость обмена данными. В корпусе процессора, но на отдельном кристалле находится кэш-память второго уровня, объем которой больше, чем у памяти первого уровня. И, наконец, кэш-память третьего уровня (самая большая по объему) расположена на системной плате.
Управление записью и считыванием данных в кэш-память выполняется автоматически. Когда кэш-память полностью заполняется, то для записи последующих данных устройство управления кэш-памяти по специальному алгоритму автоматически удаляет те данные, которые реже всего использовались процессором на текущий момент. Использование процессором кэш-памяти увеличивает производительность процессора, особенно в тех случаях, когда происходит последовательное преобразование относительно небольшого числа данных, которые постоянно во время преобразования хранятся в кэш-памяти.
Центральный процессор (ЦП; CPU – Central Processing Unit (центральный обрабатывающий модуль)) – центральный блок ЭВМ, управляющий работой всех компонентов ЭВМ и выполняющий операции над информацией. Операции производятся в регистрах, составляющих микропроцессорную память.
Основные функции ЦП:
- выполнение команд программы, расположенной в ОЗУ; команда состоит из кода, определяющего, что эта команда делает, и операндов, над которыми эта команда осуществляется;
- управление пересылкой информации между микропроцессорной памятью, ОЗУ и периферийными устройствами;
Основными параметрами МП являются тактовая частота, разрядность и рабочее напряжение.
Тактовая частота определяет количество элементарных операций (тактов), выполняемых МП за единицу времени. Тактовая частота современных МП измеряется в ГГц (1 Гц соответствует выполнению одной операции за одну секунду, 1 ГГц = 109 Гц). Чем больше тактовая частота, тем больше команд может выполнить МП, и тем больше его производительность. Первые МП, использовавшиеся в персональных компьютерах, работали на частоте 4,77 МГц (1 МГц = 106 Гц). В настоящее время рабочие частоты современных МП превосходят 2 ГГц (2011 г.).
Разрядность процессора показывает, сколько бит данных МП может принять и обработать в своих регистрах за один такт. Разрядность процессора определяется разрядностью внутренней шины, то есть количеством проводников в шине, по которым передаются команды. Современные МП семейства Intel имеют 64 разряда.
Рабочее напряжение процессора обеспечивается материнской платой, поэтому разным маркам процессоров соответствуют разные материнские платы. Рабочее напряжение процессоров не превышает 3 В. Снижение рабочего напряжения позволяет уменьшить размеры МП, а также уменьшить тепловыделение в МП, что повышает его производительность без угрозы перегрева.
- управление компонентами ЭВМ.
АЛУ – арифметико-логическое устройство - выполняет все арифметические (сложение, вычитание, умножение, деление) и логические (конъюнкция, дизъюнкция и др.) операции над целыми двоичными числами и символьной информацией.
ДБ – другие блоки (математический сопроцессор, модуль предсказания ветвлений);
ИМП – интерфейс микропроцессора - предназначен для связи и согласования МП с системной шиной ЭВМ. Принятые команды и данные временно помещаются в кэш-память второго уровня. Размер кэш-памяти второго уровня – 256-2048 Кбайт.
УС – устройство синхронизации - определяет дискретные интервалы времени – такты работы МП между выборками очередной команды. Частота, с которой осуществляется выборка команд, называется тактовой частотой.
УУ – устройство управления - выполняет команды, поступающие в МП в следующей последовательности:
1) выборка из регистра-счетчика адреса ячейки ОЗУ, где хранится очередная команда программы;
2) выборка из ячеек ОЗУ кода очередной команды и приема считанной команды в регистр команд;
3) расшифровка кода команды дешифратором команды (ДК);
4) формирование полных адресов операндов;
5) выборка операндов из ОЗУ или МПП и выполнение заданной команды обработки этих операндов;
6) запись результатов команды в память;
7) формирование адреса следующей команды программы.
Кэш L2 – кэш-память второго уровня - также находится внутри процессора. Информация, хранящаяся в ней, используется реже, чем информация, хранящаяся в кэш-памяти первого уровня, но зато по объёму памяти он больше.
МПП – микропроцессорная память - включает 14 основных двухбайтовых запоминающих регистров и множество (до 256) дополнительных регистров. Регистры – это быстродействующие ячейки памяти различного размера. Основные регистры можно разделить на 4 группы:
1. РОН - Регистры общего назначения: AX, BX, CX, DX. Можно работать с регистром целиком или отдельно с каждой его половинкой: регистром старшего (high) байта – AH, BH, и регистром младшего (low) байта – AL, BL, CL, DL. Например, структура регистра AX имеет вид
Структура регистра AX
Универсальные регистры имеют свое предназначение:
АХ – регистр-аккумулятор, с его помощью осуществляется ввод-вывод данных в МП, а при выполнении операций умножения и деления АХ используется для хранения первого числа, участвующего в операции (множимого, делимого) и результата операций (произведения, частного) после ее завершения;
ВХ часто используется для хранения адреса базы в сегменте данных и начального адреса поля памяти при работе с массивами;
СХ – регистр-счетчик, используется как счетчик числа повторений при циклических операциях;
DX – используется как расширение регистра-аккумулятора при работе с 32-разрядными числами и при выполнении операции умножения и деления.
2. СР - Сегментные регистры -используются для хранения начальных адресов полей памяти (сегментов), отведенных в программах для хранения команд кода (регистр CS), данных (DS), стека (SS), дополнительной области памяти данных при обмене между сегментами (ES).
3. РС - Регистры смещений IP, SP, ВР, SI, DI предназначены для хранения относительных адресов ячеек памяти внутри сегментов (смещений относительно начала сегментов).
4. РФ - Регистр флагов - FL содержит одноразрядные флаги, управляющие выполнением программы в ЭВМ. Флаги принимают значения 0 или 1. Значения флагов устанавливаются независимо друг от друга. Всего в регистре 9 флагов: 6 – статусные, отражающие результаты операций (флаги переноса, нуля, переполнения и др.); 3 – управляющие, определяющие режим выполнения программы (флаги пошагового выполнения программы, прерываний и направления обработки данных).
14. Взаимодействие основных устройств процессора при выполнении машинных команд (на примерах арифметических команд и команд управления).
Выполнение команды можно проследить по схеме:
Общая схема компьютера
Как пpавило, этот процесс разбивается на следующие этапы:
- из ячейки памяти, адрес которой хранится в счетчике команд, выбирается очередная команда; содержимое счетчика команд при этом увеличивается на длину команды;
- выбранная команда передается в устройство управления на регистр команд;
- устройство управления расшифровывает адресное поле команды;
- по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов;
- УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными;
- результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата;
- все предыдущие этапы повторяются до достижения команды “стоп”.
15. Принцип программного управления ЭВМ. Структура машинной команды. Адресность команд.
Принцип программного управления заключается в том, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды.
А так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти.
Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды “стоп”.
Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
Машинная команда представляет собой код, определяющий операцию вычислительной машины и данные, участвующие в операции. Команда должна содержать в явной или неявной форме информацию об адресе результата операции, и об адресе следующей команды.
Машинная операция – это действия машины по преобразованию информации, выполняемые под воздействием одной команды.
Программа – последовательность команд, отображающих все действия, необходимые для решения задачи по некоторому алгоритму.
Машинный такт – период тактовой частоты работы процессора.
Машинный цикл – количество машинных тактов, требуемых для выполнения одной команды.
По характеру выполняемых операций различают следующие основные группы команд:
· арифметические операции над числами с фиксированной или плавающей точкой;
· команды двоично-десятичной арифметики;
· логические (поразрядные) операции;
· управление работой центрального процессора.
Машинная команда состоит из операционной и адресной частей. Эти части могут состоять из нескольких полей. В общем виде машинная команда имеет следующую структуру:
Операционная часть содержит код, задающий вид операции (сложение, умножение, передача и т.д.).
Адресная часть содержит информацию об адресах операндов, результата операции и следующей команды.
Структура команды определяется составом, назначением и расположением полей в команде.
Формат команды – это структура команды с разметкой номеров разрядов, определяющих границы отдельных полей команды.
Читайте также: