Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
3 / 3 / 0
Регистрация: 22.07.2014
Сообщений: 209
1

Регистры разных ядер процессора - такое существует?

29.03.2015, 14:28. Показов 2556. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вобщем необходимо понять как работает assembler на разных ядрах, как переместить из регистра одного ядра значение в аналогичный регистр второго, как их синхронизировать если такое возможно, если натолкнете на матерриал буду благодарен
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2015, 14:28
Ответы с готовыми решениями:

Что такое регистры микропроцессора? Перечислите регистры общего назначения
Помогите пожалуйста решить задания по TASM 1) Что такое регистры микропроцессора? Перечислите...

Регистры процессора
Купил книгу "Ассемблер это просто" и начал изучать сей предмет. Вроде бы по началу понятно, но есть...

Использование ядер процессора
Есть многоядерный процессор надо на какое то конкретное ядро запустить поток. Как это сделать?...

Температура ядер процессора
Температура ядер процессора. При тесте на старой материнке температура ядер была ниже чем на новой...

3
4165 / 1817 / 216
Регистрация: 06.10.2010
Сообщений: 4,074
30.03.2015, 13:16 2
Немного погуглил на эту тему и вот, что удалось узнать:
  1. Определить номер ядра на котором исполняется поток в данный момент поможет функция GetCurrentProcessorNumber.
  2. Чтобы задать процессоры (ядра) на которых может исполняться поток - следует использовать функцию SetThreadAffinityMask, причём на системах с более чем 64 ядрами эти ядра комбинируются в группы. Чтобы задать группу ядер существует функция SetThreadGroupAffinity.

Ну а переместить значение из регистра одного ядра в регистр другого ты можешь только через память. При изменении ядра через SetThreadAffinityMask операционная система сама сохранит значения всех регистров в память, затем после запуска потока на другом ядре эти значения будут восстановлены из памяти.
0
3 / 3 / 0
Регистрация: 22.07.2014
Сообщений: 209
30.03.2015, 18:51  [ТС] 3
murderer, Есть определенная задача и матерриал по ассемблеру на тему синхронизации, если кину в личку поможешь разобраться?
0
4165 / 1817 / 216
Регистрация: 06.10.2010
Сообщений: 4,074
31.03.2015, 06:19 4
Вот что пишут в документации Intel о разделяемых и дублируемых ресурсах ядер:
The following features are part of the architectural state of logical processors within Intel 64 or IA-32 processors
supporting Intel Hyper-Threading Technology. The features can be subdivided into three groups:
  • Duplicated for each logical processor
  • Shared by logical processors in a physical processor
  • Shared or duplicated, depending on the implementation
The following features are duplicated for each logical processor:
  • General purpose registers (EAX, EBX, ECX, EDX, ESI, EDI, ESP, and EBP)
  • Segment registers (CS, DS, SS, ES, FS, and GS)
  • EFLAGS and EIP registers. Note that the CS and EIP/RIP registers for each logical processor point to the instruction stream for the thread being executed by the logical processor.
  • x87 FPU registers (ST0 through ST7, status word, control word, tag word, data operand pointer, and instruction pointer)
  • MMX registers (MM0 through MM7)
  • XMM registers (XMM0 through XMM7) and the MXCSR register
  • Control registers and system table pointer registers (GDTR, LDTR, IDTR, task register)
  • Debug registers (DR0, DR1, DR2, DR3, DR6, DR7) and the debug control MSRs
  • Machine check global status (IA32_MCG_STATUS) and machine check capability (IA32_MCG_CAP) MSRs
  • Thermal clock modulation and ACPI Power management control MSRs
  • Time stamp counter MSRs
  • Most of the other MSR registers, including the page attribute table (PAT). See the exceptions below.
  • Local APIC registers.
  • Additional general purpose registers (R8-R15), XMM registers (XMM8-XMM15), control register, IA32_EFER on Intel 64 processors.
The following features are shared by logical processors:
  • Memory type range registers (MTRRs)
Whether the following features are shared or duplicated is implementation-specific:
  • IA32_MISC_ENABLE MSR (MSR address 1A0H)MULTIPLE-PROCESSOR MANAGEMENT
  • Machine check architecture (MCA) MSRs (except for the IA32_MCG_STATUS and IA32_MCG_CAP MSRs)
  • Performance monitoring control and counter MSRs
0
31.03.2015, 06:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2015, 06:19
Помогаю со студенческими работами здесь

Температура ядер процессора
Подскажите, каким образом получить температуру ядер процессора с помощью wmi? Не ругайтесь - я в...

% использования ядер процессора
Давно заметил странную закономерность, что проценты использования каждого из двух ядер процессора...

Не видит одно из ядер процессора
Доброго времени суток. Столкнулся с проблемой Win7 Home Premium видит только одно из ядер...

Определение колличества ядер процессора
#include <stdio.h> #include <tchar.h> #include <iostream> #include <windows.h> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru