Мегаобучалка Главная | О нас | Обратная связь


Многопоточные и многоядерные микропроцессоры



2019-12-29 256 Обсуждений (0)
Многопоточные и многоядерные микропроцессоры 0.00 из 5.00 0 оценок




Закон Мура гласит, что количество транзисторов на одном кристалле удваивается каждые 18 месяцев. Этот «закон», в отличие от закона сохранения импульса, не имеет никакого отношения к физике, он появился в результате наблюдений одного из соучредителей корпорации Intel Гордона Мура (Gordon Moore) за темпами, с которыми шло уменьшение размеров транзисторов. Закон Мура соблюдался в течение трех десятилетий, и, как ожидается, будет соблюдаться как минимум еще одно десятилетие.

Высокая плотность размещения транзисторов ведет к проблеме: как распорядиться их возросшим количеством? Ранее мы уже ознакомились с одним из подходов к ее решению — использованием архитектуры, имеющей множество функциональных блоков. Но с ростом числа транзисторов открываются более широкие возможности. Одно из очевидных решений — размещение на кристалле центрального процессора более объемной кэш-памяти — уже воплощено в жизнь. Однако это порог, за которым дальнейшее увеличение объема кэш-памяти только уменьшает отдачу от этого решения.

Следующим очевидным шагом является дублирование не только функциональных блоков, но и части управляющей логики. Такие свойства, присущие процессору Pentium 4 и некоторым другим микропроцессорам, называются многопоточностью, или гиперпоточностью (hyperthreading по версии Intel). В первом приближении эта технология позволяет процессору сохранять состояние двух различных потоков и осуществлять переключения между ними за наносекунды. (Поток является разновидностью выполняющейся программы) Например, если одному из процессов нужно прочитать слово из памяти (что занимает несколько тактов), многопоточный процессор может переключиться на другой поток. Многопоточность не предлагает настоящей параллельной обработки данных. Одновременно работает только один процесс, но время переключения между процессами сведено до наносекунд.

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

Рис 4. - Четырехъядерный процессор с общей кэш-памятью второго уровня (L2) (а). Четырехъядерный процессор с отдельными блоками кэш-памяти L2 (б)

Память

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

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

 

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

Затем следует кэш-память, которая управляется главным образом аппаратурой.

Оперативная память разделяется на кэш-строки, обычно по 64 байт, с адресами от 0 до 63 в кэш-строке 0, адресами от 64 до 127 в кэш-строке 1, и т. д. Наиболее интенсивно используемые кэш-строки оперативной памяти сохраняются в высокоскоростной кэш-памяти, находящейся внутри процессора или очень близко к нему. Когда программе нужно считать слово из памяти, аппаратура кэша проверяет, нет ли нужной строки в кэш-памяти. Если строка в ней имеется, то происходит результативное обращение к кэш-памяти (кэш-попадание), запрос удовлетворяется за счет кэш-памяти без отправки запроса по шине к оперативной памяти. Обычно результативное обращение к кэшу занимает по времени два такта.

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

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

Применение кэширования оказалось настолько удачным решением, что многие современные процессоры имеют сразу два уровня кэш-памяти. Первый уровень, или кэш L1, всегда является частью самого процессора и обычно подает декодированные команды в процессорный механизм исполнения команд. У многих процессоров есть и второй кэш L1 для тех слов данных, которые используются особенно интенсивно. Обычно каждый из кэшей L1 имеет объем 16 Кбайт. Вдобавок к этому кэшу процессоры часто оснащаются вторым уровнем кэш-памяти, который называется кэш L2 и содержит несколько мегабайт недавно использованных слов памяти. Различия между кэш-памятью L1 и L2 заключаются во временной диаграмме. Доступ к кэшу первого уровня осуществляется без задержек, а доступ к кэшу второго уровня требует задержки в один или два такта.

При разработке многоядерных процессоров конструкторам приходится решать, куда поместить кэш-память. На рис. 4, а показан один кэш L2, совместно использующийся всеми ядрами. Такой подход применяется в многоядерных процессорах корпорации Intel. Для сравнения на рис. 4, б каждое ядро имеет свою собственную кэш-память L2. Именно такой подход применяется компанией AMD. Каждый из подходов имеет свои аргументы «за» и «против». Например, общая кэш-память L2 корпорации Intel требует использования более сложного кэш-контроллера, а избранный AMD путь усложняет поддержание согласованного состояния кэш-памяти L2 разных ядер.

Следующей в иерархии идет оперативная память. Это главная рабочая область системы памяти машины. Оперативную память часто называют ОЗУ (оперативное запоминающее устройство) или памятью с произвольным доступом (RAM, Random Access Memory). В настоящее время блоки памяти имеют объем от сотен мегабайт до нескольких гигабайт, и этот объем стремительно растет. Все запросы процессора, которые не могут быть удовлетворены кэш-памятью, направляются к оперативной памяти.

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

Жесткий диск состоит из одной или нескольких металлических пластин, вращающихся со скоростью 5400, 7200 или 10 800 оборотов в минуту.

Механический привод поворачивается на определенный угол над пластинами, подобно звукоснимателю старого проигрывателя виниловых пластинок на 33 оборота в минуту.

Информация записывается на диск в виде последовательности концентрических окружностей.

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

Из совокупности всех дорожек в заданной позиции привода составляется цилиндр.

Каждая дорожка поделена на определенное количество секторов, обычно по 512 байт на сектор. Секторы нумеруются, начиная с 1. На современных дисках внешние цилиндры содержат больше секторов, чем внутренние.

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

Самый первый сектор на дорожке 0 поверхности 0 выделяется под стартовый сектор. Он содержит:

· собственно программу, позволяющую считывать данные с диска в оперативную память (загрузочную запись);

· секторов диска в байтах;

· количество секторов на диске;

· количество секторов на дорожке.

Рис. 5. Конструкция жесткого диска

Когда на диск записывается новый файл, ОС обычно не предоставляет точного числа требующихся байтов, а выделяет дисковое пространство целыми секторами. Минимальное число секторов, выделяемое файловой системой для хранения файла, называется кластером. Размер кластера должен быть кратен размеру физического сектора, т. е. 512 байтам в подавляющем большинстве случаев. Размеры кластеров зависят от емкости используемого диска. Для гибких дисков емкостью 1.44 МВ кластеры включают в себя 1 сектор, а на жестких дисках объем кластера зависит от их емкости.

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

Перемещение привода с одного цилиндра на следующий цилиндр занимает около 1 мс.

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

Когда привод расположен над нужной дорожкой, накопитель должен выждать, когда нужный сектор попадет под головку. Это приводит к возникновению еще одной задержки от 5 до 10 мс, в зависимости от скорости вращения диска.

После попадания требуемого сектора под головку производится операция чтения или записи со скоростью от 50 Мбайт/с (для низкоскоростных дисков) до 160 Мбайт/с (для высокоскоростных).

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

ПЗУ - постоянное запоминающее устройство. Оно же память, предназначенная только для чтения, — ROM (Read Only Memory). В отличие от ОЗУ она не утрачивает свое содержимого при отключении питания, то есть является энергонезависимой. ПЗУ программируется на предприятии-изготовителе и впоследствии не подлежит изменению. Эта разновидность памяти характеризуется высоким быстродействием

ПЗУ содержит набор программ:

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

2) программу первоначального тестирования компьютера. Эта программа получает управление сразу после включения компьютера. Она проверяет все подсистемы компьютера. В случае обнаружения ошибки или неисправности компьютера отображает на экране соответствующее сообщение;

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

На материнской плате располагается микросхема, которую называют CMOS-памятью ( Complementary Metal- Oxid- Semicondactor – технология «комплементарные пары метал-оксид-полупроводник»). Она энергонезависима. Микросхема CMOS-памяти питается от специальной маленькой батарейки или аккумулятора, которые также находятся на системной плате. Эта память содержит:

1) текущую дату и время (значение текущего времени исправно обновляется, даже если компьютер полностью отсоединен от внешнего источника питания);

2) параметры конфигурации компьютера, например количество и тип дисковых накопителей, тип видеоадаптера;

3) диск, с которого загружается ОС.

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

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



2019-12-29 256 Обсуждений (0)
Многопоточные и многоядерные микропроцессоры 0.00 из 5.00 0 оценок









Обсуждение в статье: Многопоточные и многоядерные микропроцессоры

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (256)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.012 сек.)