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

Обновлено: 15.06.2024

Центральный процессор (ЦП) — это мозг компьютера, способный управлять и выполнять математические вычисления. В конечном счете, все, что делает компьютер, является математическим: сложение чисел, которое можно расширить до вычитания, умножения, деления и т. д.; выполнение логических операций; доступ к ячейкам памяти по адресу; и т. д. Процессоры оцениваются по количеству тактовых циклов в секунду. ЦП с частотой 4 ГГц выполняет четыре миллиарда тактовых циклов в секунду.

Арифметико-логическое устройство и блок управления

Арифметико-логическое устройство (ALU) выполняет математические вычисления; это часть, которая вычисляет. ALU получает инструкции от блока управления, который действует как регулировщик, отправляя инструкции в ALU.

Получить и выполнить

ЦП получает инструкции машинного языка (например, «добавить 1 + 1») и выполняет их (добавляет числа, чтобы получить ответ «2»). Процесс выборки и выполнения (также называемый циклом выборки-декодирования-выполнения или FDX) фактически состоит из четырех шагов:

Инструкция по извлечению 1

Инструкция декодирования 1

Выполнить инструкцию 1

Записать (сохранить) результат 1

Эти четыре шага выполняются за один такт.

Конвейерная обработка

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

Учитывая наш предыдущий пример сложения 1 + 1 с выборкой и выполнением, ЦП без конвейерной обработки должен был бы ждать целый цикл, прежде чем выполнить другое вычисление. Четырехэтапный конвейер может объединять этапы четырех других инструкций:

Инструкция по извлечению 1

Инструкция извлечения 2, инструкция декодирования 1

Выборка инструкции 3, декодирование инструкции 2, выполнение инструкции 1

Выборка инструкции 4, декодирование инструкции 3, выполнение инструкции 2, запись (сохранение) результата 1

Выборка инструкции 5, декодирование инструкции 4, выполнение инструкции 3, запись (сохранение) результата 2 и т. д.

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

Прерывания

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

Процессы и потоки

Процесс — это исполняемая программа и связанные с ней данные, загружаемые и работающие в памяти. Тяжеловесный процесс (HWP) также называется задачей. Родительский процесс может порождать дополнительные дочерние процессы, называемые потоками. Поток — это облегченный процесс (LWP). Потоки могут совместно использовать память, что снижает накладные расходы по сравнению с тяжелыми процессами.

Многозадачность и многопроцессорность

Приложения запускаются в памяти как процессы, состоящие из исполняемого кода и данных. Многозадачность позволяет одновременно выполнять несколько задач (тяжеловесных процессов) на одном процессоре. Старые и более простые операционные системы, такие как MS-DOS, не являются многозадачными, поскольку они запускают один процесс за раз. Большинство современных операционных систем, таких как Linux, Windows 10 и OS X, поддерживают многозадачность.

Многопроцессорность принципиально отличается от многозадачности: несколько процессов выполняются на нескольких процессорах. Два типа многопроцессорной обработки — это симметричная многопроцессорная обработка (SMP) и асимметричная многопроцессорная обработка (AMP; в некоторых источниках используется ASMP). Системы SMP имеют одну операционную систему для управления всеми процессорами. Системы AMP имеют по одному образу операционной системы на каждый ЦП, по существу работая как независимые системы.

CISC и RISC

CISC (компьютер со сложным набором команд) и RISC (компьютер с сокращенным набором команд) — это две формы конструкции ЦП. CISC использует большой набор сложных инструкций машинного языка, тогда как RISC использует сокращенный набор более простых инструкций. Процессоры x86, среди многих других, являются CISC; ARM (используется во многих сотовых телефонах и КПК), PowerPC, Sparc и другие являются RISC.

Домен 6

Эрик Конрад, . Джошуа Фельдман, учебное пособие CISSP (второе издание), 2012 г.

ЦП

Центральный процессор (ЦП) — это мозг компьютера, способный управлять и выполнять математические вычисления. В конечном счете, все, что делает компьютер, является математическим: сложение чисел (которые могут быть расширены до вычитания, умножения, деления и т. д.), выполнение логических операций, доступ к ячейкам памяти по адресу и т. д. Процессоры оцениваются по количеству тактовых циклов в секунду. Процессор Pentium® 4 с тактовой частотой 2,4 ГГц имеет 2.4 миллиарда тактов в секунду.

Арифметико-логическое устройство и блок управления

Арифметико-логическое устройство (АЛУ) выполняет математические вычисления — вычисляет. Он получает инструкции от блока управления, который действует как регулировщик, отправляя инструкции в АЛУ.

Получить и выполнить

