Может ли одноядерный процессор выполнять несколько команд одновременно, иметь нессколько потоков? если да, то каким образом может это происходить?
- Вопрос задан более трёх лет назад
- 3327 просмотров
1 комментарий
Оценить 1 комментарий
Если хотите углубиться, то почитайте про арифметический сопроцессор (не знаю, как сейчас, но раньше был точно), и видеопроцессор.
Решения вопроса 0
Ответы на вопрос 2
software engineer
1) Может ли одноядерный процессор выполнять несколько команд одновременно
Нет, одно ядро может выполнять только одну команту за такт.
2), иметь нессколько потоков? если да, то каким образом может это происходить?
Да, например в такой технологии как hyper-threading. Реализовано тем, что в процессоре есть два набора регистров для двух потоков, ОС видит процессор с двумя логическими ядрами.
Если один поток что-то ожидает, то процессор может переключиться и выполнить команду другого потока.
Понятно, что это не так быстро, как реальные два ядра — просто процессор просто не будет простаивать, если один поток чего-то ожидает, и не будет затрачивать время для переключения с одного потока на другой, так как необходимые для работы данные — во втором наборе регистров.
Как заставить человека делать то, что ты хочешь. Самая простая провокация.
Ответ написан более трёх лет назад
Нравится 2 6 комментариев
Saboteur если процессор поддерживает hyper-threading значит у него может быть несколько потоков, значит и он может параллельно выполнять несколько задач? под каждый поток в процессора идут отдельные регистры?
Андрей,
Процессор может выполнять несколько задач, но не несколько команд. Почувствуйте разницу.
В стандартной ситуации, когда многозадачная операционная система выполняет несколько программ одновременно, на самом деле в единицу времени всегда выполняется только одна программа. Затем по прерыванию таймера одна программа приостанавливается, все ее данные сохраняются, переключаемся на другую программу, восстанавливаем данные, запускаем.
На сохранение и восстановление данных (состояние регистров, стека) уходит время.
Гипертрейдинг позволяет выполнять два потока на железном уровне. То есть система думает что процессоров два. А процессор сам считает, когда какой поток выполнять, переключаясь между ними. Например, когда некая программа ожидает данных от устройства, процессор может выполнить команду для другого потока, при этом у него есть двойной набор регистров, чтобы не тратить время на их восстановление.
Но сам процессор — один, за один такт — только одна команда.
Собственно детальное пояснение что такое гипертрейдинг вполне доступно описано на википедии, а на ютубе есть даже видяшки от интела, где наглядно демонстрируется что происходит.
Saboteur, в программировании когда мы выполняем в разных потоках код, это выходит мы параллельно выполняем несколько задач или несколько команд?
Андрей, Это вы выполняете несколько задач, при этом за распределением процессорного времени следит операционная система, на базе которой вы пишете.
СТАТГРАД Информатика 28.03.2023 | Разбор всего варианта
Вы же, как программист, знаете какой именно способ многопоточности используете (библиотеки, платформы).
До уровня ассемблера и его прерываний в большинстве случаев добираются исключительно системные программисты, специализирующиеся на написании компиляторов, ядра систем. Ну еще в embedded.
Saboteur, https://ark.intel.com/products/126688/Intel-Core-i. как этот процессор может иметь несколько потоков если у него нет поддержки Hyper-Threading
Андрей, Number of Cores: 4, у него есть честных 4 ядра
Системный программист ^_^
Современные x86 процессоры устроены очень сложно. Они имеют внутри себя микропрограмму для декомпозиции и преобразования поступающих машинных слов на ещё более низкоуровневые опкоды (микроопкоды). Они включают в себя конвейерную архитектуру, когда независимые друг от друга команды исполняются частично параллельно.
Есть специализированные SSE, MMX, AVX команды (да и Floating-point тоже сюда), их исполнение производится на сопроцессорах и также может быть произведено одновременно с исполнением основных команд (а ещё могут одновременно исполняться на частях сопроцессора, так возможно одновременное исполнение сразу двух MMX команд). Медленная работа с памятью ускоряется кэшированием, но все равно может быть отложена «в фон» в угоду более быстрым командам. Предикция переходов «угадывает», куда пойдёт исполнение логического ветвления, процессор может вычислить часть команд ещё до того, как туда дойдёт исполнение. Всё ради того, чтобы вы посидели вконтактике без тормозов.
Сейчас сложно сказать, сколько команд выполняет процессор за такт. В зависимости от самой исполняемой программы, некоторые Intel или AMD x86 процесоры способны выполнять до 32 floating-point инструкций за один такт и до 6 «стандартных» микроопкодов за такт.
К примеру, цифровой сигнальный процессор архитектуры TMS320 по документации умеет исполнять 8 команд за такт, и компиляторы это учитывают, расставляют флаги зависимостей, стараются оптимизировать параллельное исполнение.
Источник: qna.habr.com
Презентация, доклад Тест по информатике
Вы можете изучить и скачать доклад-презентацию на тему Тест по информатике. Презентация на заданную тему содержит 41 слайдов. Для просмотра воспользуйтесь проигрывателем, если материал оказался полезным для Вас — поделитесь им с друзьями с помощью социальных кнопок и добавьте наш сайт презентаций в закладки!
Презентации » Информатика » Тест по информатике
Архитектура и организация ЭВМ — тест 12
 (2) в состоянии готовности задача ожидает получения необходимых данных из памяти или устройств ввода/вывода, а в состоянии ожидания процессу для исполнения необходим только центральный процессор 
 (3) в состоянии готовности процессу для исполнения необходим только центральный процессор, а в состоянии ожидания процесс не исполняется по причине занятости какого-либо ресурса помимо процессора 
