Artem-dpn | ||||
Может ли кто разъяснить мне как работают современные процессоры? Как работает многоядерность и многопоточность? Что теперь является мерой производительности процессора? В основном интересуют современные двух и четырех ядерные процессоры. Известно, что каждое ядро, например двухядерного процессора с частотой 2.6ГГц работает на частоте 2.6ГГц. Почему тогда в маркировке процессора не пишут суммарную частоту ядер? В общем для меня это темный лес... Если у кого есть блок схемы архитектуры многоядерных процессоров Intel - поделитесь... P.S. Если тема клон - дайте ссылку на основную тему (когда создавал тему поиск по форуму не работал). |
||||
do-do | ||||
Во ..для желающих - предмет для СОЗДАНИЯ статьи :) ток думаю не стоит копировать Танненбаума
а зачем? Если ядро работает (гм... разные его части по разному кстати) на такой частое...к чему множить... опять же закон Амдала существует |
||||
Artem-dpn | ||||
Я исхожу из следующей ситуации: Допустим есть прграмма вычисляющая значание по какой-то формуле из массива данных. Берем эту прогрумму и привязываем к одному ядру процессора 2.6 (например ГГц). Получаем значение времени вычисления например 10 минут. А теперь запускаем вторую такуюже программу и привязываем ее к второму ядру. Обе программы по идее должны одновременно закончить вычиления через 10 минут (если одновременно запущены конечно +/-). Или я ошибаюсь? |
||||
Rambus | ||||
Многозадачность-это многозадачность. Каждое ядро занято отдельной программой, в этом случае производительность конечно возрастёт с производительностью одного ядра того же процессора, на которое повесят 2 программы сразу, но опять-таки разница будет далеко не двукратной. Например, у камней архитектуры Core общий кэш второго уровня, что позволяет при необходимости отдавать его целиком на одно ядро, то есть в данном случае у одного ядра будет небольшое преимущество в виде бОльшего кэша. А как на это отреагирует программа-раз на раз не приходится, зависит от конкретного софта. Складывать частоту ядер полюбому нельзя, как например нельзя купив 2 10-литровых ведра заявить что купили одно 20-литровое, ибо в одной руке, например, утащить 20 литров воды уже не получится. | ||||
Artem-dpn | ||||
Вот бы посмотреть на блок схему одноядерного процессора и двухядерного с обозначением конвейеров, шин и всех тонкостей... Может есть у кого в графическом виде? Стало бы хоть немного понятнее. |
||||
Rambus | ||||
Блок-схемы? Их есть на THG... http://www.3dnews.ru/cpu/new_core_conroe/index2.htmъ . чтобы ссылка заработала, уберите "ъ". | ||||
Artem-dpn | ||||
Видимо пока я не пойму принцип работы процессора, я не смогу понять всех обозначений в этой ссылке... Может объяснишь в двух словах... Я знаком с архитектурой фон Неймана. "Этапы цикла выполнения: 1. Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения; 2. Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности; 3. Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её; 4. Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды; 5. Снова выполняется п. 1." Честно говоря ничего не понятно. Вот если бы на реальном примере бы кто объяснил... |
||||
do-do | ||||
Я думаю Гарвардская схема будет понятнее :) там данные и команды разделены :) | ||||
do-do | ||||
![]() |