ЦП получает инструкции машинного языка (например, «добавить 1 + 1») и выполняет их (добавляет числа, чтобы получить ответ «2»). Процесс выборки и выполнения (также называемый выборка-декодирование-выполнение или FDX) фактически состоит из четырех шагов:

Инструкция по извлечению 1

Инструкция декодирования 1

Выполнить инструкцию 1

Записать (сохранить) результат 1

Эти четыре шага выполняются за один такт.

Конвейерная обработка

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

Учитывая наш предыдущий пример выборки и выполнения сложения 1 + 1, ЦП без конвейерной обработки должен был бы ждать целый цикл перед выполнением следующего вычисления. Четырехэтапный конвейер может объединять этапы четырех других инструкций:

Инструкция по извлечению 1

Инструкция извлечения 2, инструкция декодирования 1

Выборка инструкции 3, декодирование инструкции 2, выполнение инструкции 1

Выборка инструкции 4, декодирование инструкции 3, выполнение инструкции 2, запись (сохранение) результата 1

Выборка инструкции 5, декодирование инструкции 4, выполнение инструкции 3, запись (сохранение) результата 2 и т. д.

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

Прерывания

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

Процессы и потоки

Процесс — это исполняемая программа и связанные с ней данные, загружаемые и работающие в памяти. Тяжеловесный процесс (HWP) также называется задачей. Родительский процесс может порождать дополнительные дочерние процессы, называемые потоками. Поток — это облегченный процесс (LWP). Потоки могут совместно использовать память, что снижает накладные расходы по сравнению с тяжелыми процессами.

Процессы могут находиться в нескольких состояниях:

Новый — процесс создается

Готов — процесс ожидает выполнения ЦП

Выполняется — процесс, выполняемый ЦП

Заблокировано — ожидание ввода-вывода

Завершить — завершенный процесс

Еще один тип процесса — zombie, дочерний процесс, родительский процесс которого завершен.

Многозадачность и многопроцессорность

Приложения запускаются в памяти как процессы, состоящие из исполняемого кода и данных. Многозадачность позволяет одновременно выполнять несколько задач (тяжеловесных процессов) на одном процессоре. Старые и простые операционные системы, такие как MS-DOS, не являются многозадачными; они запускают один процесс за раз. Большинство современных операционных систем, таких как Linux и Windows XP, поддерживают многозадачность.

В некоторых источниках используются другие термины, связанные с многозадачностью, включая многозадачность и многопоточность. Мультипрограммирование — это несколько программ, одновременно выполняемых на одном ЦП, многопоточность — несколько потоков (легковесных процессов), одновременно выполняющихся на одном ЦП, а многозадачность — несколько задач (процессов), выполняющихся одновременно на одном ЦП.

Многозадачность – это старая форма многозадачности. во многих источниках эти два термина используются как синонимы. В этой книге термин «многозадачность» используется для обозначения нескольких одновременных процессов на одном процессоре.

Многопроцессорность принципиально отличается от многозадачности тем, что она запускает несколько процессов на нескольких процессорах. Существует два типа многопроцессорной обработки: симметричная многопроцессорная обработка (SMP) и асимметричная многопроцессорная обработка (AMP; в некоторых источниках используется ASMP). Системы SMP имеют одну операционную систему для управления всеми процессорами. Системы AMP имеют по одному образу операционной системы на каждый ЦП, по существу работая как независимые системы.

Сторожевые таймеры

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

CISC и RISC

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

Оптимальный способ проектирования ЦП был предметом споров: должны ли низкоуровневые команды быть более длинными и мощными, используя меньше отдельных инструкций для выполнения сложной задачи (CISC), или команды должны быть короче и проще, требуется больше отдельных инструкций для выполнения сложной задачи (RISC), но допускается меньше циклов на инструкцию и более эффективный код? Нет правильного ответа; оба подхода имеют плюсы и минусы. Процессоры x86 (среди многих других) имеют CISC; ARM (используется во многих сотовых телефонах и КПК), PowerPC®, Sparc и другие являются RISC.

Домен 3: Техника безопасности (разработка и управление безопасностью)

Эрик Конрад, . Джошуа Фельдман, учебное пособие CISSP (третье издание), 2016 г.

ЦП

Центральный процессор (ЦП) — это «мозг» компьютера, способный управлять и выполнять математические вычисления. В конечном счете, все, что делает компьютер, является математическим: сложение чисел (которые могут быть расширены до вычитания, умножения, деления и т. д.), выполнение логических операций, доступ к ячейкам памяти по адресу и т. д. Процессоры оцениваются по количеству тактовых циклов в секунду. . Процессор Pentium 4 с частотой 2,4 ГГц выполняет 2,4 млрд тактов в секунду.

Арифметико-логическое устройство и блок управления

Арифметико-логическое устройство (ALU) выполняет математические вычисления: оно «вычисляет». Он получает инструкции от блока управления, который действует как регулировщик, отправляя инструкции в АЛУ.

Получить и выполнить

ЦП получает инструкции машинного языка (например, «добавить 1 + 1») и выполняет их (добавляет числа, чтобы получить ответ «2»). Процесс выборки и выполнения (также называемый "выборка, декодирование, выполнение" или FDX) фактически состоит из четырех шагов:

Инструкция по извлечению 1

Инструкция декодирования 1

Выполнить инструкцию 1

Записать (сохранить) результат 1

Эти четыре шага выполняются за один такт.

Конвейерная обработка

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

Учитывая наш предыдущий пример выборки и выполнения сложения 1 + 1, ЦП без конвейерной обработки должен был бы ждать целый цикл перед выполнением следующего вычисления. Четырехэтапный конвейер может объединять этапы четырех других инструкций:

Инструкция по извлечению 1

Инструкция извлечения 2, инструкция декодирования 1

Выборка инструкции 3, декодирование инструкции 2, выполнение инструкции 1

Выборка инструкции 4, декодирование инструкции 3, выполнение инструкции 2, запись (сохранение) результата 1

Выборка инструкции 5, декодирование инструкции 4, выполнение инструкции 3, запись (сохранение) результата 2 и т. д.

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

Прерывания

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

Процессы и потоки

Процесс — это исполняемая программа и связанные с ней данные, загружаемые и работающие в памяти. «Процесс тяжелого веса» (HWP) также называется задачей. Родительский процесс может порождать дополнительные дочерние процессы, называемые потоками. Поток — это облегченный процесс (LWP). Потоки могут совместно использовать память, что снижает накладные расходы по сравнению с тяжелыми процессами.

Процессы могут находиться в нескольких состояниях:

Новое: процесс создается

Готов: процесс ожидает выполнения ЦП

Выполняется: процесс выполняется центральным процессором

Заблокировано: ожидание ввода-вывода

Завершить: завершенный процесс

Еще один тип процесса — «зомби», дочерний процесс, родительский процесс которого завершен.

Многозадачность и многопроцессорность

Приложения запускаются в памяти как процессы, состоящие из исполняемого кода и данных. Многозадачность позволяет одновременно выполнять несколько задач (тяжеловесных процессов) на одном процессоре. Старые и более простые операционные системы, такие как MS-DOS, не являются многозадачными: они запускают один процесс за раз. Большинство современных операционных систем, таких как Linux, Windows 10 и OS X, поддерживают многозадачность.

В некоторых источниках используются другие термины, относящиеся к многозадачности, включая многозадачность и многопоточность.Мультипрограммирование — это несколько программ, работающих одновременно на одном ЦП; многозадачность — это несколько задач (процессов), выполняющихся одновременно на одном ЦП, а многопоточность — несколько потоков (легковесных процессов), одновременно выполняющихся на одном ЦП.

Многозадачность – это старая форма многозадачности. во многих источниках эти два термина используются как синонимы. В этой книге термин «многозадачность» используется для обозначения нескольких одновременных процессов на одном процессоре.

Многопроцессорность принципиально отличается от многозадачности: несколько процессов выполняются на нескольких процессорах. Два типа многопроцессорной обработки — это симметричная многопроцессорная обработка (SMP) и асимметричная многопроцессорная обработка (AMP, некоторые источники используют ASMP). Системы SMP имеют одну операционную систему для управления всеми процессорами. Системы AMP имеют по одному образу операционной системы на каждый ЦП, по существу работая как независимые системы.

Сторожевые таймеры

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

CISC и RISC

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

«Лучший» способ проектирования ЦП был предметом споров: должны ли низкоуровневые команды быть более длинными и мощными, используя меньше отдельных инструкций для выполнения сложной задачи (CISC), или команды должны быть короче и проще, требуя больше отдельных инструкций для выполнения сложной задачи (RISC), но допуская меньше циклов на инструкцию и более эффективный код? Нет «правильного» ответа: оба подхода имеют свои плюсы и минусы. ЦП ×86 (среди многих других) имеют CISC; ARM (используется во многих сотовых телефонах и КПК), PowerPC, Sparc и другие являются RISC.

Адресация памяти

Значения могут храниться в нескольких местах памяти, включая регистры ЦП и общую ОЗУ. Эти значения могут быть адресованы напрямую («добавьте значение, хранящееся здесь») или косвенно («добавьте значение, хранящееся в ячейке памяти, указанной здесь»). Косвенная адресация подобна указателю. Режимы адресации зависят от ЦП; обычно поддерживаемые режимы включают прямой, косвенный, прямой регистр и косвенный регистр.

