22598

Робота з регістрами CMOS-memory

Лабораторная работа

Информатика, кибернетика и программирование

Приведемо тут тільки короткі зведення: Номер регістра Використання 10H тип накопичувача НГМД 12H тип накопичувача фіксованого диска 14H периферія 15H пам'ять на системній платі молодший байт 16H пам'ять на системній платі старший байт 17H загальна пам'ять молодший байт 18H загальна пам'ять старший байт 30H пам'ять понад 1 мегабайту молодший байт 31H пам'ять понад 1 мегабайту старший байт Кожний з трьох каналів мікросхеми таймера 8253 8254 для AT складається з трьох регістрів. Доступ до кожної групи з трьох регістрів здійснюється...

Украинкский

2013-08-03

45.5 KB

1 чел.

ЛАБОРАТОРНА РОБОТА № 2

"Робота з регістрами CMOS-memory"

Компьютер AT зберігає інформацію про конфігурацію в мікросхемі MC146818 фірми Motorola, разом з часами реального часу. Він зовсім не має мікросхеми інтерфейсу з периферією 8255, хоч для управління мікросхемою таймера і прийому даних з клавіатури використовуються ті ж самі адреси портів. Мікросхема має 64 регістри, пронумерованих від 00 до 3FH.Для читання регістра треба спочатку послати його номер в порт з адресою 70H, а потім прочитати його через порт 71H. Приведемо тут тільки короткі зведення:

Номер регістра

Використання

10H

тип накопичувача НГМД

12H

тип накопичувача фіксованого диска

14H

периферія

15H

пам'ять на системній платі (молодший байт)

16H

пам'ять на системній платі (старший байт)

17H

загальна пам'ять (молодший байт)

18H

загальна пам'ять (старший байт)

30H

пам'ять понад 1 мегабайту (молодший байт)

31H

пам'ять понад 1 мегабайту (старший байт)

Кожний з трьох каналів мікросхеми таймера 8253 (8254 для AT) складається з трьох регістрів. Доступ до кожної групи з трьох регістрів здійснюється через один порт; номери портів від 40H до 42H відповідають каналам 0 - 2. Порт пов'язаний з 8-битным регістром вводу/виводу, який посилає і приймає дані для цього каналу. Коли канал запрограмований, то через цей порт пересилається двобайтне значення, спочатку молодший байт, потім - старший. Це число передається в 16-бітный регістр засувки (latch register), який зберігає це число і з якого копія вміщується в 16-бітный регістр лічильника. У регістрі лічильника число меншає на одиницю кожний раз, коли імпульс від системного годинника пропускається через канал. Коли значення цього числа досягає нуля, то канал видає вихідний сигнал і потім нова копія регістра засувки поміщається в регістр лічильника, після чого процес повторюється. Чим менше число в регістрі лічильника, тим швидше ритм. Всі три канали завжди активні: процесор не вмикає і не вимикає їх. Поточне значення будь-якого з регістрів лічильника може бути прочитане в будь-який момент часу, не впливаючи на рахунок.

Кожний канал має дві вхідні і одну вихідну лінію. Вихідна лінія виводить імпульси, що виникають внаслідок підрахунку. Призначення цих сигналів варіюється в залежності від типу IBM PC.

Канал 0 використовується системними часами часу діб. Він встановлюється BIOS при старті таким чином, що видає імпульси приблизне 18.2 рази в секунду. 4-байтний лічильник цих импульсів зберігається в пам'яті за адресою 0040:006C (молодший байт зберігається першим). Кожний імпульс ініціює переривання таймера (номер 8) і саме це переривання збільшує значення лічильника. Це апаратне переривання, тому воно обробляється завжди, незалежно від того, чим зайнятий процесор, якщо тільки дозволені апаратні переривання. Вихідна лінія використовується також для синхронізації деяких дискових операцій, тому якщо Ви змінили її значення, то Вам необхідне відновити первинне значення перед зверненням до диску.

Канал 1 керує оновленням пам'яті на всіх машинах, крім PCjr, тому його краще не використовувати. Вихідна лінія цього каналу пов'язана з мікросхемою прямого доступу до пам'яті і її імпульс примушує мікросхему DMA оновити всю пам'ять. На PCjr канал 1 служить для перетворення вхідних даних від клавіатури з послідовної в паралельну форму. PCjr не використовує мікросхему прямого доступу до пам'яті, тому коли він замість цього проганяє дані через процесор, то переривання від таймера заблоковано. Канал 1 використовується для підрахунку заблокованих імпульсів часів доби, з тим щоб можна було оновити значення лічильника після завершення дискових операцій.

Канал 2 пов'язаний з гучномовцем комп'ютера і він проводить прості прямокутні імпульси для генерації звуку. Програмісти мають більший контроль над 2 каналом, ніж над іншими. Прості звуки можуть генеруватися одночасно з іншими програмними операціями, а більш складні звукові ефекти можуть бути досягнуті за рахунок використання процесора. Канал 2 може бути від'єднано від гучномовця і використовуватися для синхронізації. Нарешті, якщо вихідна лінія каналу 2 пов'язана з динаміком компьютера, то динамік не буде генерувати звук доти, поки не зроблені певні установки мікросхеми інтерфейсу з периферією 8255.

Дві вхідні лінії для кожного каналу складаються з лінії годин, яка передає сигнал від мікросхеми системних годин і лінії, званої комірами (gate), яка включає і вимикає сигнал від годин. Ворота завжди відкриті для сигналів годин по каналах 0 і 1. Але вони можуть бути закритими для каналу 2, що дозволяє проводити деякі спеціальні маніпуляції зі звуком. Ворота закриваються встановленням молодшого біту порту з адресою 61H, який є регістром мікросхеми 8255; скидання цього біта знов відкриває ворота. Відмітимо що - як і вихід каналу 2 - біт 1 порту 61H пов'язаний з динаміком і також може використовуватися для генерації звуку.

Мікросхема таймеру може використовуватися безпосередньо для тимчасових операцій, але це рідко буває зручним. Введення годин проводиться 1.19318 мільйонів разів в секунду (навіть на AT, де системні години йдуть швидше, мікросхема таймера отримує сигнал з частотою 1.19 Мгц). Оскільки максимальне число, яке може зберігатися в 16 бітах, дорівнює 65535 і оскільки це число ділиться на частоту імпульсів від годин, рівну 18.2, то максимальний можливий інтервал між імпульсами рівний приблизно 1/12 секунди. Тому більшість тимчасових операцій використовують лічильник часу доби BIOS. Для підрахунку часу читається значення часу доби і порівнюється з деяким раніше запам'ятованим значенням для визначення числа імпульсів, що пройшли з того моменту. Спеціальний спосіб дозволяє використовувати лічильник часу доби для операцій в реальному часі.

Мікросхема 8253 надає розробникам 6 режимів роботи для кожного каналу. Програмісти звичайно обмежуються третім режимом, як для каналу 0 при синхронізації, так і для каналу 2 для синхронізації або генерації звуку. У цьому режимі, як тільки регістр засувки отримує число, він негайно завантажує копію в регістр лічильника. Коли значення в лічильнику досягає нуля регістр засувки вмить перезавантажує лічильник і т.д. Протягом половини відліку вихідна лінія включена, а протягом половини - вимкнена. У результаті виходять прямокутні хвилі, які однаково придатні як для генерації звуку, так і для підрахунку.

8-бітный командний регістр керує способом завантаження чисел в канал. Адреса порту для цього регістра рівна 43H. Командному регістру передається байт, який говорить який канал програмувати, в якому режимі. Також повинні бути передані один або обидва байти регістра засувки. Він показує також чи буде число в двійковій або BCD (двійково-десятковій) формі. Значення бітів цього регістра таке:

біт 0

якщо 0, двійкові дані, інакше BCD

3-1

номер режиму, 1 - 5 (000 - 101)

5-4

тип операції:

00 = передати значення лічильника в засувку

01 = читати/писати тільки старший байт

10 = читати/писати тільки молодший байт

11 = читати/писати старший байт, потім молодший

7-6

номер каналу, що програмується, 0 - 2 (00 -10)

Коротше кажучи, для програмування мікросхеми 8253 треба виконати три основні кроки. Після того, як третій крок завершено, запрограмований канал негайно починає функціонувати за новою програмою.

1. Послати в командний регістр (43H) байт, що представляє собою ланцюжок бітів, які вибирають канал, статус читання/запису, режим операції і форму представлення чисел.

2. Для каналу 2 треба дозволити сигнал від годин, встановивши в 1 біт 0 порти з адресою 61H. (Коли біт 1 цих регістри встановлений в 1, то канал 2 управляє динаміком. Скиньте його в 0 для операцій синхронізації).

3. Обчисліть значення лічильника від 0 до 65535, занесіть його в AX, і пошліть спочатку молодший, а потім старший байт в регістр вводу/виводу каналу (40H - 42H).

Постановка задачі

Написати програму, яка

1) зчитує і виводить поточний час з регістрів CMOS,

2) дозволяє змінити час на заданий,

3)і виводить зміст будь-якого з 64 (128) регістрів за його двійковим номером.


 

А также другие работы, которые могут Вас заинтересовать

