- •Ответы на вопросы
- •1.Оценка скорости печати
- •2. Все про многопоточность и многопроцесоррность.
- •2,1 В чем смысл использовать потоки в одном одноядерном процессоре:
- •2,2 Что такое потоки
- •2,3 Доступ к данным разных потоков
- •3 Формат чисел с плавающей запятой
- •4 Почему повышение приоритетов потоков может влиять на степень распараллеливания при вычислении много поточного приложения намногоядернном компе?
- •5 Что такое и для чего numproc,myid. Все об mpi кароч
- •6 (3) Все про регистр cs
- •7 (3,1) Способы адресации
- •8 (4) Типы флешпамяти
- •9 Зачем flash память применяется в процессоре (может на материнской плате)
- •10 Что такое контекст потока и должен ли он отличаться от контекста процесса:
- •11 Что происходит при проверке занятости мьютекса потоком, если мьютекс уже находится в несигнальном состоянии?
- •12 Что такое привязка потоков к ядрам и как она может выполняться?
- •Какие функции реализует применительно к mpi программа smpd
- •В каком случае можно получить выигрыш в быстродействиии при использовании программ, основанных лишь на mpi, лишь на одном компьютере?
- •Ответы на вопросы по билетам
- •В чем смысл использовать потоки в одном одноядерном процессоре:
- •Как программно определить причину произошедшего прерывания в подпрограмме обработки прерывания?
- •Мьютексы Доступ к данным разных потоков
- •Приоритет потоков
- •Формат чисел с плавающей запятой
Как программно определить причину произошедшего прерывания в подпрограмме обработки прерывания?
Нужно проверять регистр идентификации прерывания IN
01 передатчик готов вывод символа в регистр хранения передатчика
-
получены данные чтение регистра приемника данных
11 изменение статуса модема чтение регистра статуса модема
00 ошибка или перерыв чтение регистра статуса линии
4 билет:
-
Мьютексы Доступ к данным разных потоков
Все потоки процесса делят адресное пространство и выполняют каждый свой код. Но потоки могут выполнять один и тот же программный код.. Может случиться Гонка данных
К одной и той же переменной могут ссылаться несколько потоков. Что может изменить эту переменную. В результате может быть неправильный ответ. Или же завершении работы программы. Чтобы это устранить используют мьютексы (а также критические секции, событие). – это объект синхронизации потоков. Которй создается CreateMutex(). Он показывает сигнальное состояние. Или же “установлен” когда объект не принадлежит ни одному потоку. И наоборот показывает “сброшен” когда объектом уже владеет какая либо нить(поток). Доступ к объекту ращрешиться тогда, когда нить владеющая им освободит его.
-
Приоритет потоков
Win32 API может распределять временем между потоками. Благодаря приоритетам.
Функция SetPriorityClass(…): чтобы изменять приоритет
IDLE_PRIORITY_CLASS программа заставка
BELOW_NORMAL_PRIORITY_CLASS
NORMAL_PRIORITY_CLASS
ABOVE_NORMAL_PRIORITY_CLASS
HIGH_PRIORITY_CLASS например диспечер задач
REALTIME_PRIORITY_CLASS самый высокий приоритет. Потоки этого процесса вытесняют другие. Если будет выполняться процесс с этим приоритетом, то он остановит мышь или кэширование например
-
Формат чисел с плавающей запятой
IEEE754
Расмотрим float тип данных
-
Знак s=0 (положительное число)
-
Порядок E=011111002-12710 = -3
-
Мантисса M = 1.012 (первая единица не явная)
1,01 —следует 1×20 + 0×2-1 + 1×2-2.
1,01e-3 = 1×2-3 + 0×2-4 + 1×2-5 = 1×0,125 + 0×0,0625 + 1×0,03125 = 0,125 + 0,03125 = 0,15625.
F=1 в степени s * (2 в степени (Е-127)) * (1+ (M/(2 в степени 23)))
а – одинарный; б – двойной