на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Устройство процессора
озвратимся к нашему конвейеру, изображенному на рис.2. Предположим, что время цикла у этой машины 2 нс. Тогда для того, чтобы одна команда прошла через весь конвейер, требуется 10 нс. На первый взгляд может показаться, что такой компьютер может выполнять 100 млн команд в секунду, в действительности же скорость его работы гораздо выше. Во время каждого цикла (2 нс) завершается выполнение одной новой команды, поэтому машина выполняет не 100 млн, а 500 млн команд в секунду.

Конвейеры позволяют найти компромисс между временем ожидания (сколько времени занимает выполнение одной команды) и пропускной способностью процессора (сколько миллионов команд в секунду выполняет процессор). Если время цикла составляет Т нс, а конвейер содержит п стадий, то время ожидания составит п*Т нс, а пропускная способность -- 1000/Т млн команд в секунду.

6. Суперскалярные архитектуры

Один конвейер -- хорошо, а два -- еще лучше. Одна из возможных схем процессора с двойным конвейером показана на рис.3. В основе разработки лежит конвейер, изображенный на рис.2. Здесь общий отдел вызова команд берет из памяти сразу по две команды и помещает каждую из них в один из конвейеров. Каждый конвейер содержит АЛУ для параллельных операций. Чтобы выполняться параллельно, две команды не должны конфликтовать при использовании ресурсов (например, регистров), и ни одна из них не должна зависеть от результата выполнения другой. Как и в случае с одним конвейером, либо компилятор должен следить, чтобы не возникало неприятных ситуаций (например, когда аппаратное обеспечение выдает некорректные результаты, если команды несовместимы), либо же конфликты выявляются и устраняются прямо во время выполнения команд благодаря использованию дополнительного аппаратного обеспечения.

Сначала конвейеры (как двойные, так и одинарные) использовались только в компьютерах RISC. У 386-го и его предшественников их не было. Конвейеры в процессорах компании Intel появились только начиная с 486-й модели.

Необходимо отметить, что параллельное функционирование отдельных блоков процессора использовалось и в предыдущем -- 386-м -- микропроцессоре. Оно стало прообразом 5-стадийного конвейера микропроцессора 486.

486-й процессор содержал один конвейер, a Pentium -- два конвейера из пяти стадий. Похожая схема изображена на рис. 3, но разделение функций между второй и третьей стадиями (они назывались декодирование 1 и декодирование 2) было немного другим. Главный конвейер (u-конвейер) мог выполнять произвольные команды. Второй конвейер (v-конвейер) мог выполнять только простые команды с целыми числами, а также одну простую команду с плавающей точкой (FXCH).

Рис.3 Двойной конвейер из пяти стадий с общим отделом вызова команд.

7. Кэш-память

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

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

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

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

Интересно отметить, что существуют технологии сочетания маленькой и быстрой памяти с большой и медленной, что позволяет получить и высокую скорость работы, и большую емкость по разумной цене. Маленькая память с высокой скоростью работы называется кэш-памятью (от французского слова cacher "прятать"; В английском "cash" получило значение "наличные (карманные) деньги", то есть то, что под рукой. А уже из него и образовался термин "кэш", который относят к сверхоперативной памяти.). Ниже мы кратко опишем, как используется кэш-память и как она работает.

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

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

То, что при последовательных отсылках к памяти в течение некоторого промежутка времени используется только небольшой ее участок, называется принципом локальности. Этот принцип составляет основу всех систем кэш-памяти. Идея состоит в следующем: когда определенное слово вызывается из памяти, оно вместе с соседними словами переносится в кэш-память, что позволяет при очередном запросе быстро обращаться к следующим словам. Общее устройство процессора, кэш-памяти и основной памяти показано на рис.4. Если слово считывается или записывается k раз, компьютеру понадобится сделать 1 обращение к медленной основной памяти и k-1 обращений к быстрой кэш-памяти. Чем больше k, тем выше общая производительность.

Рис.4 Кэш-память находиться между процессором и основной памятью.

Мы можем сделать более строгие вычисления. Пусть с -- время доступа к кэш памяти, m -- время доступа к основной памяти и h -- коэффициент совпадения, который показывает соотношение числа ссылок к кэш-памяти и общего числа всех ссылок. В нашем примере h=(k-l)/k. Таким образом, мы можем вычислить среднее время доступа:

Среднее время доступа =c+(l-h)m.

Если h--"1 и все обращения делаются только к кэш-памяти, то время доступа стремится к с. С другой стороны, если h-->0 и каждый раз нужно обращаться к основной памяти, то время доступа стремится к с+т: сначала требуется время с для проверки кэш-памяти (в данном случае безуспешной), а затем время m для обращения к основной памяти. В некоторых системах обращение к основной памяти может начинаться параллельно с исследованием кэш-памяти, чтобы в случае неудачного поиска цикл обращения к основной памяти уже начался. Однако эта стратегия требует способности останавливать процесс обращения к основной памяти в случае результативного обращения к кэш-памяти, что делает разработку такого компьютера более сложной.

Основная память и кэш-память делятся на блоки фиксированного размера с учетом принципа локальности. Блоки внутри кэш-памяти обычно называют строками кэш-памяти. Если обращение к кэш-памяти нерезультативно, из основной памяти в кэш-память загружается вся строка, а не только необходимое слово. Например, если строка состоит из 64 байтов, обращение к адресу 260 повлечет за собой загрузку в кэш-память всей строки, то есть с 256-го по 319-й байт. Возможно, через некоторое время понадобятся другие слова из этой строки. Такой путь обращения к памяти более эффективен, чем вызов каждого слова по отдельности, потому что вызвать k слов 1 раз можно гораздо быстрее, чем 1 слово k раз. Если входные сообщения кэш-памяти содержат более одного слова, это значит, что будет меньше таких входных сообщений и, следовательно, меньше непроизводительных затрат.

Разработка кэш-памяти очень важна для процессоров с высокой производительностью. Первый вопрос - размер кэш-памяти. Чем больше размер, тем лучше работает память, но тем дороже она стоит. Второй вопрос - размер строки кэш-памяти. Кэш-память объемом 16 Кбайт можно разделить на 1К строк по 16 байтов, 2К строк по 8 байтов и т. д. Третий вопрос - как устроена кэш-память, то есть как она определяет, какие именно слова содержатся в ней в данный момент

Четвертый вопрос -- должны ли команды и данные находиться вместе в общей кэш-памяти. Проще разработать смежную кэш-память, в которой хранятся и данные, и команды. При этом вызов команд и данных автоматически уравновешивается. Тем не менее в настоящее время существует тенденция к использованию разделенной кэш-памяти, когда команды хранятся в одной кэш-памяти, а данные -- в другой. Такая структура также называется Гарвардской (Harvard Architecture), поскольку идея использования отдельной памяти для команд и отдельной памяти для данных впервые воплотилась в компьютере Магc III, который был создан Гавардом Айкеном в Гарварде. Современные разработчики пошли по этому пути, поскольку сейчас широко используются процессоры с конвейерами, а при такой организации должна быть возможность одновременного доступа и к командам, и к данным (операндам). Разделенная кэш-память позволяет осуществлять параллельный доступ, а общая -- нет. К тому же, поскольку команды обычно не меняются во время выполнения, содержание командной кэш-памяти никогда не приходится записывать обратно в основную память.

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

8. Процессоры семейства AMD Phenom II

В начале года, 8 января, компания AMD представила новую платформу AMD Dragon, основанную на процессоре нового семейства AMD Phenom II. Первоначально компания AMD продемонстрировала лишь два процессора данного семейства: AMD Phenom II Х4 940 и AMD Phenom II Х4 920, которые совместимы с разъемом АМ2+ и поддерживают память DDR2. Позднее были представлены процессоры семейства AMD Phenom II, совместимые с разъемом АМЗ и поддерживающие как DDR2, так и DDR3-память.

Модельный ряд процессоров семейства AMD Phenom II

Главное отличие новых процессоров семейства AMD Phenom II от процессоров семейства AMD Phenom заключается в том, что они выполнены по 45-нм техпроцессу с применением технологии S0I, в то время как процессоры семейства AMD Phenom выполняются по 65-нм техпроцессу.

Точно так же, как и процессоры семейства AMD Phenom, они представляют собой истинно многоядерные процессоры, то есть все ядра процессора выполнены на одном кристалле.

Среди нововведений, реализованных в новых процессорах AMD Phenom II, можно также отметить усовершенствованную технологию AMD Cool'&'Quiet 3.0. Она объединяет в себе ряд функций, позволяющих снизить энергопотребление процессора в те моменты, когда он недозагружен, а также предотвратить перегрев процессора.

При анонсе нового процессора семейства AMD Phenom IIХ4 компания AMD указывала и на другие преимущества в сравнении с предыдущим семейством. В частности, отмечалось, что новые процессоры выполняют больше инструкций за такт (Instruction Per Clock, IPC).

Семейство процессоров AMD Phenom II в настоящее время включает три серии: AMD Phenom II Х4 900, AMD Phenom II Х4 800 и AMD Phenom II ХЗ 700.

Процессоры серии AMD Phenom II Х4 900

Сейчас в 900-ю серию процессоров входят две четырехъядерные модели: AMD Phenom II Х4 940 и AMD Phenom IIХ4 920. Каждое ядро процессора AMD Phenom IIХ4 900-й серии имеет выделенный L-2-кэш размером 512 Кбайт и разделяемый между всеми ядрами L3-кэш размером 6 Мбайт.

Процессор AMD Phenom II Х4 940 имеет тактовую частоту 3,0 ГГц, а процессор AMD Phenom II Х4 920 -- 2,8 ГГц. Эти процессоры оснащены интегрированным двухканальным контроллером памяти DDR2 и поддерживают память DDR2 667/800/1066.

Процессоры AMD Phenom II Х4 940 и AMD Phenom IIХ4 920 совместимы с разъемами Socke АМ2+/АМ2 и поддерживают шину HyperTransport 3.0 на скорости до 3600 МГц (двусторонняя) пропускной способностью до 16 Гбайт/с. Оба процессора имеют TDP 125 Вт.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.