- •Архитектура эвм
- •Введение
- •1. История развития вычислительной техники. Классификация и основные характеристики вычислительных машин и систем
- •1.2. Нулевое поколение
- •1.3. Первое поколение
- •1.4. Второе поколение
- •1.5. Третье поколение
- •1.6. Четвёртое поколение
- •1.7. Пятое поколение
- •1.8. Шестое поколение
- •1.9. Классификация эвм
- •2. Принципы построения эвм и вычислительных систем
- •2.1. Архитектура фон Неймана
- •2.2. Структурная схема персонального компьютера
- •2.3. Структурные схемы вычислительных систем
- •2.4. Внутренние устройства персонального компьютера и их характеристики
- •2.4.1. Центральный процессор
- •2.4.2. Оперативное запоминающее устройство
- •2.4.3. Постоянное запоминающее устройство
- •2.4.5. Энергонезависимое оперативное запоминающее устройство
- •3. Архитектура внутренних устройств персонального компьютера
- •3.1. Архитектура процессора
- •3.2. Архитектура оперативной памяти1
- •3.2.1. Блочная организация памяти
- •3.2.3. Синхронные и асинхронные запоминающие устройства
- •3.3. Очередь и стек, их назначение и система адресации.
- •4. Внешние запоминающие устройства
- •4.1. Характеристики, организация, и принципы работы внешней памяти эвм и вс.
- •4.2. Накопители на магнитных дисках для устройств памяти с прямым доступом
- •4.3. Накопители на магнитных носителях для устройств памяти с последовательным доступом.
- •4.4. Устройство и принцип работы накопителей на оптических дисках.
- •4.5. Устройство и принцип работы флеш-памяти nor и nand
- •5. Устройства ввода и вывода
- •5.1. Общие принципы организации системы ввода-вывода
- •5.2. Принципы работы и организация клавиатуры
- •5.2.1. Массивы клавишей, кнопок и индикаторов
- •5.2.2. Скан-коды клавиатуры
- •5.2.3. Контроллер интерфейса клавиатуры
- •8042 – Контроллер интерфейса клавиатуры;
- •5.2. Принципы работы и организация мыши
- •Системная плата
- •5.3. Принципы работы и организация видеоподсистемы
- •5.3.1. Принципы формирования изображения и режимы работы монитора
- •5.3.2. Архитектура видеоподсистемы
- •5.3.3. Интерфейсы дисплеев и адаптера
- •5.4. Принципы работы и организация портов
- •5.4.1. Принципы передачи данных
- •5.4.2. Последовательный Com-порт
- •5.4.3. Параллельный порт lpt
5.2. Принципы работы и организация клавиатуры
Клавиатура является средством ввода данных вручную постредством нажатия клавишей и кнопок. Кнопки могут отличаться от клавишей не только внешним видом, но и схемой включения. Их задача – создавать на одном из проводов клавиатуры низкий или высокий потенциал в зависимости от состояния кнопки или клавиши.
Рис. 5.4. Простейшая схема включения клавиши или кнопки |
Простейшая схема включения кнопки или клавиши показана на рис. 5.4. Контакты кнопки (клавиши) SB1 в зависимости от состояния замыкает или размыкает провод, соединяющий точки 0 и 1. При разомкнутых контактах провод разорван и в точке 1 присутствует потенциал +5В, при замкнутых – потенциал 0В. |
Указанную функцию могут реализовывать контакты разного исполнения: механические, герконовые (механические с управлением магнитным полем), плёночные, сенсорные (электронные) и на магниточувствительных материалах (датчики Холла). Применение механических контактов с подвижными частями порождает проблему "дребезга" контакта, т.е. существование в течение некоторого времени нестабильного значения потенциала в точке 1. Это явление вредное, которое искажает вводимую информацию и команды. Дребезг контакта подавляется аппаратным и программным способом. Недостатком такой схемы является большое количество проводов, идущих от клавишей к электронной части клавиатуры.
Для большого количества клавишей более эффективной является матричная схема включения клавишей (рис. 5.5).
Рис. 5.5. Матричная схема включения клавишей и кнопок |
Принцип действия матричной клавиатуры аналогичен принципу действия описанной выше простейшей клавиатуры: кнопка соединяет один из вертикальных проводников с точкой нулевого потенциала. Клавиатура состоит из 9 клавишей SB1, SB2, …, SB9. При отпущенных кнопках вертикальные проводники имеют потенциал +5В. На проводниках 4, 5, 6 любым способом (переключателем S1 на рис. 5.5) поочерёдно создаётся нулевой потенциал. Замыкание клавиши в соответствующей строке создаёт на одной из линий 2 – 3 нулевой потенциал. |
Нажатие клавиши фиксируется микросхемой "И", имеющей три входа. При отпущенных клавишах на всех входах присутствует логическая единица, поэтому на выходе 1 также присутствует логическая единица. При замыкании контакта клавиши хотя бы на одном из входов будет логический ноль, и на выходе 1 микросхемы также появится логический ноль. В этот момент комбинация импульсов на выходах 2 – 7 содержит код нажатой клавиши, состоящий из кода строки и кода столбца.
Взаимодействие процессора с клавиатурой строится по схеме (рис. 5.6). В клавиатуре имеется массив клавишей и кнопок, включённых, как правило, по матричной схеме. Кроме того, в клавиатуре имеется блок светодиодных индикаторов режима работы клавиатуры.
Рис. 5.6. Схема взаимодействия процессора и клавиатуры
При нажатии на любую клавишу и при отпускании её во внутренний контроллер клавиатуры попадает код нажатой или отпущенной клавиши. Внутренний контроллер воспринимает этот параллельный код, преобразует его в последовательный и по линиям KB-Data и KB-Clock1 передаёт в системную плату, где его принимает контроллер интерфейса клавиатуры. Процессор общается с контроллером через порты, находящиеся по адресам 60h и 64h. Порт 60h является портом данных. Порт 64h состоит из двух регистров: регистра состояния 064R и регистра команд 064W.
Приняв код клавиши, процессор в стандартных ситуациях обращается к программе IRQ1 обработки прерывания от клавиатуры, генерируя одноимённое прерывание от клавиатуры. Программа IRQ1 обработки прерывания находится по адресу 09h, который называется вектором Int 9h, и входит в BIOS. В нестандартных ситуациях обработку прерывания от клавиатуры IRQ1 выполняет программа пользователя, которая перехватывает вектор Int 9h и обрабатывает прерывание в соответствии со своим алгоритмом.
В случае необходимости процессор может записать байт в выходной буфер клавиатуры. Для этого он в должен предварительно записать в порт 64h код D2 и установить соответствующие биты состояния и сгенерировать запрос IRQ1. Если контроллер должен возвратить данные в буфер клавиатуры, то при получении соответствующей команды он устанавливает 0BF=1, вследствие чего генерируется запрос на прерывание IRQ1. Далее данные должны быть считаны клавиатурой из регистра данных.