Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Процессорнаяшина






Любой процессор обязательно оснащён процессорной шиной, которую в среде x86 CPU принято называть FSB (Front Side Bus). Эта шина служит каналом связи между процессором и всеми остальными устройствами в компьютере: памятью, видеокартой, жёстким диском, и так далее. Процессор посредством FSB связывается с контроллером памяти, а уже тот, в свою очередь, по специальной «шиной памяти» - с модулями ОЗУ на плате.

При этом, поскольку «внешняя» шина у классического x86 CPU всего одна, она используется не только для работы с памятью, но и для общения процессора со всеми остальными устройствами.

Различиямеждутрадиционнойдля x86 CPU архитектуройи K8/AMD64

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

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

Оперативнаяпамять.

1. Разрядность шины памяти, N-канальные контроллеры памяти.

По состоянию на сегодняшний день, вся память, используемая в современных десктопных x86-системах имеет шину шириной 64 бита. Это означает, что за один такт по данной шине одновременно может быть передано количество информации, кратное 8 байтам (8 байт для SDR-шин, 16 байт для DDR-шин). Ширина шины памяти во всех современных контроллерах, применяемых в x86-системах, равна 64 битам - независимо от того, находится этот контроллер в чипсете, или в самом процессоре. Некоторые контроллеры оснащены двумя независимыми 64-битными каналами, но на разрядность шины памяти это никак не влияет - только на скорость считывания и записи информации.

2. Скорость чтения и записи. Скорость чтения и записи информации в память теоретически ограничивается исключительно пропускной способностью самой памяти. Так, например, двухканальный контроллер памяти стандарта DDR400 теоретически способен обеспечить скорость чтения и записи информации, равную:

8 байт ( ширинашины ) * 2 ( количествоканалов ) * 2 ( протокол DDR, обеспечивающийпередачу 2 пакетовданныхза 1 такт ) * 200'000'000 тактоввсекунду ( фактическаячастотаработышиныпамятиравная 200 МГц ) = 6400 Гбайт / сек.

 

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

3. Латентность. Скорость линейного чтения или записи является вовсе не единственной характеристикой, влияющей на фактическую скорость работы процессора с ОЗУ. Необходимо кроме линейной скорости считывания или записи учитывать ещё и такую характеристику, как латентность.

Латентность - время, которое требуется для того, чтобы начать считывать информацию с определённого адреса.

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

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

У разных типов памяти она разная. Так, например, память типа DDR2 имеет в среднем гораздо большие задержки, чем DDR (при одинаковой частоте передачи данных). В результате, если данные в программе расположены хаотично и небольшими кусками, скорость их считывания становится намного менее важной, чем скорость доступа к началу куска, так как задержки при переходе на очередной адрес влияют на быстродействие системы намного сильнее, чем скорость считывания или записи.

Компромисс между скоростью чтения (записи) и латентностью - одна из основных проблем разработчиков современных систем: к сожалению, рост скорости чтения (записи), почти всегда приводит к увеличению латентности. Так, например, память типа SDR (PC66, PC100, PC133) обладает в среднем лучшей (меньшей) латентностью, чем DDR. В свою очередь, у DDR2 латентность ещё выше (то есть хуже), чем у DDR.

Заметим, что понятия < скорость чтения / записи> и < латентность>, в общем случае, применимы к любому типу памяти - в том числе не только к классической DRAM (SDR, Rambus, DDR, DDR2), но и к КЭШу.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.