
- •Билет №1
- •1.Основные характеристики эвм (любую рекламную газету берёте, там они есть ).
- •Скорость обмена информации – скорость записи/считывания на носитель, которая определяется скоростью вращения и перемещения этого носителя в устройстве.
- •2.Видеоадаптер mda (м-дя).
- •Устройства вывода информации (монитор, принтер, акустическая система и т.Д.).
- •2.Адаптер cga
- •Билет №4
- •Билет №5
- •2/Графические и текстовые режимы видеоадаптеров
- •15 И 25 бита распределяются м/у базисными цветами r:g:b поровну (5:5:5 и 8:8:8), 16 бит – с учетом особенностей цветовосприятия неравномерно (5:6:5 или 6:6:4)
- •Билет №6
- •1/Организация взаимодействия процессора с памятью.
- •2/Процессоры intel 80486 и первый пень (ну или другой)
- •Билет №7
- •1/Микросхемы зу. Классификация зу.
- •2/Загрузочная запись (к дискам относится)
- •Билет №8
- •1/Понятие стека. Варианты стековой памяти.
- •2/Представление целых чисел в эвм
- •Билет №9
- •2/Таблица размещения файлов (fat).
- •Билет №10
- •1/ Понятие интерфейса
- •Билет №11
- •1/Внутренние шины эвм (“сложный” вопрос – шина адреса, шина данных и шина управления)
- •2/Структура дисков. Основные понятия. Объём диска.
- •Билет №12
- •1/Организация взаимодействия центрального процессора с внешними устройствами.
- •2/Итак, есть три формата:
- •Билет №13
- •1/Сопроцессоры и их назначения (математический сопроцессор вспомни).
- •Билет №14
- •1/Адаптеры, в скобках контроллеры, внешних устройств и их назначения.
- •Билет №15
- •2/Сложение и вычитание вещественных чисел.
- •Билет №16
- •Билет №17
- •1/Управление клавиатурой
- •2/Единица измерения двоичной информации (кто уж на него не ответит, то простите…)
- •Билет №18
- •2/Понятие адресного пространства эвм.
- •Билет №20
- •1/Прямой доступ к памяти (dma – direct memory access)
- •2/Процессор intel 80386
Билет №12
1/Организация взаимодействия центрального процессора с внешними устройствами.
Итак, внешние устройства подключаются к машине по средствам адаптера или контроллера (см первый билетик). Взаимодействие периферийных устройств с адаптером осуществляется через порты ввода-вывода. Для обеспечения эффективного взаимодействия ЦП и периферийных устройств используется механизм прерываний. Зачем он нужен:
Он необходим, что бы устройство могла обратить на себя внимание процессора и потребовать немедленной обработки какой-то ситуации по мере их возникновения. Если бы такого механизма не было, то процессору пришлось бы постоянно проверять каждое устройство на наличие ситуации, необходимой для обработки. Работа процессора прерывается некоторым сигналом от устройства. Этот сигнал содержит уникальный номер обработчика прерываний – программы, которую процессор должен выполнить, когда к нему поступает сигнал с прерыванием.
Теперь рассмотрим что такое приоритет прерываний: вот процессор работает, выполняет по очереди команды, и тут вдруг приходит прерывание от устройства. Процессор на свою текущую задачу забивает, и переходит к обработчику прерывания…. Но пока он выполняет эту программу-обработчик, может поступить ещё одно прерывание, и бедному процессору нужно либо разорваться, либо решить, какое прерывание он больше любит, и выполнить его первым. Вот приоритет прерывания определяет, как сильно процессор «любит» то, или иное прерывание. Т.е. говоря более общим языком, если процессор выполняет одно прерывание с одним приоритетом, и ему приходит второе прерыванием с другим приоритетом, то вначале он выполнит то прерывание, приоритет которого выше, а уже потом разберётся с тем, у которого приоритет ниже.
О взаимодействии внешних устройств и оперативной памяти не плохо написано в билетике 1. Советую ещё раз его прочесть.
2/Итак, есть три формата:
Short real – короткое вещественное. 32 бита.
Long Real – длинное вещественное. 64 бит.
Extended Real – расширенное вещественное. 80 бит.
Сейчас мы более подробно рассмотрим Short Real.
Любое вещественной число представляется в памяти как знак, порядок и мантисса. Вот как получить число, исходя из порядка и мантиссы: X = M * 2P, где P – порядок, а M – мантисса.
В Short Real на мантиссу отводится 23 бита, на порядок отводится 8 бит и на знак 1 бит. Вот как это выглядит:
31 |
0 |
... |
3 |
2 |
... |
0 |
Знак (1бит) |
Порядок (8 бит) |
Мантисса (23 бита) |
Верхняя строка – номер бита. Нижняя строка – что хранится в этих битах. В 31ом бите хранится знак мантиссы. У порядка тоже есть знак, но порядок представлен в коде со смещением, поэтому знак там уже учтён.
Очевидно, что мантисса всегда меньше 2, так как если она больше двух, то еденицу можно перекинуть в порядок. В тоже время мантисса всегда больше 1. Т.е. целая часть всегда 1. В компании intel решили, что коли целая часть всегда единица, то хранить её нету смысла, поэтому в битах, отведённых под мантиссу, единица не хранится целой части не хранится. Т.е., если некоторое число представили как 1.24352 * 233, то мантисса, которую запишет к себе в память компьютер (мат. Сопроцессор) будет не 1.24352, а 0.24352
Итак, рассмотрим на примере:
777.8 – вот исходное число. Как его записать в памяти в формате short real? Очень просто!!!
Ближайшая наибольшая степень двойки к этому число – это 512. Т.е. 256 – мало, а 1024 – уже много. Значит порядок числа – 9 (29 = 512).
Знак числа, как очевидно, «+», значит в 31ом бите будет 0 (1 это минус).
Осталось найти мантиссу. Для этого разделим 777.8 на 512. Получим число 1.518 – это и есть мантисса. Если у вас мантисса получилась больше двух, значит, вы взяли слишком маленький порядок. Увеличьте его на 1. Далее: как было сказано выше, 1 в целой части мантиссы не хранится, значит, мантисса, которую запишет себе в память компьютер будет не 1.518, а 0.518!
Итак, осталось записать в память мантиссу (0.518), порядок (9) и знак (0). Для этого нужно перевести всё это в двоичный код.
Вначале разберёмся с порядком. 910 = 10012. Однако давайте вспомним, что я писал выше: порядок хранится в коде со смещением! Т.е. к 9 нужно прибавить 127. Почему 127? Потому что 28 – 1 = 127. Итак, 9 + 127 = 136. Переводим в двоичный код и получаем 13610=100010002. Вот “10001000” и будет записано в порядке.
Теперь найдём мантиссу. Для этого нужно представить 0.518 в двоичном виде:
0.518 * 2 = 1.036
0.036 * 2 = 0,072
0.072 * 2 = 0,144
0.144 * 2 = 0.288
0.288 * 2 = 0,576
0.576 * 2 = 1,152
0.152 * 2 = 0.304
0.304 * 2 = 0.608
… и т.д. до достижения необходимой точности (23 знака)
Жирным цветом я обозначил искомое двоичное представление нашей мантиссы. Т.е. мантисса будет записана как 10000100…
Кстати, Игнатьев показывал и более удобный способ перевода в двоичный вид, а именно – умножением не на 2, а на 16:
0.518 * 16 = 8.288, но 816 = 10002
0.288 * 16 = 4.608, но 416 = 01002
0.608 * 16 = 9.728, но 916 = 10012
Как видите, всего за 2 действия мы сделали то, что делали 8 действий при умножении на 2. Хороший метод. Согласно ему, мантисса будет: 100001001001…
Ну вот, мы нашли и мантиссу, и порядок, теперь запишем это в памяти:
1 |
0 |
... |
3 |
2 |
... |
0 |
0 |
10001000 |
100001001001... |
Вот это и будет спрашивать у нас Игнатьев. Во всяком случае, он так сказал. Надеюсь, что я не прав, и он пошутил.
И что бы закончить своё короткое повествование, напомню вам, что такое long real и extended real. Они практически не чем не отличаются от short real: метод представления у них такой же, разница только в точности и ещё кое-чём. Вначале о точности:
Long real: порядок – 11 бит. Мантисса – 52 бит.
Extended Real: порядок – 15 бит. Мантисса – 64 бита.
Как видите, увеличивается в основном мантисса. Это логично.
И последнее: в формате Extended Real в мантиссе ЗАПИСЫВАЕТСЯ та целая единичка, которая отбрасывается в short real и в long real.
Это всё. Теперь можете начать учить билетики, ибо допуск у вас (если вы это поняли) уже есть!!! Удачи.