На улице вечерело, плотно пообедав местным пастушком семья Обломинго отправилась на поиски ночлежного местечка. Такой расклад дел мало устраивал пса, полного энтузиазма и желающего обуздать секреты мироздания. Большой удачей для Обломинго оказался факт наличия в кармане у пастушка брошюрки с кратким описанием аппаратного устройства электронно-вычислительной машины по типу персонального компьютера. Теперь наш герой может попробовать разобраться с основными компонентами.
Процессор
Центральный процессор (CPU) — это специальная микросхема, по сути являющаяся мозгом компьютера, который выполняет операции по обработке информации.
Создание современных высокопроизводительных компьютеров стало возможным благодаря достаточно длительному пути развития технологий. Этот путь лежит через применение электромеханических реле к изобретению такого сложного радиоэлектронного компонента, как транзистор.
Транзисторы, как и реле, позволяют, при их последовательном соединении, создавать различные логические элементы (вентили), которые, в свою очередь, составляют основу арифметико-логического устройства (АЛУ). АЛУ представляет собой один из ключевых элементов процессора, который умеет выполнять различных математические операции с числами (вся жизнь процессора - это работа с числами). Подобно конвейеру на фабрике собачьего корма АЛУ принимает входные данные, совершает над ними какие либо операции и выдает результат. Однако, чтобы результат не исчез бесследно, его следует запомнить. В процессорах механизм запоминания результатов вычислений реализован с помощью микроскопических устройств (также состоящих из транзисторов). Такие устройства называются регистрами. Соединительный канал, соединяющий АЛУ и регистры называется шиной, а комбинация АЛУ и регистра формирует так называемый тракт данных, который в свою очередь ложится в основу фон Неймановской архитектуры процессоров.
Ещё один важный компонент любого процесса это блок управления, как ни странно, состоящий также из регистров. Одним из самых главных регистров в блоке управления является счетчик команд. Этот регистр принимает информацию о местонахождении в памяти текущей команды непосредственно из оперативной памяти и указывает на следующую команду в адресном пространстве оперативной памяти, тем самым позволяя выполнять различные программы. Под командами понимаются определенные инструкции для процессора, которые определяют, какую операцию должно выполнить АЛУ.
Ещё один вид памяти, который можно найти на процессоре - это кэш память. Кэш-память процессора является одной из самых быстро работающих (после регистров) видов энергозависимой памяти. Кэш хранит небольшие копии фрагментов данных из оперативной памяти (при частом обращении к какому либо участку памяти) и служит для экономии времени, которое лишний раз тратится на обращение к оперативной памяти.
Делим жилплощадь
Взглянув на процессор невооруженным глазом Обломинго вряд ли увидит хотя бы один транзистор, в прочем собаки не отличаются остротой зрения. Дело в том, что транзисторы, буквально имеют микроскопические размеры. Количество транзисторов, расположенных на кремниевом кристалле процессора исчисляется сотнями миллионов, при этом количество транзисторов на прямую влияет на производительность процессора.
По этому поводу в 1965 на основе эмпирических наблюдений, одним из основателей компании Intel Гордоном Муром был выведен закон. Согласно формулировке этого закона количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца, при этом рост мощности вычислительного устройства имеет экспоненциальный характер.
Вопреки всему этот рост не может быть вечен, так как увеличение количества транзисторов на кристалле теоретически ограничено, как следствие атомарной природы вещества.
Life by the numbers...
Если говорить в целом, то основная задача процессора - это выполнение инструкций (машинных команд), которые располагаются в памяти. Сама по себе машинная команда представляет собой некоторое число, ассоциированное с каким либо определенным действием процессора. На протяжении всего времени, пока компьютер включен, процессор занимается выполнением инструкций, за исключением случаев, когда он переходит в особые состояния, например с целью экономии энергии (на портативных устройствах и не только). Кроме того, процессор умеет читать данные из памяти, а затем, после каких либо изменений (или без изменений), записывает обновленные данные обратно в память.
Набор команд процессора определяется микроархитектурой процессора, процессоры с различной микроархитектурой могут иметь как отличающиеся так и схожие наборы команд.
Исторически развитие технологий производства процессоров привело к созданию двух разных типов архитектур процессоров CISC и RISC архитектуры.
СISC (Complex Instruction Set Computer - компьютер с полным набором команд) - особенностью таких процессоров является использование команд с нефиксированным значением размера команды, арифметические операции кодируются в одной команде, процессоры с такой архитетурой имеют относительно небольшое число регистров, каждый из которых выполняет строго определенную функцию. Представителями CISС являются процессоры семейства х86 (например Intel).
RISC ( Reduced Instruction Set Computer - компьютер с сокращенным набором команд ) - особенностью таких процессоров является быстрое выполнение упрощенных команд, одинаковый размер команд, такие процессоры обладают низким энергопотреблением и тепловыделением. Представителями архитектуры RISC являются ARM процессоры, которые применяются в большинстве мобильных устройств, а также в некоторых серверных системах.
Современные процессоры представляют собой смесь CISC и RISC архитектур и вобрали в себя лучшие качества этих двух вариантов процессоров.
Без отрыва от производства
Способ организации вычислений, используемый в современных процессорах, называется вычислительным конвейером. Такая технология позволяет повысить скорость выполнения разных инструкций процессором. Так процессор способен параллельно выполнять сразу несколько инструкций. Для примера рассмотрим последовательность действий, выполняемых RISC - процессором:
- получение инструкции (Instruction Fetch - IF)
- декодирование инструкции (Insctruction Decode - ID)
- выполнение инструкции (Execute - EX)
- доступ к памяти (Memory access - MEM)
- запись в регистр (Register write back - WB)
Далее приводится структура пятиуровневого конвейера:
Вертикальная ось (i)— последовательные независимые инструкции, горизонтальная (t) — время. Зелёная колонка описывает состояние процессора в один момент времени, в ней самая ранняя, верхняя инструкция уже находится в состоянии записи в регистр, а самая последняя, нижняя инструкция — только в процессе чтения.
Работаем в такт
Организация работы компьютера, рассмотренная в предыдущем подразделе, была бы невозможной без четкого разграничения каждого этапа выполнения конвейера. Для синхронизации различных процессов предназначено особое устройство, которое называется генератор тактовой частоты. Это устройство генерирует электрические импульсы заданной частоты, измеряемой в герцах (Гц). Обработка одной инструкции может производиться за один или несколько тактов работы процессора (как в случае с конвейерной организацией), в зависимости от архитектуры и типа инструкции. Частота тактовых импульсов определяет скорость вычислений.
К сожалению часть брошюры, найденной Обломинго оказалось погрызенным другими динго и для того, чтобы разобраться с остальными деталями компьютерному псу потребуется время.
Подписывайся на канал, чтобы вместе с Динго погружаться в мир информатики и вычислительной техники. У нас бывает интересно!