30623. Психология творчества 14.47 KB
  Современная психология делит людей творческого склада на два типа:Дивергент от латинского дивергере – обнаруживать расхождение: способны к широкому спектру творческой деятельности легко устанавливают отдаленные связи между несоединимыми и несопоставимыми понятиями и явлениями; ориентированы на деятельность требующую богатого воображения оригинального подхода к проблеме своеобразного восприятия ситуации и выраженной индивидуальности; могут настойчиво выступать против общепринятых суждений ставших штампом; отличаются...
30624. План анализа поэтического текста 15.82 KB
  Жанр стихотворения: элегия ода стансы лирическое стихотворение фрагмент послание сонет и другие. Построение стихотворения связано с логикой развития поэтической мысли от начала к финалу делением на строфы или отсутствием такового взаимоотношением и связью смысловых частей произведения если они выделяются в тексте. Важно не столько найти троп или фигуру в тексте сколько определить их роль в создании того или иного образа воплощении темы или идеи стихотворения.
30625. Герои и проблематика сатиры М.Е. Салтыкова-Щедрина в романе «История одного города» 14.99 KB
  СалтыковаЩедрина в романе История одного города М. СалтыковаЩедрина по праву считается История одного города которую он начал писать в 1868 году а закончил в 1870 году.Цензура и некоторые критики поняли Историю одного города как сатиру относящуюся исключительно к прошлому России и главным образом к 18му веку.Главный герой Истории одного города народ обобщенный образ которого раскрывается из главы в главу все шире.
30626. Герои и сюжет баллады В.А. Жуковского «Светлана» 20.15 KB
  Жуковского Светлана В. Светлана самое знаменитое произведение Жуковского это переводпереложение баллады немецкого поэта Бюргера Леонора. Однако Светлана произведение радостное несмотря на присутствие в нем загробной жизни. Светлана молится о том чтобы вернулся ее возлюбленный в полночь во время гадания жених неожиданно появляется и зовет Светлану венчаться.
30627. Тема противостояния героя и толпы в ранней поэзии В.В. Маяковского 13.38 KB
  Люди исчезли и потому герой готов целовать умную морду трамвая чтобы забыть окружающих:Ненужных как насморки трезвых как нарзан.Лирический герой Маяковского одинок в этом мире. За своим амплуа хулигана герой скрывает тонкую ищущую любви душу защищая ее от тех кто грубее жестче сильнее. Это стихотворение – вдохновенная мечта о красоте мира:ПослушайтеВедь если звезды зажигают – значит это комунибудь нужноГерой тоскует видя беззвездное небо.
30628. Смысл названия драмы «Гроза» 18.37 KB
  С одной стороны гроза непосредственный участник действия пьесы с другой стороны символ идеи этого произведения. Гроза играет важную роль в композиции драмы. Почти сразу после этого надвигается гроза: “.
30629. Стихотворение Г.Р. Державина «Река времен в своем стремленье…». Восприятие, истолкование, оценка. Выразительное чтение наизусть 17.09 KB
  А если что и остаётся Чрез звуки лиры и трубы То вечности жерлом пожрётся И общей не уйдёт судьбы. Автор размышляет о вечности о том что абсолютно все человеческие дела и стремленья рано или поздно будут забыты. Экспрессия стихотворения создается концентрацией метафор река времён пропасть забвенья жерло вечности и фонетической организацией повтор [р] определяет напряженную тональность восьмистишия; последовательность ударных гласных в третьей и предпоследней строках о о э э о о. В стихотворении 2 образа: образы времени и вечности.
30630. «Диалектика души» героев романа Л.Н. Толстого «Война и мир» (на примере одного из персонажей по выбору экзаменуемого) 13.54 KB
  Толстой известен не только как гениальный писатель но и как удивительно глубокий и тонкий психолог. Лев Толстой делает акцент на искренности детской доверчивости доброте и чистоте помыслов своего героя. Толстой замечает: повиновение даже не представлялось ему добродетелью а счастьем. Толстой подчеркивает оптический самообман героя отчужденного от повседневной жизни: в обыденном он не способен рассмотреть великое и бесконечное видит только одно ограниченное мелкое житейское бессмысленное.
30631. Диалог времен и культур в стихотворении О.Э. Мандельштама «За гремучую доблесть грядущих веков…» 14.23 KB
  В своем творчестве поэт опирается на богатые традиции мировой культуры включая в свои произведения идеи и образы художников разных эпох и разных народов события многовековой давности и нетленного искусства. Поэт пишет в первом четверостишии:За гремучую доблесть грядущих вековЗа высокое племя людейЯ лишился и чаши на пире отцовИ веселья и чести своей. Жестокость этого выбора поэт выражает в эпитете векволкодав:Мне на плечи кидается векволкодавНо не волк я по крови своей. Поэтому лирический герой решает уйти от этого общества.