Прямая адресация регистра аналогична прямой адресации, за исключением того, что она ссылается на регистр кэша ЦП, такой как регистр 1. Косвенная адресация регистра аналогична косвенной адресации, за исключением того, что указатель хранится в регистре. На рис. 4.9 показаны эти четыре режима адресации.

Центральный процессор (ЦП) направляет компьютер на различные этапы решения проблемы.

Связанные термины:

Скачать в формате PDF

Об этой странице

Адаптация и оценка симплексного алгоритма для архитектуры потока данных

Урош Чибей, Юрий Михелич, Достижения в области компьютеров, 2017

2.2 Вид программиста

Чтобы программист мог разработать законченную программу, необходимо написать три компонента.

обычно написанный на языке программирования C, код ЦП управляет выполнением и использует DFE в качестве блока обработки, вызывая подходящие функции, предоставляемые компилятором Maxeler.

Каждое ядро ​​реализует определенную функциональность и примерно соответствует абстракции функции. Он имеет набор входных потоков и набор выходных потоков.

Менеджер — это компонент, который соединяет потоки данных от ЦП к ядрам-получателям и наоборот. Он устанавливает соединения между ядрами и LMem, а также связывает ядра между собой. Диспетчер также создает интерфейсы, с помощью которых код ЦП взаимодействует с DFE.

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

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

Схема этой архитектуры представлена ​​на рис. 1.

< бр />

Рис. 1 . Схематический обзор компонентов системы потока данных. серая рамка обозначает микросхему FPGA.Взгляд программиста на архитектуру показан в виде файлов, которые необходимо реализовать для каждой программы, файл .maxj написан на языке MaxJ, тогда как поток управления обычно написан на C или C++, но поддерживаются и другие языки. .

КОМПЬЮТЕРНЫЙ ДИЗАЙН

Доминик Росато, Дональд Росато, Дизайн изделий из пластмассы, 2003 г.

Центральный процессор

Центральный процессор компьютера (ЦП) — это часть компьютера, которая извлекает и выполняет инструкции. Процессор, по сути, является мозгом CAD-системы. Он состоит из арифметико-логического блока (АЛУ), блока управления и различных регистров. Центральный процессор часто называют просто процессором. АЛУ выполняет арифметические операции, логические операции и связанные с ними операции в соответствии с инструкциями программы.

Блок управления управляет всеми операциями ЦП, включая операции АЛУ, перемещение данных внутри ЦП, а также обмен данными и управляющими сигналами через внешние интерфейсы (системную шину). Регистры — это быстродействующие блоки внутренней памяти ЦП. Некоторые регистры видны пользователю; то есть доступный для программиста через набор машинных инструкций. Другие регистры предназначены исключительно для ЦП в целях управления. Внутренние часы синхронизируют все компоненты ЦП. Тактовая частота (количество тактовых импульсов в секунду) измеряется в мегагерцах (МГц) или миллионах тактовых импульсов в секунду. Тактовая частота, по сути, определяет, насколько быстро ЦП обрабатывает инструкции.

Оборудование

Центральный процессор управляет всем. Он извлекает программные инструкции по своей шине «на стороне инструкций» (IS), считывает данные по своей шине «на стороне данных» (DS), выполняет инструкции и записывает результаты на шину DS. ЦП может работать на частоте SYSCLK до 80 МГц, что означает, что он может выполнять одну инструкцию каждые 12,5 нс. ЦП способен умножать 32-битное целое число на 16-битное целое число за один цикл или 32-битное целое число на 32-битное целое число за два цикла. Блока с плавающей запятой (FPU) нет, поэтому вычисления с плавающей запятой выполняются программными алгоритмами, что делает операции с плавающей запятой намного медленнее, чем вычисления с целыми числами.

ЦП представляет собой ядро ​​микропроцессора MIPS32® M4K®, лицензированное компанией Imagination Technologies. ЦП работает при напряжении 1,8 В (обеспечиваемом стабилизатором напряжения, встроенным в PIC32, поскольку он используется на плате NU32). Контроллер прерываний, обсуждаемый ниже, может уведомлять ЦП о внешних событиях.

Встроенные процессоры

Внутренние шины ЦП

Шины ЦП — это механизмы, соединяющие другие компоненты ЦП: АЛУ, ЦП и регистры (см. рис. 4-22). Шины — это просто провода, которые соединяют между собой различные другие компоненты ЦП. Провод каждой шины обычно делится на логические функции, такие как данные (которые переносят данные в двух направлениях между регистрами и АЛУ), адрес (который переносит расположение регистров, содержащих данные для передачи), управление (переносит управление информацию о сигналах, такую ​​как временные и управляющие сигналы, между регистрами, ALU и CU) и т. д.

< бр />

Рисунок 4-22. Ядро и шины PowerPC. [15]

В ядре PowerPC есть управляющая шина, по которой управляющие сигналы передаются между АЛУ, CU и регистрами. То, что PowerPC называет «исходными шинами», — это шины данных, передающие данные между регистрами и АЛУ. Существует дополнительная шина, называемая обратной записью, которая предназначена для обратной записи данных, полученных с исходной шины, непосредственно обратно из модуля загрузки/сохранения в фиксированные регистры или регистры с плавающей запятой.

Примечание. Во избежание дублирования автобусы будут более подробно обсуждаться в главе 7 .

Микрокомпьютерная аппаратура и управление

Чтение/запись памяти

ЦП всегда контролирует направление потока данных в БД, поскольку, хотя он и является двунаправленным, данные могут перемещаться только в одном направлении за раз. ЦП выдает специальный сигнал управления чтением/записью (R/W) (рис. 3.2), который активирует схемы в памяти, определяющие направление потока данных. Например, когда на линии чтения/записи (R/W) высокий уровень, ЦП передает информацию из ячейки памяти в ЦП.

Временная диаграмма операции чтения из памяти показана на рис. 3.3.

< бр />

Рис. 3.3. Время чтения/записи.

Предположим, что компьютеру была дана инструкция прочитать данные из ячейки памяти номер 10. Чтобы выполнить операцию чтения, ЦП переводит линию чтения/записи в высокий уровень, чтобы активировать схему памяти при подготовке к операции чтения.Практически одновременно на АБ размещается адрес для местоположения 10 («адрес действителен» на рис. 3.3). В память АБ отправляется число 10 в 16-битном двоичном коде (0000 0000 0000 1010). Двоичные электрические сигналы, соответствующие 10, управляют определенными цепями в памяти, чтобы заставить двоичные данные в этом месте быть помещенными в БД. ЦП имеет внутренний регистр, который активируется во время этой операции чтения для приема и сохранения данных. Затем данные обрабатываются ЦП во время следующего цикла работы в соответствии с соответствующей инструкцией.

Аналогичная операция выполняется всякий раз, когда ЦП должен отправить данные из одного из своих внутренних регистров в память, что является операцией «записи». В этом случае линия R/W будет установлена ​​на логический уровень, противоположный операции чтения (т.е. низкий в данном примере). Во время операции записи отправляемые данные помещаются в БД одновременно с адресом назначения в АВ. Эта операция перенесет данные из источника ЦП в место назначения, которым может быть место в памяти в ОЗУ или внешнее устройство (как будет объяснено позже).

Компьютерные системы

1.3.1 Работа системы

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

Декодер адреса управляет доступом к памяти и регистрам ввода-вывода для конкретного проекта. Как правило, программируемое логическое устройство (PLD) используется для выделения каждой микросхеме памяти определенного диапазона адресов. Код входного адреса в определенном диапазоне генерирует выходной сигнал выбора микросхемы, который включает это устройство. Регистры портов ввода-вывода, которые настроены для обработки передачи данных в систему и из нее, также получают определенные адреса с помощью того же механизма, и ЦП обращается к ним так же, как к ячейкам памяти. Назначение адресов конкретным периферийным устройствам называется картой памяти (рис. 1.6 б).

Процессор

ХАРВИ М. ДЕЙТЕЛЬ, БАРБАРА ДЕЙТЕЛЬ, Введение в обработку информации, 1986 г.

Сводка издателя

Центральный процессор (ЦП) направляет компьютер на различные этапы решения проблемы. Данные поступают в компьютер через блок ввода, обрабатываются центральным процессором и затем становятся доступными для пользователя через блок вывода. Логический вид компьютера показывает, какие функции выполняет компьютер. Физический вид компьютера показывает, как на самом деле механизмы компьютера выполняют эти функции. Центральный процессор состоит из трех логических блоков: арифметико-логического блока (ALU), основного хранилища и блока управления. Основная память сохраняет активные программы и данные. Это относительно дорого, поэтому вторичное хранилище используется для хранения программ и данных до тех пор, пока они не потребуются в основном хранилище. Набор встроенных операций компьютера называется его «набором инструкций». Компьютерная программа представляет собой набор инструкций, которые сообщают компьютеру, как решить конкретную задачу. Компьютерная программа должна находиться в оперативной памяти, чтобы компьютер мог выполнять ее инструкции.

Управление энергопотреблением

5.15.2.4.2.1 Блок процессора

Это центральный процессор (ЦП) ПЛК, то есть микропроцессор по конструкции и функциональным возможностям. Основная функция этого блока состоит в том, чтобы воспринимать входные значения через свои модули ввода/вывода, генерировать управляющие сигналы в соответствии с входными сигналами и предопределенной инструкцией (хранящейся в блоке памяти в виде программы). Затем обработанное решение передается на устройства вывода, подключенные к модулям ввода/вывода, для обновления выходных переменных [51]. Типичный цикл процесса ЦП показан на рис. 40, демонстрирующем основную идею функции процесса. Время одного цикла выполнения программы называется «время сканирования». Типичные значения времени сканирования могут составлять всего 1 м/с. Входные и выходные значения обычно хранятся в единице памяти за цикл или несколько его кратных [53] .

< бр />

Рис. 40 . Рабочий цикл центрального процессора (ЦП) программируемого логического контроллера (ПЛК).

Беспроводная МЭМС для носимых сенсорных сетей

5.2.2.2 Блок обработки

Рабочие процедуры промышленной системы управления

(1) адресные пространства PCI

ЦП и все устройства PCI должны иметь доступ к общей памяти. Драйверы устройств управляют устройствами PCI и передают информацию между ними, используя эту память. Обычно эта разделяемая память содержит регистры управления и состояния устройства, которые используются для управления устройством и чтения его состояния. Например, драйвер устройства PCI SCSI может прочитать свой регистр состояния, чтобы узнать, готово ли устройство к записи блока информации, или он может записать в управляющий регистр, чтобы запустить устройство после его включения.

Системная память ЦП может использоваться для этой общей памяти, но в этом случае каждый раз, когда устройство PCI обращается к памяти, ЦП должен будет останавливаться, ожидая завершения. Доступ к памяти обычно ограничивается одним системным компонентом за раз. Это замедлит работу системы. Это не позволяет периферийным устройствам системы бесконтрольно обращаться к основной памяти. Это было бы очень опасно; неисправное устройство может сделать систему очень нестабильной.

Периферийные устройства имеют собственные области памяти. ЦП может получить доступ к этим пространствам, но доступ устройств к системной памяти очень строго контролируется с помощью каналов DMA (прямой доступ к памяти). Устройства ISA имеют доступ к двум адресным пространствам; ISA I/O (ввод/вывод) и память ISA. В большинстве современных микропроцессоров PCI должен состоять из трех элементов: ввода-вывода PCI, памяти PCI и пространства конфигурации PCI.

Некоторые микропроцессоры, например процессор Alpha AXP, не имеют естественного доступа к адресным пространствам, отличным от системного адресного пространства. Этот процессор использует наборы микросхем поддержки для доступа к другим адресным пространствам, таким как пространство конфигурации PCI, с помощью схемы разреженного отображения адресов, которая крадет часть большого виртуального адресного пространства и сопоставляет его с адресными пространствами PCI.

Основная организация компьютера.

Узнайте об этой теме в этих статьях:

функция в цифровом компьютере

ноутбук

…блока управления, арифметико-логического блока (ALU), блока памяти и контроллеров ввода/вывода (I/O). АЛУ выполняет простые операции сложения, вычитания, умножения, деления и логические операции, такие как ИЛИ и И. В памяти хранятся инструкции и данные программы. Блок управления извлекает данные и инструкции из памяти и…

Разностная машина

…(3) блок управления, и (4) блок арифметико-логический. Любое из ряда устройств используется для ввода данных и программных инструкций в компьютер и для получения доступа к результатам операции обработки. Общие устройства ввода включают клавиатуры и оптические сканеры; устройства вывода включают принтеры и мониторы. …

отношение к центральному процессору

печатная плата

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

computer

Он состоит из арифметико-логического блока (АЛУ) и цепей управления. АЛУ выполняет основные арифметические и логические операции, а секция управления определяет последовательность операций, включая инструкции ветвления, передающие управление от одной части программы к другой. Хотя основная память когда-то считалась…

Введение в процессор

Наследие более ранних разработок, таких как разностная машина Бэббиджа и перфокартные системы мейнфреймов 1970-х годов, оказывают значительное влияние на современные компьютерные системы.В своей первой статье из этой исторической серии «История компьютеров и современные компьютеры для системных администраторов» я обсудил несколько предшественников современного компьютера и перечислил характеристики, определяющие то, что мы сегодня называем компьютером.

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

Центральный процессор (ЦП)

