OSDev

для всех
Текущее время: 15 дек 2017, 07:34

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 15 май 2015, 15:53 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1057
Так не требуется остановка процесса/потока. Теоритически задержка будет не более 10-100 тактов.
А вот для остановки процесса и сохранения всех регистров. Требуется 1-4 мкс (600-3500 тактов) . Сохранение + запуск => умножаем цифры на 2.

При правильной организации выгодно предположим от 1000 элементов в массиве. Так что для сжатия картинки, и подавно видео выгодно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 16:42 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1315
Откуда: Зеленоград
panotnap писал(а):
Спасибо.
pavia писал(а):
1) Команд для работы с разными ядрамми в ассемблере нет.
Несколько обескураживает... А как же программисту распределять возможности многоядерных процессоров?


Многоядерный процессор -- это всего лишь несколько абсолютно независимых друг от друга процессоров, реализованных в виде одной микросхемы. Чтобы каждое ядро (каждый процессор) нагрузить работой, надо запустить несколько потоков. Если используется готовая ОС, поддерживающая многопоточность (Windows, например), то запуск потока делается соответствующим вызовом системного API. Если система не поддерживает многопоточность, но является многозадачной (UNIX), можно запустить несколько задач. Наконец, если ОС однозадачная или ОС нет вообще, но есть прямой доступ к оборудованию (программа пишется под "голое железо"), то надо смотреть, как именно запускать процессоры в работу -- изначально все процессоры, кроме одного, либо остановлены, либо крутятся в пустом цикле. В некоторых архитектурах для взаимодействия между процессорами существуют специальные команды, но в большинстве случаев "общение" идёт через общесистемный контроллер прерываний или каким-либо подобным образом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 16:45 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1315
Откуда: Зеленоград
scuter писал(а):
мне больше армы нравятся, там прям команды есть загрузить в сопроцессор регистры, запустить сопроцессор в каком то месте.


Как обычно, несёте чушь и ахинею. Никаких сопроцессоров, работающих независимо от основного процессора, в АРМах нет; сопроцессоры -- это, по сути, просто расширения основного процессора, причём не всегда имеющие какие-либо инструкции вообще (например, сопроцессор 15 в классических АРМах -- это логика управления кэшами, MMU и т.п. вещами; его регистры являются аналогами управляющих и моделезависимых регистров в архитектуре IA-32).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 17:40 
Аватара пользователя

Зарегистрирован: 28 май 2012, 23:44
Сообщения: 237
Откуда: Санкт-Петербург
SII писал(а):
если ОС однозадачная или ОС нет вообще, но есть прямой доступ к оборудованию (программа пишется под "голое железо"), то надо смотреть, как именно запускать процессоры в работу -- изначально все процессоры, кроме одного, либо остановлены, либо крутятся в пустом цикле.

Ситуация, типичная для самописных ОС, типа "Колибри". Одно время они хотели отдельное ядро для графики использовать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 18:06 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1315
Откуда: Зеленоград
Freeman писал(а):
Ситуация, типичная для самописных ОС, типа "Колибри". Одно время они хотели отдельное ядро для графики использовать.


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 19:00 

Зарегистрирован: 28 окт 2014, 10:41
Сообщения: 30
А как вы считаете, возможно ли в будущем кардинальное увеличение числа ядер? Скажем, будет 512 штук или "хотя бы" 128.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 19:09 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1315
Откуда: Зеленоград
Пока такой возможности (для процессоров общего назначения) не просматривается технологически, да и нужды в этом для обычных ПК и тем более всяких там смартфонов нет. Так что в обозримом будущем -- нет, а дальше -- дожить надо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 19:14 

Зарегистрирован: 28 окт 2014, 10:41
Сообщения: 30
SII писал(а):
Пока такой возможности (для процессоров общего назначения) не просматривается технологически, да и нужды в этом для обычных ПК и тем более всяких там смартфонов нет. Так что в обозримом будущем -- нет, а дальше -- дожить надо.

Хорошо, если так.
Просто если представить такую тенденцию, то нужно будет программировать всё несколько по-другому. Допустим, если окажется целесообразнее увеличить кол-во ядер, но уменьшить при этом их тактовую частоту, то в таком случае все ОС, заточенные под небольшое число быстрых ядер, полетят к чертям. А также распределение процессов по ядрам вместе с ними, так как они не справятся с потоками в одиночку.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 19:39 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1057
panotnap
Да увеличение ядер вызовет смену к подходу в программировании. Не скажу что сильно, но пока общество не созрело.

Проблем создать нет есть к примеру вот такая штучка с 60 ядрами. http://www.intel.ru/content/www/ru/ru/p ... etail.html
Там х86 процессоры. Можно сделать и больше, если ядра будут попроще.

http://ark.intel.com/products/84684/Int ... e-2_00-GHz
18 ядер в северном процессоре.

Но выхода нет. Хочешь увеличивать производительность увеличивай число ядер. И так будет продолжаться до 128 точно, а там скорее всего может произойти скачок до 512, а то и более.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 май 2015, 02:59 
Аватара пользователя

Зарегистрирован: 28 май 2012, 23:44
Сообщения: 237
Откуда: Санкт-Петербург
panotnap писал(а):
Просто если представить такую тенденцию, то нужно будет программировать всё несколько по-другому. Допустим, если окажется целесообразнее увеличить кол-во ядер, но уменьшить при этом их тактовую частоту, то в таком случае все ОС, заточенные под небольшое число быстрых ядер, полетят к чертям.

В кои веки на форуме появился думающий и грамотный новоприбывший, аж отвечать приятно.

На самом деле такие опыты проводятся, или о об их проведении хотя бы заявляется. Идея носится в воздухе, что называется. Техпроцесс, доступный средним игрокам рынка, уже стал настолько мелким, что появился смысл экспериментировать. В ближайшие два-три года наверняка что-то появится, сейчас подолгу ждать не надо.

Одно понятно -- у этих процессоров архитектура будет точно не x86. Надеюсь, не надо объяснять, почему?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB