2.7. Определение ядра процессора
Возникновение термина «ядро» связано с модификацией архитектуры процессора данного
поколения, что, в свою очередь, во многом определяется применением технологии производства
микропроцессоров с более высоким уровнем интеграции, дающей возможность реализовать на
кристалле новые технологии обработки информации.
Различия в архитектуре ядра процессора определяются следующими параметрами:
технологией (уровнем интеграции) процессора;
новыми элементами технологии обработки информации;
организацией и объемом встроенной кэш-памяти;
параметрами внутренней системной шины;
поддержкой новых технологий оперативной памяти;
поддержкой совместной работы нескольких процессоров в одной системе.
Возможно проведение некоторых изменений в рамках данного процессорного ядра (stepping).
Процессор Pentium IV в своем развитии реализовывался на нескольких ядрах: Willamette (0.18
мкм), Northwood (0.13 мкм), Prescott (0.09 мкм), Xeon. Первые три ядра последовательно сменяли
друг друга в компьютерах общего назначения; Xeon используется в специализированных
компьютерах с многопроцессорной архитектурой. При этом в частности, частота FSB повысилась
от 100 до 800 МГц, появилась поддержка двухканальной оперативной памяти, а объем
встроенного L2-кэш вырос с 256 Кбайт до 1 Мбайт. В ближайшем будущем планируется переход
Intel-процессоров на технологию 65 нм.
2.8. Многозадачность и многопоточность
Современные процессоры являются конвейерными и суперскалярными, то есть выполнение
команд в них идет параллельно, по этапам и на нескольких конвейерах сразу. Для того чтобы
разбить команды на параллельные потоки, процессору необходимо проанализировать
зависимость их друг от друга и расположить их в таком порядке, чтобы логика программы не
искажалась. Если программа не скомпилирована с расчетом на параллельное выполнение команд
или ее оптимизация не подходит под архитектуру процессора, большинство дублирующихся
вычислительных блоков процессора будет простаивать. Если бы в процессор поступали потоки
независимых команд, он мог бы обрабатывать их параллельно или иногда заполнять свободные
блоки подходящими командами из другого, независимого потока.
Архитектура CPU определяет допустимые режимы работы компьютера. Использование же
предоставляемых аппаратными средствами режимов зависит от свойств ОС. CPU поддерживают
широкий спектр режимов работы, среди которых:
однозадачный режим;
мультизадачный и мультипоточный режим;
система виртуальных машин.
В однозадачном режиме в каждый момент времени может находиться в RAM и выполняться
только одна пользовательская программа. В многопрограммном режиме обеспечивается хранение
в RAM нескольких программ и попеременное их выполнение с той или иной дисциплиной
обслуживания, что целесообразно главным образом (но не только) при возможности совмещения
во времени счета в CPU и операций ввода-вывода. На основе многопрограммного режима работы
CPU могут быть организованы однопользовательский многопрограммный, а при наличии
соответствующих аппаратных средств - и многопользовательский многопрограммный режимы
работы компьютера. Система виртуальных машин является дальнейшим развитием
мультипрограммирования, основной признак которого - возможность одновременной работы
нескольких ОС.
16-разрядные приложения используют кооперативную многозадачность -квантование цикла
процессора и выделение квантов одновременно запущенным приложениям.
При выполнении 32-разрядных приложений используется понятие «Приоритетная
многозадачность» - приложение либо ожидает освобождения необходимых ресурсов, либо
переходит к решению доступных подзадач. ОС реализует арбитраж ресурсов на основе их