ЦП современных компьютеров — это воплощение «мельницы» в разностной машине Бэббиджа. Термин центральный процессор возник еще в далекие компьютерные времена, когда в одном массивном корпусе содержалась схема, необходимая для интерпретации программных инструкций машинного уровня и выполнения операций с предоставленными данными. Центральный процессор также завершил всю обработку всех подключенных периферийных устройств. Периферийные устройства включали принтеры, устройства чтения карт и ранние устройства хранения, такие как барабаны и дисководы. Современные периферийные устройства сами обладают значительной вычислительной мощностью и разгружают некоторые задачи обработки с ЦП. Это освобождает ЦП от задач ввода-вывода, так что его мощность применяется к основной задаче под рукой.

Ранние компьютеры имели только один ЦП и могли выполнять только одну задачу за раз.

Сегодня мы сохраняем термин ЦП, но теперь он относится к процессорному пакету на типичной материнской плате. На рис. 1 показан стандартный пакет процессоров Intel.

Пакет процессора Intel Core i5

Рис. 1. Процессор Intel Core i5 (Джуд МакКрени, Wikimedia Commons, CC BY-SA 4.0).

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

Как работает процессор

Давайте рассмотрим ЦП более подробно. На рис. 2 представлена ​​концептуальная схема гипотетического ЦП, позволяющая упростить визуализацию компонентов. ОЗУ и системные часы заштрихованы, поскольку они не являются частью ЦП и показаны только для ясности. Кроме того, никакие связи между тактовым генератором ЦП и блоком управления и компонентами ЦП не используются. Достаточно сказать, что сигналы от тактового генератора и блока управления являются неотъемлемой частью любого другого компонента.

Упрощенная концептуальная схема типичного процессора

Рисунок 2. Упрощенная концептуальная схема типичного процессора.

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

Арифметико-логическое устройство

Арифметико-логическое устройство (АЛУ) выполняет арифметические и логические функции, за которые отвечает компьютер. A и B регистры содержат входные данные, а накопитель получает результат операции. Регистр инструкций содержит инструкцию, которую должен выполнить АЛУ.

Например, при добавлении двух чисел одно число помещается в регистр A, а другое — в регистр B. АЛУ выполняет сложение и помещает результат в аккумулятор. Если операция логическая, сравниваемые данные помещаются в регистры ввода. Результат сравнения, 1 или 0, помещается в аккумулятор. Независимо от того, является ли это логической или арифметической операцией, содержимое накопителя затем помещается в ячейку кэша, зарезервированную программой для результата.

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

Регистр инструкций и указатель

Указатель инструкции указывает место в памяти, содержащее следующую инструкцию, которую должен выполнить ЦП. Когда ЦП завершает выполнение текущей инструкции, следующая инструкция загружается в регистр инструкций из ячейки памяти, на которую указывает указатель инструкции.

После загрузки инструкции в регистр инструкций указатель регистра инструкций увеличивается на один адрес инструкции. Увеличение позволяет ему быть готовым к перемещению следующей инструкции в регистр инструкций.

Кэш

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

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

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

Наш простой ЦП имеет три уровня кэша. Уровни 2 и 3 предназначены для прогнозирования того, какие данные и программные инструкции потребуются в следующий раз, для перемещения этих данных из ОЗУ и перемещения их как можно ближе к ЦП, чтобы они были готовы, когда это необходимо. Эти размеры кэша обычно варьируются от 1 МБ до 32 МБ в зависимости от скорости и предполагаемого использования процессора.

Кэш уровня 1 расположен ближе всего к центральному процессору. В нашем процессоре есть два типа кеша L1. L1i — это кэш инструкций, а L1d — кэш данных. Размер кэша уровня 1 обычно составляет от 64 КБ до 512 КБ.

Блок управления памятью

Блок управления памятью (MMU) управляет потоком данных между основной памятью (ОЗУ) и ЦП. Он также обеспечивает защиту памяти, необходимую в многозадачных средах, и преобразование адресов виртуальной памяти в физические адреса.

Часы процессора и блок управления

Все компоненты ЦП должны быть синхронизированы для бесперебойной совместной работы. блок управления выполняет эту функцию со скоростью, определяемой тактовой частотой, и отвечает за управление операциями других блоков с помощью сигналов синхронизации, которые распространяются на ЦП.< /p>

Оперативная память (ОЗУ)

Хотя ОЗУ или основное хранилище показаны на этой и следующей диаграммах, на самом деле они не являются частью ЦП. Его функция заключается в хранении программ и данных, чтобы они были готовы к использованию, когда они потребуются процессору.

Как это работает