Номер 3
Что характеризует коэффициент мультипрограммирования мультипрограммной ЭВМ?
 (1) максимальное количество программ, которое может одновременно обрабатываться в мультипрограммном режиме 
 (2) количество программ, которое находится в мультипрограммной ЭВМ в данный момент в активном состоянии, состоянии готовности или ожидания 
 (3) количество программ, которое находится в мультипрограммной ЭВМ в данный момент в активном состоянии 
Упражнение 2: Номер 1
Какое из соотношений между последовательностями состояний процесса является верным?
 (1) порождение всегда предшествует активному состоянию 
 (2) готовность всегда предшествует активному состоянию 
 (3) ожидание всегда предшествует окончанию 
 (4) активное состояние всегда предшествует окончанию 
Номер 2
Какие показатели характеризуют использование аппаратных ресурсов ЭВМ при мультипрограммном режиме работы?
 (1) коэффициент загрузки устройства 
 (2) коэффициент мультипрограммирования 
 (3) средняя длина очереди к устройству 
 (4) время выполнения пакета программ 
Номер 3
Каким образом можно обеспечить повышение пропускной способности мультипрограммной ЭВМ в случае, когда к одному из ресурсов образуется большая очередь?
 (1) заменой данного ресурса на более производительный 
 (2) заменой остальных ресурсов на менее производительные 
 (3) переформированием пакета задач 
Упражнение 3: Номер 1
Как в общем случае изменяется время выполнения программы при увеличении коэффициента мультипрограммирования?
 (1) увеличивается 
 (2) уменьшается 
 (3) не изменяется 
Номер 2
Как в общем случае изменяется время выполнения пакета программ при увеличении коэффициента мультипрограммирования?
 (1) увеличивается 
 (2) уменьшается 
 (3) не изменяется 
Номер 3
В каких случаях статическое распределение ресурсов предпочтительнее динамического?
 (1) когда необходимо минимизировать время выполнения нескольких программ 
 (2) когда необходимо обеспечить максимальную загрузку всех устройств мультипрограммной ЭВМ 
 (3) когда необходимо обеспечить исполнение отдельной программы за минимальное время 
Упражнение 4: Номер 1
Чем характеризуется мультипрограммный режим работы ЭВМ?
 (1) возможность перехода от выполнения одной задачи к другой 
 (2) в памяти ЭВМ одновременно содержатся программы и данные для выполнения нескольких задач 
 (3) ЭВМ содержит несколько процессоров, на которых возможно параллельное выполнение нескольких задач 
 (4) взаимная защита программ и данных, относящихся к различным задачам 
Номер 2
В каком случае увеличение коэффициента мультипрограммирования увеличивает пропускную способность ЭВМ?
 (1) всегда 
 (2) никогда 
 (3) когда устройства ЭВМ недогружены 
 (4) когда устройства ЭВМ перегружены 
Упражнение 5: Номер 1
Как вычисляется интервал существования процесса?
 (1) это время между порождением и окончанием процесса 
 (2) это время между порождением и окончанием процесса за вычетом времени ожидания 
 (3) это время между порождением и окончанием процесса за вычетом времени ожидания и готовности 
Номер 2
Как изменит повышение приоритета одной из программ пропускную способность мультипрограммной ЭВМ?
 (1) повысит 
 (2) снизит 
 (3) может привести как к повышению, так и к понижению пропускной способности 
Упражнение 6: Номер 1
Какие характеристики ресурса порождают конфликты?
 (1) статическое распределение ресурса 
 (2) динамическое распределение ресурса 
 (3) исчерпаемость ресурса 
Номер 2
Какие характеристики соответствуют виртуальному ресурсу?
 (1) виртуальный ресурс имеет расширенные функциональные возможности по отношению к физическому ресурсу, на базе которого он создан 
 (2) виртуальный ресурс обладает некоторыми дополнительными свойствами, которых физический ресурс не имеет 
 (3) виртуальный ресурс допускает динамическое распределение в отличие от физического, на базе которого он создан 
Источник: eljob.ru
>»>