- •1.Общие сведения о пэвм.
- •3.Принципы взаимодействия основных частей пэвм.
- •4. Общие сведения об операционных системах, применяемых на пэвм.
- •5.Базовая система ввода/вывода (bios). Подсистема post.
- •Вопрос 9.Файловая система fat
- •10) Ntfs
- •11)Резидентные системные программы и утилиты. Командные файлы, файлы конфигурации системы
- •Файл autoexec.Nt
- •Файлы winstart.Bat и dosstart.Bat
- •Файл config.Nt
- •12. Прерывания дисковой системы пэвм.
- •14. Назначение, структурная схема и программирование контроллеров нdd.
- •15. Назначение и состав системы ввода-вывода.
- •19. Организация обмена данными через параллельные порты.
- •20. Характеристики микропроцессоров intel и amd
- •21. Математические сопроцессоры.
- •1. Регистры ммх
- •2. Типы данных ммх
- •3. Команды пересылки данных ммх
- •4. Команды преобразования типов ммх
- •5. Арифметические операции ммх
- •6. Команды сравнения ммх
- •7. Логические операции ммх
- •8. Сдвиговые операции ммх
- •9. Команды управления состоянием ммх
- •10. Расширение amd 3d
- •25. Модель микропроцессора для программиста.
- •Реальный режим общие сведения
- •26. Спецификация регистров микропроцессора. Режимы работы. Типы данных.
- •Реальный режим общие сведения
- •Работа с адресами
- •Обработка прерываний
- •27. Системные регистры.
- •Регистры управления памятью
- •Регистры управления процессором
- •Отладочные регистры
- •Машинно-специфичные регистры
- •31. Системные ресурсы пэвм
- •32. Дескрипторы
- •33. Сегмент состояния задачи
- •35. Прерывания пэвм
- •Исключения в защищённом режиме
- •Обработка аппаратных прерываний
- •39. Контроллер прерываний. Исключения.
- •42 Полупроводниковые пзу, рпзу.
- •43 Сегментация. Физические и логические адреса.
- •Общие сведения
- •Работа с адресами
- •Обработка прерываний
- •Вход в защищённый режим(286)
- •2.1. Подготовка к переключению в защищённый режим
- •2.2. Переключение в защищённый режим
- •2.3. Возврат в реальный режим
- •47 Режим виртуального процессора i8086
- •48 Преобразование адресов
- •Программирование микросхемы таймера 8253/8254.
- •50.Каналы и управление таймеров. Микросхемы таймера 8253/8254
- •Средства ms-dos для работы с таймером
- •51.Режимы работы таймеров. Микросхемы таймера 8253/8254
- •52.Назначение, структурная схема контроллера пдп(dma).
- •53 Программирование контроллера пдп(dma).
- •54 Организация ввода данных с клавиатуры.
- •56. Прерывания и порты клавиатуры.
- •58. Прерывания видеосистемы.
- •59.Организация вывода информации на экран дисплея через память видеоадаптера.
- •60. О рганизация вывода информации на экран дисплея через прерывания. Прерывания dos
- •Прерывания bios
- •Int 10h
- •Int 1Dh
- •Int 1Fh
15. Назначение и состав системы ввода-вывода.
Если требуется обеспечить взаимодействие процессора с периферийным устройством, то регистры этого устройства могут быть отображены на ячейки обычной оперативной памяти процессора (memory-mapped I/O) либо на ячейки специального адресного пространства, называемого пространством портов ввода-вывода.
Ввод-вывод с отображением в память обслуживается обычными командами доступа к памяти (MOV, MOVS и т.п.) При этом используются обычные механизмы защиты на уровне сегментов и на уровне страниц. Для обслуживания устройств через пространство портов ввода-вывода используются специальные команды и особый механизм защиты. Особенностью обмена через пространство ввода-вывода является то, что процессор обеспечивает синхронизацию выполнения инструкций ввода-вывода, тогда как при обмене через отображаемую память надо дополнительно позаботиться о предотвращении кэширования и изменения порядка выполнения инструкций (P6+).
Пространство портов ввода-вывода состоит из 65536 индивидуально адресуемых 8-битных ячеек (портов), пронумерованных от 0 до FFFF. Порты с адресами 0F8h...0FFh зарезервированы фирмой Intel. Два соседних 8-битных порта могут использоваться как 16-битный порт. Четыре соседних 8-битных порта могут использоваться как 32-битный порт. Рекомендуется выравнивать 16-битные порты по четным адресам, а 32-битные - по адресам, кратным четырем.
В защищенном режиме выполнение инструкций обращения к портам ввода-вывода (IN, INS, OUT, OUTS) регулируется следующими механизмами защиты:
уровень привилегий ввода-вывода (I/O Privilege Level - IOPL);
битовая карта разрешения ввода-вывода (I/O Permission Bit Map);
Процессор разрешает выполнение инструкций ввода-вывода, если текущий процесс обладает достаточными привилегиями: CPL<=IOPL. В противном случае включается второй механизм контроля. Обычно операционная система устанавливает уровень привилегий ввода-вывода таким, чтобы операции ввода-вывода могли выполняться только специальным программным обеспечением (драйверами или самой ОС, IOPL=1 или IOPL=0), тогда как попытки прикладной программы (CPL=3) выполнить эти инструкции будут приводить к нарушению общей защиты.
16. Параллельный порт(LPT) - в основном используется для подключения к компьютеру принтера, сканера и других внешних устройств, название «LPT» образовано от наименования стандартного устройства принтера «LPT1» (Line Printer Terminal или Line PrinTer) в операционных системах семейства MS-DOS. Порт на стороне управляющего устройства (компьютера) имеет 25-контактный 2-рядный разъём DB-25-female.
Стандарт позволяет использовать интерфейс в нескольких режимах:
SPP (Standart Paralell Port) — однонаправленный порт, полностью совместим с интерфейсом Centronics.
Nibble Mode — позволяет организовать двунаправленный обмен данными в режиме SPP путём использования управляющих линий (4 бит) для передачи данных от периферийного устройства к контроллеру. Исторически это был единственный способ использовать Centronics для двустороннего обмена данными.
Byte Mode — редко используемый режим двустороннего обмена данными. Использовался в некоторых старых контроллерах до принятия стандарта IEEE 1284.
EPP (Enhanced Parallel Port) — разработан компаниями Intel, Xircom и Zenith Data Systems — двунаправленный порт, со скоростью передачи данных до 2Мб/сек.(1991)
ЕСР (Extended Capabilities Port) — разработан компаниями Hewlett-Packard и Microsoft — в дополнение появились такие возможности, как наличие аппаратного сжатия данных, наличие буфера и возможность работы в режиме DMA.
Для печати на принтере через этот порт используются операции, выполняющиеся через DOS INT 2IH и INT 17H. Для печати через DOS используется прерывание INT 2IH:
MOV АН, 05 ; запрос функции печати
MOV DL, char ; распечатываемый символ
INT 2IH ; вызов DOS
Для печати через BIOS используется прерывание INT 17H:
MOV АН, 00 ; запрос функции печати
MOV AL, CHAR ; символ, выводимый на печать
MOV DX, 00 ; выбор принтера о
INT 17H ; вызов BIOS
17. После́довательный порт (англ. Serial port), COM-порт — двунаправленный последовательный интерфейс, предназначенный для обмена байтовой информацией. Последовательным данный порт называется потому, что информация через него передаётся по одному биту, бит за битом. Назначение : Наиболее часто для последовательного порта персональных компьютеров используется стандарт RS-232C. Ранее последовательный порт использовался для подключения терминала, позже для модема или мыши. Сейчас он используется для соединения с источниками бесперебойного питания, для связи с аппаратными средствами разработки встраиваемых вычислительных систем. С помощью COM-порта можно соединить два компьютера, используя так называемый «нуль-модемный кабель». Программный доступ к СОМ-порту: COM-порты в операционной системе Windows — это именованные каналы для передачи данных, называемые обычно COM1, COM2 и т. д. по порядку обнаружения драйверов соответствующих устройств. Например, для обмена информации через Bluetooth многие драйверы представляются операционной системе как COM-порт, и резервируют похожее имя. Следует также отметить, что организация взаимодействия по последовательному порту с точки зрения программирования реализуется значительно легче, чем другие способы.
18.Организация обмена данными через последовательные порты: Для инициализации COM порта используем структуру DCB, полями которой являются параметрами порта. Вначале получаем идентификатор соответствующего COM порта, который можно использовать как дескриптор простого файла. Создаётся два экземпляра исполняемого файла для COM1 и COM2 соответственно. Используя структуру COMSTAT осуществляем асинхронную передачу данных между портами.
Пример:
HANDLE SetupComPort()
{
HANDLE hComm;
DCB dcb; //device control block
hComm = CreateFile(TEXT("COM[i]"),GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,NULL);
if(hComm == INVALID_HANDLE_VALUE){
puts("Error opening port");
_getch();
abort();
}
if (!GetCommState(hComm, &dcb)) //получили существующую структуру DCB
{puts("Error! Couldn't create the DCB.");
_getch();
abort();} //установили в ней свои параметры
dcb.BaudRate = CBR_57600; //Скорость передачи данных.
dcb.ByteSize = 8;//Определяет число информационных бит в передаваемых и принимаемых байтах.
dcb.Parity = NOPARITY;//Бит четности отсутствует
dcb.StopBits = ONESTOPBIT;//Один стоповый бит
dcb.fRtsControl = RTS_CONTROL_TOGGLE;//Задает, что сигнал RTS установлен, когда есть данные для передачи. Когда все символы из передающего буфера переданы, сигнал сбрасывается. установили новую структуру
return 0;
}
void WriteToCom(HANDLE hComm,char ch)
{
DWORD writeNumByte = 0;
if(!WriteFile(hComm, &ch, 1, &writeNumByte, NULL)){
if(GetLastError() != ERROR_IO_PENDING){
puts("Write File failed");
}
}
}
int ReadFromCom(HANDLE hComm, char &ch)
{
DWORD dwRead;
ReadFile(hComm, &ch, 1,&dwRead,0);
return dwRead;
}