ЦП работают по циклу, который управляется блоком управления и синхронизируется с часами ЦП. Этот цикл называется циклом инструкций ЦП и состоит из ряда компонентов выборки/декодирования/выполнения. Инструкция, которая может содержать статические данные или указатели на переменные данные, извлекается и помещается в регистр инструкций. Команда декодируется, и любые данные помещаются в регистры данных A и B. Инструкция выполняется с использованием регистров A и B, а результат помещается в аккумулятор. Затем ЦП увеличивает значение указателя инструкции на длину предыдущего и начинает заново.

Базовый цикл инструкций ЦП выглядит следующим образом.

Основной цикл инструкций процессора

Рисунок 3. Базовый цикл инструкций ЦП.

Потребность в скорости

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

Ускорение цикла инструкций

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

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

Цикл инструкций процессора с перекрытием

Рисунок 4. Цикл инструкций ЦП с перекрытием.

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

Тем не менее, это мощная стратегия повышения производительности ЦП.

Гиперпоточность

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

Концептуальная схема процессора с гиперпоточностью

Рис. 5. Концептуальная схема ЦП с технологией Hyper-Threading.

Помните, что это очень упрощенная схема и объяснение нашего гипотетического процессора. Реальность гораздо сложнее.

Дополнительная терминология

Я столкнулся с множеством различных терминов ЦП. Чтобы более точно определить терминологию, давайте рассмотрим сам ЦП с помощью команды lscpu.

Процессор Intel, показанный выше, представляет собой корпус, который подключается к одному разъему на материнской плате. Пакет процессора содержит шесть ядер. Каждое ядро ​​поддерживает гиперпоточность, поэтому каждое из них может одновременно запускать два потока, что в сумме дает 12 ЦП.

  • Ядро. Ядро — это наименьшая единица физического оборудования, способная выполнять задачу обработки. Он содержит одно АЛУ и один или два набора вспомогательных регистров. Второй набор регистров и поддерживающих схем обеспечивает гиперпоточность. Одно или несколько ядер можно объединить в один физический пакет.
  • ЦП. Логический аппаратный блок, способный обрабатывать один поток выполнения. Современное использование термина центральный процессор относится к общему количеству потоков, которые процессорный пакет может выполнять одновременно. Одноядерный процессор, не поддерживающий гиперпоточность, эквивалентен одному процессору. В этом случае ЦП и ядро ​​являются синонимами. Процессор Hyper-Threading с одним ядром является функциональным эквивалентом двух процессоров. Процессор с поддержкой технологии Hyper-Threading с восемью ядрами функционально эквивалентен 16 процессорам.
  • Пакет – физический компонент, содержащий одно или несколько ядер, как показано на рис. 1 выше.
  • Процессор. 1) Устройство, которое обрабатывает инструкции программы для обработки данных. 2) Часто используется как синоним пакета.
  • Сокет. Иногда используется как синоним пакета, но более точно относится к физическому сокету на материнской плате, в который вставляется корпус процессора.

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

Обратите внимание, что указанный выше процессор имеет два кэша уровня 1 по 512 КиБ каждый: один для инструкций (L1i) и один для данных (L1d). Кэш уровня 1 находится ближе всего к ЦП, и он ускоряет работу, разделяя инструкции и данные на этом этапе. Кэши уровня 2 и уровня 3 больше, но инструкции и данные сосуществуют в каждом из них.

Что все это значит?

Хороший вопрос. На заре мейнфреймов каждый компьютер имел только один ЦП и не мог одновременно запускать более одной программы. Мейнфрейм может выполнять расчет заработной платы, затем учет запасов, затем выставление счетов клиентам и т. д., но одновременно может выполняться только одно приложение. Каждая программа должна была завершиться, прежде чем системный оператор мог запустить следующую.

В некоторых ранних попытках одновременного запуска нескольких программ применялся простой подход, направленный на более эффективное использование одного процессора. Например, программа1 и программа2 были загружены, а программа1 выполнялась до тех пор, пока не была заблокирована в ожидании ввода-вывода. В этот момент программа2 работала до тех пор, пока не была заблокирована. Такой подход назывался многопроцессорной обработкой и позволял полностью использовать ценное компьютерное время.

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

Все современные компьютеры, от смарт-часов и планшетов до суперкомпьютеров, поддерживают настоящую многозадачность с несколькими процессорами. Наличие нескольких процессоров позволяет компьютерам выполнять множество задач одновременно. Каждый ЦП выполняет свои функции одновременно со всеми остальными ЦП. Восьмиъядерный процессор с технологией Hyper-Threading (т. е. 16 ЦП) может одновременно выполнять 16 задач.

Заключительные мысли

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

Помните, что схемы и описания в этой статье носят чисто концептуальный характер и не представляют реальный ЦП.

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

Читайте также: