Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Одноядерные и двуядерные процессоры

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> Одноядерные и двуядерные процессоры
Имя
Сообщение << Старые топики   Новые топики >>
Одноядерные и двуядерные процессоры - 2007-11-22 22:56:28.456666   
01qwerty10

Сообщений: 8
Оценки: 0
Присоединился: 2007-10-09 18:06:50.883333
Есть ли разница программить на Asm`e под Одноядерные и двуядерные процессоры
Post #: 1
RE: Одноядерные и двуядерные процессоры - 2007-11-22 23:41:37.013333   
BinZo

Сообщений: 230
Оценки: 0
Присоединился: 2006-12-02 20:29:14.373333
Ни разу не пробовал, но имхо ничем. Просто программу делишь на несколько функций-потоков, а затем используешь API-функцию:
HANDLE CreateThread(LPSECURE_ATTRIBUTES secAttr, SIZE_T stack_size, [b]LPTHREAD_START_ROUTINE thread_function[/b], LPVOID param, DWORD flags, LPDWORD threadID);"thread_function" - адрес функции-потока
ЗЫ а, да кстати. Прототип для всех функций-потоков:
DWORD WINAPI funcName(LPVOID param);
Post #: 2
RE: Одноядерные и двуядерные процессоры - 2007-11-23 11:27:14.356666   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
DWORD SetThreadAffinityMask (

HANDLE hThread, // handle to the thread of interest
DWORD dwThreadAffinityMask // a thread affinity mask
);

выбирает на каком процессоре будет выполняться тред
Post #: 3
RE: Одноядерные и двуядерные процессоры - 2007-12-11 10:38:00.263333   
crbunny

Сообщений: 223
Оценки: 0
Присоединился: 2006-06-22 21:20:01
Если не вдаваться в подробности - ничем. Поцесссор уже и так перегружен фишками вроде кэша, ассациотивной памяти, предсказания переходов, предвыполнения операций, чтобы с чистой совестью забивать на то что процессора стало два.
Post #: 4
RE: Одноядерные и двуядерные процессоры - 2008-01-09 04:38:20.843333   
MrCMuT

Сообщений: 16
Оценки: 0
Присоединился: 2007-07-17 20:26:56.050000
вроде бы нету… 
Post #: 5
RE: Одноядерные и двуядерные процессоры - 2008-01-09 05:00:57.880000   
furiousangel

Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
Если ты не собираешься использовать преимущества двухядерных камней то ничем отличаться не будет, но если же хочешь, то естественно работу можно немного ускорить, если потоки равномерно распределять между ядрами. В С\С++ есть пакеты с помощью которых кодинг для двух ядер сводится к вызову CreateThread (если точнее CreateRemoteThread), а распределение между ядрами выполняют все те же пакеты (как утверждают часто не оптимально). Но на асме все сложнее имхо (не доводилось кодить под два ядра).Как минимум еще нужна функция, приведенная redsh. Могу сказать что недавно в Х писали про два ядра. Там прада рассматривался вариант кодинга на Сях, но думаю что то полезное себе вынесешь.
Post #: 6
RE: Одноядерные и двуядерные процессоры - 2008-01-09 05:39:11.366666   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

ORIGINAL: furiousangel
Как минимум еще нужна функция, приведенная redsh.

она как раз не нужна. Если же кажется что это не так, то скорее всего ты чего-то не то делаешь. Не дело user-space приложения думать о количестве процессоров и о том, кто на каком из них выполняется. То есть бывают исключения, например, может быть полезно знать количество процессоров, чтобы знать на сколько потоков распараллеливать задачу. А уж думать на каком процессоре выполняться – вообще глупость. Какая разница? Пускай хоть на всех по очереди, операционной системе виднее. Для того она и операционная система. Из-за этого её и терпят прикладные программисты. А то нафига она нужна?
На асме для smp писать то же самое, что и на C/C++/Delphi/Java/всё-что-угодно. С одним "но": если пишем под многозадачную ОС, которая умеет SMP. Если пишем в досе, и хочем своей программой все процессоры (ну или ядра) загрузить, то придётся брать на себя функции операционной системы по раскидыванию задач по процессорам.
Post #: 7
Страниц:  [1]
Все форумы >> [Прочее] >> Одноядерные и двуядерные процессоры







Связаться:
Вопросы по сайту / xakep@glc.ru

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