Четверг, 21.11.2024, 14:33
Сайт группы ИБ-081 !
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта
Категории каталога
АСВТ [7]
Правоведение [0]
Эл. и Сх. [0]
Мини-чат
200
Наш опрос
Я юзаю
Всего ответов: 19
Главная » Статьи » Предметы » АСВТ [ Добавить статью ]

Дополнительные вопросы по АСВТ
Дополнительные вопросы
  1. Принципы фон Неймана (дата; соблюдать порядок принципов)
    Сформулированы Джоном фон Нейманом в 1945 г.
    1. Принцип двоичного кодирования
    2. Принцип адресуемости памяти
    3. Принцип программного управления
    4. Принцип однородности памяти
  2. Команда С3 – простейшая корректная программа. Почему?
    На стек при входе в программу кладётся 0. Возврат, таким образом, осуществляется на CS:0 (в PSP), а там лежит команда int 20h. Это сделано для совместимости с CP/M.
  3. Цикл процессора
    • выборка инструкции из памяти (при необходимости может довыбирать байты, если понимает, что инструкция не однобайтная)
    • выполнение инструкции
  4. Акронимы понятий (добавляйте, если еще какие были. Если что не так, исправляйте).
    BCD – Binary Coded Decimal
    RAM, SRAM, DRAM – Random-Access Memory, Static RAM, Dynamic RAM
    ROM – Read-Only Memory
    VLIW – Very Large Instruction Word
    IP – Instruction Pointer
    CISC, RISC – Complex Instruction Set Computer, Reduced Instruction Set Computer
    SIMD, SSE – Single Instruction – Multiple Data, Streaming SIMD Extensions
    NMI – Non-Maskable Interrupt
    PIC – Programmable Interrupt Controller(В Гуке написано Peripheral Interrupt Controller)
    DMA – Direct Memory Access
    PC XT, PC AT – PC Extended Technology, PC Advanced Technology,
    IRQ – Interrupt Request
    TSR – Terminate-and-Stay Resident
    POST – Power-On-Self-Test
    BIOS – Basic Input-Output System
    CMOS – Complementary Metal-Oxide Semiconductor
    RTC – Real-Time Clock
    ISA, EISA – Industry Standard Architecture, Extended ISA
    PCI – Peripheral Component Interconnect
    AGP – Accelerated Graphics Port
    VLB – Vesa Local Bus
    MCA – Microchannel Architecture
    FSB – Front Side Bus
    LPC – Low Pin Count
    ATA, ATAPI, SATA – AT Attachment, ATA Packet Interface, Serial ATA
    IDE – Integrated Drive Electronics
    SCSI – Small-Computer System Interconnection
    SLED – Single Large Expensive Drive
    RAID – Redundant Array of Inexpensive Drives
    CHS – Cylinder / Head / Sector? [схема CHS (механизм доступа BIOS к интерфейсу дисков IDE емкостью до 528 Мб) (c) Lingvo]
    FCAL – Fibre Channel Arbitrated Loop
    LBA – Logical Block Addressing
    USB – Universal Serial Bus
  1. Зачем процессор при прерывании самостоятельно делает CLI флага IF?
    Чтобы у обработчика был шанс обработать сигналы прерываний именно в том порядке, в каком они поступают. Если бы CLI перед обработчиком вообще не было – до обработки первого прерывания могло бы произойти второе такое же и оно бы обработалось сначала. Если бы CLI было записано первой инструкцией в обработчике, то второе прерывание все равно могло бы произойти – между срабатыванием первого прерывания и исполнением первой инструкции обработчика.
  2. Действия процессора при прерывании.
    • сохраняет флаги в стеке
    • CLI 
    • сохраняет адрес следующей инструкции в стеке
    • переходит на адрес, записанный в таблице векторов в месте, соответствующем номеру прерывания
  3. Почему в iret не встроили sti вместо восстановления флагов (и сохранения их вначале)
    Нельзя всегда после работы прерывания устанавливать флаг IF в 1, так как он мог быть равен 0 до срабатывания прерывания и нужно его вернуть к исходному виду, что и достигается сохранением и восстановлением флагов.
  4. Как запретить NMI? 
    Через порт 70h. Чтобы запретить NMI, надо вывести (out) в этот порт значение со старшим (7-м) битом = 1,
    чтобы разрешить = 0.
    out 70h,2Dh ;enable NMI – 2Dh is a reserved addr in the CMOS Memory

    out 70h,0ADh ;disable NMI

  5. Почему нельзя для Break Point использовать 2-хбайтовые команды (СD03)
    Потому что тогда мы бы испортили байт, следующий за тем, на который ставится брейкпойнт(в случае, если бы брейкпойнт был поставлен на 1-байтовую команду). А там могли быть, во-первых, данные, используемые кодом до брейкпойнта, а во-вторых, код, на который может перейти программа опять же до брейкпойнта.
  6. Что будет, если прочитать из «пустоты»?( адреса между C8000 – конец video Bios и F0000 – начало Bios)
    Видимо, нужно читать из области C8000 – DFFFF, пустым местом считается то, где нету дополнительных ROM BIOS. Если смотреть pepores-ом, там иногда встречаются ROM BIOS, иногда встречаются куски каких-то данных, но по большей части сплошные 00. Может это оно и есть?
    (Добавлю, а точнее процитирую Гука: «...а также ищутся модули карт расширения ROM BIOS (в зоне C8000-F4000h)". Так что по сути там осмысленная инфа)

  7. Сколько существует сегментных вариантов записи адреса FFFF0?
    Минимальное значение сегмента при записи этого адреса – F000h, максимальное – FFFFh. Получаем FFFFh-F000h+1=1000h=4096 способов.
  8. Что записать в CS:IP, чтобы началась перезагрузка?
    FFFF:0
  9. BIOS проецируется в память с определенным шагом. Узнать его. Какую сигнатуру смотрит? Узнать адрес до указателя точки входа.
    POST инициализирует Video BIOS по адресу С0000, а остальные BIOS-ы устройств ищет в диапазоне C8000 – DFFFF с шагом 2 Кб. ROM BIOS должен иметь специальный заголовок, выровненный по границе шага поиска. Структура заголовка:
    СмещениеДлинаНазначение
    02Сигнатура, младший байт – 55h, старший байт – AAh 
    21Длина, указанная в блоках по 512 байт
    33Точка входа в процедуру инициализации, заканчивающуюся far ret. Обычно здесь трехбайтная инструкция jmp на начало процедуры
    В случае обнаружения корректного заголовка POST с помощью far call вызывает процедуру инициализации, начинающуюся со смещения 3 заголовка модуля.
    Непонятно, что на самом деле в диапазоне E0000 – EFFFF и ищет ли там POST BIOS-ы. Кто найдет достоверную информацию, пишите сюда.

  10. Как реально убедиться, что нельзя записать в память ROM? (необходимо 3 команды)
    push 0FFFFh
    pop es

    mov es:[0000],0

    Смотрим в отладчике и видим, что содержимое памяти не меняется.
  11. Размер буфера клавиатуры. Где он находится в памяти. Зачем нужны два указателя?
    Размер буфера – 32 байта, каждая кнопка занимает 2 байта (ASCII-код и скан-код). Расположен по адресу 0000:041E. Представляет из себя циклическую очередь, поэтому нужны указатели на начало и на конец очереди (0000:041A и 0000:041C соответственно).
  12. Какие флаги о статусе клавиатуры хранятся в памяти BIOS (2 байта)?
    Флаги Shift Status и Extended Shift Status – байты по адресам 0000:0417 и 0000:0418 соответственно. Хранят информацию о том, нажаты ли в текущий момент кнопки Shift, Alt, Ctrl и т. д. 16 бит – 16 флагов.
  13. Какой номер у прерывания загрузчика? 
    int 19h – Bootstrap Loader Service. Загрузчик, которым пользуется BIOS во время загрузки компьютера для загрузки ОС.
  14. Когда вместо MAMA будет выводиться AMAM?
    Если разместить вывод после отбоя PIC. Это происходит из-за того, что после отбоя и до вывода может случиться то же самое прерывание со следующим символом и он выведется раньше.
  15. Что может потребовать устройство? 
    • Память
    • Порты ввода-вывода
    • IRQ 
    • Канал DMA 
  16. Тест для проверки, что до отбоя PIC у нас тикает таймер. (написать прогу)
    Лень писать, я верю что тикает и знаю как написать. :)
  17. Есть следующие схемы работы с устройством через порты – A (каждому регистру устройства соответствует порт для чтения и записи), B (есть индексный порт и порт, по которому производится обмен данными с тем регистром, индекс которого задается при записи в индексный порт), С (есть всего один порт, в него сначала пишется индекс нужного регистра, затем через него же работают с этим регистром). Какой еще способ есть? Приведите примеры. 
    По схеме A работает большинство устройств: клавиатура, COM и LPT, контроллер DMA. По схеме B работают контроллеры шин ISA и PCI. Схема C реализована в регистре контроллера атрибутов VGA.
    Выдуманный тип: регистры данных разбиваются на страницы, причём одна страница отображается на порты. Выбор того, какая именно страница отображается на порты, осуществляется индексным портом. (Вроде бы что-то похожее есть в SVGA, если не вру.)
  18. Что круче: адаптер или контроллер?
    Контроллер. Адаптер – это средство сопряжения устройства с шиной или интерфейсом компьютера. Контроллер служит тем же целям, но при этом подразумевается его способность к самостоятельным действиям после получения команд от обслуживающей его программы. Если приводить аналогию, адаптер – это переходник с евророзетки на советскую (простая пластмассовая хрень), а контроллер – что-то вроде переходника с 220В на 5В :)
  19. Почему сейчас идет переход на последовательные соединения?
    В параллельных соединениях сигнал одновременно идет по куче проводов. При это синхронно отправляется n сигналов, где n – количество проводов в пучке. Принять их тоже нужно синхронно, но некоторые сигналы идут быстрее, некоторые медленнее... Проблема синхронизации не позволяет достичь высоких скоростей. При последовательной передаче за счет отсутствия этого недостатка скорость можно разогнать на порядки.
  20. Аппаратные прерывания
    IRQINTОписание
    08hтаймер
    19hклавиатура
    2Ahобратный ход луча (сейчас не используется)
    3BhCOM2, COM4
    4ChCOM1, COM3
    5DhLPT2/звук(?)
    6Ehконтроллер дисковода
    7FhLPT1
    870hReal Time Clock
    971h
    1072h
    1173h
    1274hpointing device (мышь)
    1375hошибка сопроцессора
    1476hPrimary IDE
    1577hSecondary IDE
  21. Внутренние прерывания 
    INTОписание
    0hДеление на 0
    1hТрассировка(Single Step)
    2hNMI
    3hBreakpoint
    4hПереполнение
    5hPrint Screen
    6hНесуществующий код операции
    7hОшибка сопроцессора (его отсутствие)
  22. Порты I / O? 
    ДиапазонНазначение
    000–00FКонтроллер DMA#1
    020–021Контроллер прерываний#1
    040–05FТаймер
    060Диагностический регистр POST
    060,064Контроллер клавиатуры
    061Источники NMI и управление звуком
    070–07FПамять CMOS и маска NMI
    080Диагностический регистр
    080–08FРегистры страниц DMA
    0A0–0BFКонтроллер прерываний#2
    0CO-0DFКонтроллер DMA#2
    0F0–0FFСопроцессор
    170–177IDE#2
    1F0–1F7IDE#1
    200–207Игровой адаптер
    238–23FCOM4
    278–27FLPT2
    2C0–2DFEGA#2
    2E0–2EFCOM4
    2F8–2FFCOM2
    300–31FПлата прототипа
    338–33FCOM3
    370–377FDD#2
    376–377Порты команд IDE#2
    378–37FLPT1
    380–38FСинхронный адаптер BSC#2
    3A0–3AFСинхронный адаптер BSC#1
    3B0–3BBМонохромный адаптер MDA
    3C0–3CFEGA#1
    3C0–3DFVGA
    3D0–3DFCGA/EGA
    3E0–3EFCOM3
    3F0–3F7FDD#1
    3F6–3F7Порты команд IDE#1
    3F8–3FFCOM1
  23. Какой код команды INT?
    CDXX где XX номер инта. Брэйкпоинт имеет однобайтный код СС.
  24. Как ещё кроме команд инт и брэйкпоинт можно войти в обработчик прерывания?
    pushf
    call obrab

    Но вроде как Баклановский ждал не этого ответа.. Есть варианты?
    Ага, есть :
    pushf

    push CS ; должно лежать глубже IP. Предыдущему редактору низачот.

    ; push IP — не бывает такой команды

    call near ptr $+3 ;— IP кладут в стек именно так

    jmp obrab

  25. Как дать отбой второму PIC-у
    out A0h,20h
Материал взят с Математико-механического факультета, г. Екатеринбург
Категория: АСВТ | Добавил: xflame (18.03.2010)
Просмотров: 1450 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Copyright SIB © 2024
Хостинг от uCoz