
Gpu по сути своей — массивно параллельный процессор
Если мы говорим о графике, то совершенно естественно, что у вас большое количество пикселей на экране, большое количество вершин, треугольников и с этим большим массивом данных вам необходимо провести действия, но которые сходны. Intel говорит о 4 — 8 ядрах на кристалле, в то время как в GPU - море процессоров, массив процессоров исчисляется сотнями. GPU Tesla 10-ой серии — 240 процессоров, которые работают параллельно. Кардинальные отличия между архитектурами в том, что площадь кристалла тратится на множество вычислительных модулей. В то время как центральный процессор CPU тратит площади кристалла, допустим, на кэш и достаточно небольшое количество относительно мощных вычислительных ядер.
Программные модели тоже кардинально отличаются. CUDA создана потому что традиционные языки программирования такие — как традиционный С++ не совсем подходят для выражения этого параллелизма. Пришлось взять стандартный С, расширить его мета-конструкциями, что бы программист мог выражать параллельные задачи и создать свой компилятор. В этом, наверное, и состоит главное отличие платформы — масштаб параллелизма.
Графические процессоры Tesla серии 20 основаны на архитектуре «Fermi», являющейся третьим поколением архитектуры CUDA. Характеристики:
3 млдр. транзисторов
40-нм техпроцесс TSMC
512 ядер CUDA с новым стандартом IEEE 754-2008, объединенные в 16 потоковых мультипроцессоров
Тактовая частота ядер CUDA - около 1,5 ГГц
Пропускная способность шины памяти - около 192 Гбайт/с
1,5 Тфлопс при расчетах одинарной точности, 750 Гфлопс при расчетах двойной
Восстанавливаем пароль - По заявлению разработчиков, система с несколькими видеокартами NVIDIA способна перебрать до 1 млрд. паролей в секунду (зависит от формата), прирост быстродействия по сравнению с универсальными процессорами достигает десятков раз.
Для NTLM-хеша скорость перебора, используя мощности графического процессора, составляет 500 миллионов паролей в секунду.
В суперкомпьютере IBM Roadrunner, мировом лидере по производительности 2008 г., использованы процессоры Opteron 1.8 ГГц и PowerXCell 3.2 ГГц. PowerXCell имеет многоядерную архитектуру, включает один главный и восемь дополнительных процессорных элементов, выполнен по 65 нм технологии, производительность 14 ...102 Gflop/s
Доля (в процентах) продукции компаний в элементной базе суперкомпьютеров по списку Top500 от ноября 2007 г. INTEL-13, AMD-12, IBM -53. Хотя по данным других источников на июль 2008 г. Процессоры Intel Xeon используются более чем в 50% суперкомпьютеров, а процессоры AMD Opteron, так и IBM Power5 (Power6)- не более чем в 10%.
Память
Операти́вная па́мять (англ. Random Access Memory, память с произвольным доступом) — энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения им операции. Обязательным условием является адресуемость (каждое машинное слово имеет индивидуальный адрес) памяти. Передача данных в/из оперативную память процессором производится через сверхбыструю память. Оперативная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой уникальный адрес (номер). Физически кэш и оперативная память в современных компьютерах, как правило, являются полупроводниковыми.
Важнейшая характеристика памяти, от которой зависит производительность - это пропускная способность, которая выражается как произведение частоты системной шины на объем данных, передаваемых за каждый такт. Пропускная способность памяти типа DDR333 составляет 333 МГц х 8 Байт = 2,7 Гбайта в секунду или 2700 Мбайт в секунду.
Большая скорость обмена данными хороша тогда, когда их размер относительно велик, но если нам требуется «понемногу с разных адресов» — то на первый план выходит латентность - время, которое требуется для того, чтобы начать считывать информацию с определённого адреса. C момента, когда процессор посылает контроллеру памяти команду на считывание (запись) и до момента, когда эта операция осуществляется, проходит определённое количество времени. Если данные в программе расположены «хаотично» и «небольшими кусками», скорость их считывания становится намного менее важной, чем скорость доступа к «началу куска». Латентность подсистемы памяти зависит не только от неё самой, но и от контроллера памяти и места его расположения.
Понятия «скорость чтения / записи» и «латентность», в общем случае, применимы к любому типу памяти — в том числе не только к классической DRAM (SDR, Rambus, DDR, DDR2), но и к КЭШу.
Кэш — это некая особенная разновидность памяти, которая является своего рода «буфером» между контроллером памяти и процессором. Служит для увеличения скорости работы с ОЗУ. Любая считываемая из памяти информация попадает не только в процессор, но и в кэш. И если эта же информация (тот же адрес в памяти) нужна снова, сначала процессор проверяет: а нет ли её в кэше? Если есть — информация берётся оттуда, и обращения к памяти не происходит вовсе. Аналогично с записью: информация, если её объём влезает в кэш — пишется именно туда, и только потом, когда процессор закончил операцию записи, и занялся выполнением других команд, данные, записанные в кэш «потихоньку выгружаются» в ОЗУ. Чтобы в кэш могли поместиться новые, более актуальные, проводится отслеживание времени последнего обращения к данным, находящимся в кэше.
Скорость обмена данными процессора Pentium 4 со своим кэшам более чем в 10 раз (!) превосходит скорость его работы с памятью. Фактически, в полную силу современные процессоры способны работать только с кэшем. Систему кэширования в подавляющем большинстве CPU приходится делать многоуровневой. Кэш первого уровня (самый «близкий» к ядру) традиционно разделяется на две половины, кэш инструкций (L1I) и кэш данных (L1D). Кэш второго и третьего уровня — L2, L3 . Он, как правило, больше по объёму, и является уже «смешанным» — там располагаются и команды, и данные. Если ни на одном уровне кэша информация не найдена — идёт обращение к основной памяти (ОЗУ). Все уровни кэша работают на той же частоте, что и процессорное ядро.
В зависимости от состава выполняемых операций различают несколько типов памяти. Память с произвольным доступом (операциями как чтения, так и записи) обычно обозначают RAM (Random Access Memory), время доступа и, следовательно, цикл обращения к любой ячейке RAM для записи или считывания информации не зависят от места расположения (адреса) ячейки в накопителе.
В ЗУ с прямым доступом, к которым относятся ЗУ на дисках, обращение производится также в произвольном порядке, но не к ячейкам, а к блокам данных (файлам), обрамляемых специальными символами начала и конца. В ЗУ с последовательным доступом, характерным примером которого является ЗУ на магнитных лентах, информация хранится так же, как и в ЗУ на дисках, в виде блоков, которые в пределах одного носителя имеют последовательные адреса. Для доступа к какому-либо блоку по его заданному адресу последовательно ищется нужный том и далее просматриваются все номера блоков, пока не будет найден нужный блок.
В качестве элементов оперативной памяти используют ячейки, представляющие собой конденсаторы. Заряженный конденсатор хранит "1", разряженный — "0". Во время считывания информации конденсаторы разряжаются. Кроме того, заряд в конденсаторе из-за утечки хранится ограниченное время (несколько миллисекунд). Поэтому необходима подзарядка, которая выполняется в процессе регенерации информации. Это обстоятельство обусловило название памяти подобного типа — динамическая память или DRAM (Dynamic RAM). Малые размеры и простота элементов DRAM позволяют получить довольно большую емкость памяти, но из-за затрат времени на регенерацию снижается быстродействие.
С целью повышения быстродействия DRAM разработано несколько модификаций этого типа памяти. Синхронная память типа SDRAM (Synchronous DRAM) отличается от асинхронной памяти типа DRAM тем, что такты работы памяти засинхронизированы с тактами работы процессора. Это позволяет исключить циклы ожидания, имеющие место в DRAM.
По сравнению с обычной SDRAM в памяти типа DDR SDRAM (Double Date Rate SDRAM) при одной и той же частоте шины памяти быстродействие удалось увеличить вдвое за счет того, что обращения к памяти происходят дважды за такт — как по переднему, так и по заднему фронту тактовых сигналов.
В памяти типа DDR2 в отличие от DDR возможна работа на больших тактовых частотах. Например, в памяти DDR2-1066 при частоте шины 266 обеспечивается частота обращений к памяти 1066 МГц. Память типа DDR3 имеет меньшее потребление энергии по сравнению с DDR2.
DDR4 новый тип оперативной памяти, отличающийся от предыдущих поколений более высокими частотными характеристиками и низким напряжением. Будет поддерживать частоты до 4266 МГц.
В современных настольных компьютерах используется оперативная память двух типов - DDR и DDR2. Поддержка того или иного типа оперативной памяти осуществляется на уровне набора системной логики, как в случае с платформой Intel, либо на уровне самого процессора, как в случае с чипами AMD Athlon 64.
Накопитель на жестких магнитных дисках (винчестер) является разновидностью внешней памяти и представляет собой набор круглых пластин, находящихся на одной оси и покрытых с одной или двух сторон специальным магнитным слоем (рис. 1). При работе диска набор пластин вращается вокруг своей оси с высокой скоростью, подставляя по очереди под головки соответствующих дорожек все их сектора. Номер сектора, номер дорожки и номер цилиндра однозначно определяют положение данных на жестком диске и, наряду с типом совершаемой операции – чтение или запись, полностью характеризуют часть запроса, связанную с устройством, при обмене информацией в объеме одного сектора.
CD-ROM (Compact Disk Read Only Memory) - компакт-диск только для чтения памяти) - устройство, позволяющее считывать данные с компакт-диска. Представляет собой двигатель для вращения диска, генератор лазерного луча и преобразователь отраженного лазерного луча в электрические сигналы, соответствующие 0 и 1.
Cтриммер (от англ. streamer) - запоминающее устройство на магнитной ленте с последовательным доступом к данным, по принципу действия - обычный магнитофон.