Обчислювальна система обробки даних в реальному часі 2

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст

Введення

Технічне завдання для розробки

Аналіз вихідних даних

Вибір елементної бази

Розробка програмного забезпечення

Тест ПЗУ

Алгоритм обчислення функції

Розробка структурної схеми

Проектування функціональної схеми

Оцінка швидкодії системи

Список використаної літератури

Додаток. Лістинг програми

Введення

Курсова робота виконується з метою закріплення знань, отриманих з курсу "Організація ЕОМ та систем", а також, грунтуючись на раніше вивчених дисциплінах таких, як "Інформатика", "Мови програмування" та "Електротехніка та електроніка", допомагає їх кращому сприйняттю.

Основними завданнями роботи є:

практичне оволодіння методикою проектування обчислювальної системи на основі сучасної елементної бази, технічних засобів обчислювальної техніки, а також теорії організації ЕОМ і систем;

оцінка параметрів проектованої системи та підвищення якості проектування;.

придбання практичних навичок оформлення та випуску конструкторської документації відповідно до ГОСТ.

Технічне завдання для розробки

У курсовому проекті проектується обчислювальна система, призначена для реалізації заданого алгоритму обробки вхідного аналогового сигналу та структурно складається з пристроїв:

персональної ЕОМ (ПЕОМ) типу IBM PC/AT-386 і вище;

пристрої введення (УВ), пов'язаного з ПЕОМ через стандартний інтерфейс.

Пристрій введення складається з блоку цифрової програмної обробки та інтерфейсного блоку, що працюють одночасно і забезпечують обробку і введення в ПЕОМ.

Розробляється система має функціонувати в режимі реального часу, тобто запізнювання потоку результатів від потоку вхідної інформації має бути обмежена.

Вихідні дані для процесу проектування описані нижче:

Структуру блоку цифрової обробки: однопроцесорна система на базі комплекту К1810 в мінімальному режимі;

Вид функції, виконуваної блоком цифрової обробки: залишок від ділення добутку двох останніх прийнятих вхідних значень на попереднє;

Тип синхронізації з синхронізацією по готовності даних;

Тип стандартного інтерфейсу для зв'язку УВ і ПЕОМ: паралельний порт.

Аналіз вихідних даних

Аналіз завдання дозволяє зробити наступні попередні висновки:

1. Максимальна розрядність інтерфейсу системної шини дорівнює 16. Дана обставина обумовлює вибрати розрядність вхідного і вихідного слова 16 біт;

2. Так як заданий комплект К1810 в мінімальному режимі, то буде потрібно використовувати наступні мікросхеми: генератор тактових імпульсів К1810ГФ84, два буферних регістру К1810ІР82, два двонаправлених шинних формувача К1810ВА86;

3. Цифровий сигнал 16-ти бітовий, тому необхідно використовувати два буферних регістра, кожен розрядністю 8 біт, необхідні для поділу вхідного сигналу на 16 розрядні слова. Якщо регістри не використовувати, то велика частина даних буде втрачено;

4. Проаналізувавши функцію, ясно що в при її виконанні можна обійтися внутрішніми регістрами мікропроцесора, тому немає необхідності використовувати ОЗУ. Вся програма зберігається в ПЗУ;

5. В якості паралельного порту буде використовувати мікросхему К580ВВ55, у якої 3 8-розрядних порту, для виведення даних будемо використовувати 2 з них, тобто забезпечимо передачу слова;

6. У паралельному порте буде використовувати біт 0 в порте З як біта готовності даних, за якими ПЕОМ визначить, що вихідні дані надійшли в порти А і В.

Аналіз вихідних даних дозволяє вибрати елементи, призначення та опис висновків яких наведено в наступному пункті курсової роботи.

Вибір елементної бази

Мікросхема К1810ВМ86

Мікропроцесор К1810ВМ86 представляє собою однокристальний 16-бітовий МП працює в даній обчислювальної системі в мінімальному режимі. Цей модуль проводить читання ПЗУ, а також читання і запис в порти введення-виведення. Умовне графічне позначення МП К1810ВМ86 наведено на рис.2. Опишемо його висновки, використовувані при проектуванні системи.

AD 15 - AD 0 - мультиплексна двунаправленная шина адреси / даних, по якій з поділом у часі передаються адресна інформація і дані;

- Дозвіл старшого байта, активний сигнал означає, що по старшій половині AD 15 - AD 8 передаються 8 - бітові дані. Він замикається у зовнішньому регістрі адреси і використовується як додатковий адресний вихід, що визначає доступ до старшого банку пам'яті. Спільне використання і молодшої лінії адреси А0 для дешифрування адрес дозволяє здійснювати передачу слів або окремих байтів по шині А D;

ALE - Строб адреси (дозвіл замикання адреси), видається на початку кожного циклу шини і використовується для запису адреси в регістр - засувку, тобто для демультиплексування шини AD;

- Строб даних (дозвіл передачі даних). Видається в циклах читання, запису та вирішення входу шинних формувачів;

- Читання, ідентифікує виконання циклу читання з ЗУ або зовнішнього пристрою (залежно від значення сигналу ). Вказує цим пристроям на необхідність видачі даних на шину;

- Запис, вказує на виконання циклу запису ЗУ або ВУ і супроводжує дані, які видає мікропроцесором на шину;

- Є ознакою звернення до ЗУ ( = 1) або ВУ і використовується для поділу адресного простору пам'яті та вводу / виводу. = 0 з'являється тільки при виконанні команд введення (IN) і виводу (OUT);

- Передача / прийом даних, визначає напрямок передачі по шині AD: = 1 - запис даних з ЗУ або ВУ в МП. Призначений для управління шинними формувачі і діє протягом усього циклу шини, як і сигнал ;

READY - готовність, вказує на те, що адресується в даному циклі пристрій готовий до обміну даними. Якщо пристрій не готове до взаємодії з МП, воно видає сигнал READY = 0, і МП переходить в стан очікування. У цьому випадку між тактами Т3 і Т4 циклу шини з'являється необхідне число тактів очікування TW. Після установки сигналу READY = 1 МП виходить зі стану очікування і відновлює роботу;

CLK - тактова синхронізація (тактирование). Сигнал синхронізації від зовнішнього генератора тактових імпульсів, призначений для синхронізації МП. Використовується серія тактових імпульсів CLK з періодом повторення T, рівним 200 - 500 нс.;

RESET - скидання, переводить МП в певний початковий стан, в якому скинуті сегментні регістри (крім CS, всі розряди якого встановлюються в одиничний стан), покажчик команд IP, всі прапори, регістри черги команд і всі внутрішні тригери в пристрої керування. Сигнал RESET не впливає на стан загальних регістрів, які встановлюються в початковий стан програмним шляхом. На час дії сигналу RESET всі виходи, що мають три стани, стають пасивними. Мінімальна тривалість сигналу RESET при першому включенні МП становить 50 мкс., А при повторному запуску - чотири такту синхронізації. Після зняття сигналу RESET робота МП поновлюється з початкового стану;

- Мінімальний / максимальний режим. Сигнал на цей вході визначає режими роботи МП: 1 - мінімальний, 0 - максимальний. Використовуваний режим у роботі мінімальний, тому на нього потрібно подавати напругу.

Мікросхема К1810ІР82.

Буферний регістр являє собою 8 - розрядний паралельний регістр з трістабільнимі виходами і використовується для організації адресних засувок і портів введення - введення. Графічне позначення наведено на рис.3. Опишемо призначення висновків цієї мікросхеми.

DI 7 - DI 0 - лінії вхідних даних;

DO 7 - DO 0 - лінії вихідних даних;

STB - вхід стробирующий сигналу, при сигналі високого рівня на ньому стан вхідних ліній DI 7 - DI 0 передається на вихідні лінії DO 7 - DO 0. Защелкивание в інформаційних тригерах здійснюється при переході сигналу STB від високого рівня до низького;

- Дозвіл видачі даних. При = 0 буфер відмикається, при = 1 він встановлюється в Z - стан.

Мікросхема К1810ВА86.

Шинний формувач представляє 8 - розрядний паралельний приймач з трістабільнимі виходами і використовується як буферна пристрій шини даних в мікропроцесорних системах. Графічне зображення наведено на рис.4. Опишемо висновки мікросхеми.

DI 7 - DI 0 - вхід / вихід ліній даних. Залежно від стану входу Т вони можуть бути вхідними, якщо на Т сигнал високого рівня, і вихідними, якщо на Т сигнал низького рівня;

D О7-D О0 - вхід / вихід ліній даних. Вони є вхідними, якщо на Т сигнал низького рівня, і вихідними, якщо на Т сигнал високого рівня;

Т - вхід управління напрямом передачі. При Т = 0 здійснюється передача від DO для DI, при Т = 1 - від DI до DO;

- Вхід дозволу передачі. При = 0 знімається Z - стан з виходу формувача, обраного по входу Т.

Мікросхема К1810ГФ84.

Рис.4. Шинний формувач

Генератор тактових імпульсів призначений для управління ЦП К1810ВМ86 і периферійними пристроями. Графічне зображення мікросхеми наведено на рис.5. Опишемо використовувані її висновки.

Х1 і Х2 - висновки для підключення кварцового резонатора;

- Вхід для підключення RC - ланцюга, який забезпечує автоматичне формування сигналу скидання при включенні джерела харчування;

- Вхід використовується для вибору генератора, що задає. При = 0 відповідає внутрішньому генератору (кварцовий резонатор), а при = 1 - зовнішньому генератору імпульсів, що підключається на вхід Е FI;

RDY 1 - вхід сигналу готовності від пристроїв, що підключаються до каналу системи;

- Вхід дозволу адресації для сигналу готовності RDY 1;

З LK - вихід тактових імпульсів, їх частота дорівнює 5Мгц і утворюється діленням частоти генератора, що задає на 3 (його частота 15Мгц);

READY - вихід сигналу готовності, синхронізований з заднім фронтом сигналу CLK. Він дозволяє забезпечити поєднання в часі роботи МП з роботою зовнішніх пристроїв, які мають менший швидкодію;

RESET - вихід сигналу скидання, синхронізованого із заднім фронтом сигналу С LK. Після надходження сигналу RESET МП припиняє роботу і залишається в режимі очікування до закінчення цього імпульсу. Потім починається процес ініціалізації МП, який триває 10 тактів.

Мікросхема К580ВВ55.

БІС паралельного інтерфейсу призначена для організації вводу / виводу паралельної інформації різного формату. Структурна схема мікросхеми наведена на Рис.6. Опишемо використовувані її висновки.

D 7 - D 0 - вхід / вихід даних;

- Читання. Низький рівень сигналу дозволяє зчитування інформації з регістра, що адресується по входах А0, А1 на шину D 7. D 0;

- Запис. Низький рівень сигналу дозволяє запис інформації з шини D 7. D 0 в порт мікросхеми, що адресується по входах А0 та А1;

A 0 і A 1 - входи для адресації внутрішніх регістров.00 - порт А, 01 - порт В, 10 - порт С, 11 - порт керуючого слова, яке встановлює роботу мікросхеми в один з трьох режимів;

- Вибір мікросхеми, низький рівень подається сигналу підключає її до системної шини;

RS - скидання, високий рівень сигналу обнуляє регістр керуючого слова і встановлює всі порти в режим введення;

РА7-РА0 - вхід / вихід каналу А;

РВ7-РВ0 - вхід / вихід каналу В;

РС7-РС0 - вхід / вихід каналу С.

Мікросхема КР556РТ17.

Рис.6. Паралельний порт

ППЗУ представляє собою мікросхему, призначену для зберігання програми, яку користувач може самостійно записати в неї. Операція програмування полягає в руйнуванні плавких перемичок на поверхні кристала імпульсами струму. Матриця до програмування, тобто в початковому стані, містить однорідний масив проводять перемичок, що з'єднують рядки і стовпці у всіх точках їх перетинів. Програму в ППЗУ ми записувати не буде, припускаємо, що вона вже знаходиться там. Ця мікросхема містить 512 байт, а час вибірки адреси 50нс, що на багато менше 200нс (час одного такту). Мікросхема представлена ​​на рис.7. Опишемо використовувані висновки.

А0-А8 - входи, за якими обирається адреса в мікросхемі ППЗУ;

D О0-D О7 - виходи, по яких передаються дані, що містяться в заданій комірці пам'яті;

З S 1, CS 2, і - Висновки вибору мікросхеми, які свідчить і водночас і про зчитуванні інформації з неї. Кожен з них повинен мати відповідне активний стан, тобто CS 1 = CS 2 = 1 і = = 0. Порушення цієї умови хоча б для одного з входів виключає доступ до накопичувача для зчитування. У цьому випадку мікросхема буде знаходиться в стані зберігання, в якому виходи приймають Z - стан.

Розробка програмного забезпечення

Програма, що знаходиться в ПЗУ, складається з наступних блоків: безпосереднє тестування ПЗУ, обробка заданої функції і програмування паралельного порту. Блок - схема програми представлена ​​на рисунку 8. Далі більш детально будуть розглянуто кожний з блоків.

Рис.7. Програмоване ПЗУ

Тест ПЗУ

Тестування ПЗУ полягає в підсумовуванні вмісту всіх мнемокод програми, іншими словами значень, що знаходяться по адреси ПЗУ. Кожен адреса містить 16 - розрядний код, який відповідає певній команді процесора. Спочатку встановлюється початкова адреса коду програми. Перебір всіх адрес робиться в циклі, в якому перевіряється чи досягнуто адресу останній комірки пам'яті, якщо це не так, то цикл знову поновлюється. В іншому випадку, якщо досягнутий останній осередок пам'яті, отриманий результат суми порівнюється зі значенням знаходяться в певному адресі ПЗУ за межами основної програми. Це число повинне бути отримано раніше, шляхом ручного підрахунку або ж самою програмою, яка тестує ПЗУ. Це проводиться кілька разів для правильності результату, так як від нього надалі буде залежати: програма продовжить своє виконання або ж перейде на ділянку, в якій перебуватиме команда зупину. Якщо тестування ПЗУ закінчилося не успішно, то до зупинки мікропроцесора, він посилає сигнал в порт виводу - паралельний порт, в якій встановлює значення, що свідчить про помилки.

Тут наводимо ділянка коду програми, тестуючої ПЗУ.

movsi, ADDR_OF_BEGINING_OF_ROM

movax, 0

loop:

add ax, [si]

incsi

cmpsi, ADDR_OF_END_OF_ROM;

jneloop

cmpax, CONTROL_SUM_OF__ROM

jeALL_GOOD

jmpERROR_ROM

ALL_GOOD:

; Ділянка коду реалізованої функції

ERROR _ ROM:

mov al, 02h

out 02h, al

hlt

Останні три рядки означають наступне: відсилаю в другій біт порту 2 значення 1 (це порт З паралельного порту мова про який піде нижче), яке свідчить про помилку в програмі і виконується команда зупину. Вона необхідна для зупинки всієї системи і аналізу її стану. Це дозволить відстежити помилку в системі.

Алгоритм обчислення функції

Задана функція являє собою залишок від множення двох наступних значень і ділення отриманого результату на попереднє отримане значення з порту введення. Результат виводимо в порт виводу - паралельний порт.

Вхідні дані являють собою нескінченну ланцюжок, обробка якої закінчується у разі зупинки чи скидання мікропроцесора. Програма обробляє три послідовних значення взятих з ланцюжка, після виведення результату перший отримане значення викидається, а два інших перезаписуються в регістри, в яких знаходилися отримані на один крок раніше значення. Останнє з трьох вхідних значень вводимо з порту. І так дії тривають до безкінечності.

На вхід подаються з порту введення з адресою 04 h 16 - розрядні числа, які записуються в акумулятор і після цього з нього пересилаються в інший регістр, це робиться тому що, дані з порту і в порт можна посилати і отримувати, використовуючи тільки акумулятор. Щоб раніше отримані дані не були втрачені для цього, необхідно зберігати їх в іншому регістрі. Після введення даних безпосередньо відбувається їх обробка, а саме множення і ділення. При розподілі не можна допустити, щоб дільник був рівний нулю, для цього ми перевіряємо його вміст на нуль. Перевірку цю доцільніше проводити не перед безпосереднім поділом, а як тільки ми отримали значення, яке буде дільником. У випадку, якщо це число виявиться нулем, то переходимо на ту ділянку програми, в якому значення перезаписуються в регістри, що містять попередні значення.

Особливістю команди множення MUL є те, що множимое безпосередньо не вказується, воно знаходиться в акумуляторі. Результат операції буде знаходитися в двох регістрах DX і AX відповідно старша і молодша частина 32 - розрядного результат. Після цього проводимо поділ: у команді DIV безпосередньо вказується тільки один операнд - це дільник, а ділене знаходиться в регістрах AX і DX. Результат поміщається в AX - приватне і в DX - залишок, який буде результатом функції. Але це ще не кінець програми, так як необхідно отриманий результат переслати в порт виводу. Для цього поміщаємо його в акумулятор, молодшу частину якого записуємо в порт 00, а старшу частину спочатку пересилаємо в молодшу, а потім виводимо в порт 01 паралельного інтерфейсу.

Програмування паралельного порту.

Розглянемо внутрішню структуру паралельного порту. До складу входять: двонаправлений 8 - розрядний буфер даних; блок управлінням записом читанням і три восьми розрядних каналу вводу / виводу - порти А, В і С для обміну інформацією з зовнішніми пристроями, адреси портів відповідно 00, 01 і 10. Режим роботи кожного з каналів програмується за допомогою керуючого слова. Керуюче слово може задати один з трьох режимів: основний режим введення / виводу (режим 0), стробований введення / висновок (режим 1) і режим двонаправленої передачі інформації (режим 2). Канал А може працювати в будь-якому з трьох режимів, канал В - у режимах 0 і 1. Канал С може бути використаний для передачі даних тільки в режимі 0.

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

Розряд 0 порту З встановлюється в 1 як тільки дані надійшли в паралельний порт (порти А і В). Цей біт скидається ПЕОМ, коли вона прочитає дані з порту, в нуль. Це нове значення повинен вважати мікропроцесор і тільки після цього почати обробляти нові значення. Механізм такої перевірки реалізується в такий спосіб: організується цикл, робота якого полягає в тому, що кожен раз значення з порту зчитується в акумулятор і його вміст перевіряється на нуль. Така перевірка повинна зайняти не більше одного проходу циклу, тому що ПЕОМ працює на багато швидше, ніж пристрій введення. Також у порту С використовується розряд 1, який свідчить про те, що стався збій в ПЗУ. Обнулив вміст порту С спочатку програми (після установки режиму), щоб показати його початковий стан і щоб не виникло ситуації: помилка в ПЗУ і дані готові.

Для роботи з паралельним портом необхідно спочатку його проініціалізувати, тобто задати йому режим роботи. За це відповідає керуюче слово, до якого можна звернутися в просторі введення / висновку за адресою 03 h. У сьомий розряд запишемо 1 (установка режимів каналів), а в інші розряди запишемо нулі, отже паралельний порт буде працювати в режимі 0 і всі порти будуть налаштовані на виведення інформації.

Сама програма з необхідними поясненнями представлена ​​в Додатку. Там же описані такти і розмір кожної виконуваної команди. Перше значення необхідно для побудови часових діаграм роботи системи, а друге - для підрахунку всього обсягу програми.

Розробка структурної схеми

Цей етап є перехідним ступенем між аналізом проектованої системи і з'єднанням її елементів між собою на функціональній схемі. У ході аналізу завдання, визначили яку елементну базу буде використовувати, тепер визначимо основні моменти з'єднання елементів.

Мікропроцесорний пристрій складається з самого мікропроцесора, генератора тактових імпульсів, а також з буферних регістрів і шинних формувачів. Останні два елементи використовуються для демультиплексування шини адреси / даних. Тут розглядаються всі ці елементи, як один блок, через те що при побудові будь-якої системи на базі К1810 ці елементи завжди повинні в нього входити. Системну магістраль розділимо на шину адреси, шину даних і шину управління. До них підключимо наш узагальнений блок, а також ПЗУ, порт вводу / виводу, які необхідно приєднати за допомогою дешифратора адреси. Дешифратор необхідний для точного вибору мікросхеми, щоб не було плутанини при зверненні в просторі введення / виводу і просторі пам'яті, які один від одного відокремлені. Безпосередня взаємодія використовуваних блоків з шинами показано за допомогою стрілок, спрямованих до і / або від відповідним шинам. Структурна схема пристрою введення наведена на рисунку 9.

Проектування функціональної схеми

Тепер ми прийшли до найцікавішого етапу розробки системи - безпосереднє з'єднання висновків елементів. Опишемо найбільш цікаві аспекти проектування системи, функціональна схема якої виконана як окремий креслення на форматі А2. Але спочатку розглянемо роботу системи після її включення. По закінченню сигналу RESET, перша команда починає вибиратися з комірки пам'яті з фізичною адресою FFFF 0 h. І тому сюди необхідно поставити команду переходу JMP, яка перейде по мітки на початковий адресу програми, що знаходиться в ПЗУ. Адресою початку програми для мікропроцесора буде 11111000000000, так як використовуємо в системі тільки висновки AD 14. AD 0. А початок програми буде знаходиться в ПЗУ починаючи з адреси 000000000. Вся програма займає 80 байт, отже можна було взяти ПЗУ меншого обсягу, але тоді необхідно підключати їх більше число, тому що треба забезпечувати пересилку байта. ПЗУ представлено двома блоками, для того щоб кожне слово передавалося за один цикл шини, слова розташовуються тільки з парних адрес. Використанням сигналів і А0, приводить до наступних пересилках: 00 - пересилається слово, 10 - молодший байт, 01 - старший байт, 11 - пристрій не обрано. Інші адреси крім і А0, і адрес, що визначають адресу всередині ПЗУ, беруть участь у виборі мікросхеми. Вибір мікросхеми пам'яті здійснюється по 4 - му висновків, два з яких мають активний рівень 0 і два інших - 1. Перші з них заземлити, а на другу подамо сигнал з логіки адрес, щоб при зверненні до пам'яті там була одиниця. Повернемося до лінії RESET до якої також підключено паралельний порт. Цей сигнал обнуляє керуюче слово і встановлює всі порти в режим введення.

Розглянемо формування керуючих сигналів: запис в порт ( ), Читання порту ( ) І читання пам'яті ( ), Які безпосередньо беруть участь або в дозволі вибору мікросхеми, або подаються на відповідні висновки мікросхеми, як для К580ВВ55 (для входів і ). Сигнали формуються на підставі 3 - х висновків мікропроцесора , і , Які виробляються в залежності від того, відбувається звернення до порту або пам'яті.

Порти введення і виведення підключаються аналогічно ПЗУ. У них існує свій єдиний адресу, по якому відбувається звернення до мікросхеми. Як порту введення використовується дві мікросхеми К1810ІР82, які забезпечують передачу 16 - розрядних даних. Крім вступу на них вхідних даних, також подається стробирующий сигнал, який дозволяє запис даних в мікросхему. Він подається як вхідний значення для пристрої введення для того, щоб мікропроцесор встигав обробляти дані, тобто виникненні ситуації: запис даних замість інших, ще не оброблених, звелася до нуля.

Більш просте підключення, щодо вибору порту відбувається в мікросхемі К580ВВ55. Тому що в неї вже є два входи А0 та А1, за якими відбувається вибір порту паралельного інтерфейсу. Передача даних і сигналу їх готовності забезпечується портами А, В і С цієї мікросхеми.

У висновку кілька слів про генератор тактових імпульсів. Якщо швидкодія всіх зовнішніх пристроїв системи погоджено з швидкодією МП і немає необхідності в режимі очікування, то входи готовності підключаються до джерела живлення, а входи дозволу аналізу заземлюються. При цьому сигнал READY виробляється схемою синхронізації готовності під дією внутрішнього сигналу синхронізації З LK.

Оцінка швидкодії системи

У ряді випадків, особливо при розробці програмного забезпечення для МПС реального часу, важливим є час виконання тієї чи іншої програми, тому для кожного формату команди вказується число тактів N, необхідних для її виконання. Кількість тактів для кожної команди наведено у додатку. Усю програму можна розбити на наступні частини: ініціалізація системи (тест ПЗУ та встановлення паралельного порту), введення даних у пристрій введення, їх обробка, висновок даних і перевірка готовності (ПЕОМ вважав дані з порту виведення чи ні).

В алгоритмі використовується операція ділення, в якій дільник не повинен бути рівний нулю, через це відбувається пропуск цих даних і вони знову вводяться. Тому швидкодію системи буде відрізнятися через вхідних значень. Також час введення перших трьох значень і значень прийнятих в середині роботи буде відмінно, так як використовується в першому випадку три операції виведення з порту (IN), а в другому - лише одна.

Можлива також ситуація, коли ПЕОМ довгий час не буде забирати дані з порту виводу. Цикл перевірки триватиме великий час, що говорити про швидкодію системи буде важко. Ситуація така не повинна виникнути, оскільки ПЕОМ набагато швидше працює, ніж пристрій введення. Таким чином достатньо буде однієї перевірки.

Найбільш цікаві варіанти представлені у вигляді часових діаграм на малюнку 10. Але спочатку треба визначити, скільки часу займає один такт. Частота такту дорівнює 5Мгц, звідси випливає, що його тривалість 200нс. Значить, щоб підрахувати час, витрачений на обробку ділянки коду програми необхідно скласти всі такти кожної з мікрооперацій і отримане значення помножити на 200нс. Кількість тактів, за яке виконується команда наведено у додатку (напроти кожної команди).

Масштаб не дотримується, тому що є блоки, які виконуються за маленький проміжок часу, а є і за великий. З діаграм видно, що обробка нової порції даних і отримання на підставі їхнього результату залежить від двох аспектів: ПЕОМ прийняв дані від пристрою введення і які дані прийшли в пристрій введення (одне зі значень дорівнює нулю).

Список використаної літератури

1. Комп'ютерне оформлення звітних документів: методичні вказівки / Упорядник Т.І. Матікашвілі; ТулГУ. Тула, 2000. - 36 с.

2. Казарінов Ю.М. та ін Мікропроцесорний комплект К1810: Структура, програмування, застосування. - М.: Вищ. шк., 1990. - 270 с.

3. Мікропроцесори і мікропроцесорні комплекти інтегральних мікросхем. Довідник в 2-х томах під ред.В.А. Шахнова.

4. Мікропроцесори і мікроЕОМ в системах автоматичного управління. Довідник під редакцією С.Т. Хвоща. Ленінград, 1987. - 638 с.

5. Мікросхеми пам'яті та їх прімененіе.О.Н. Лебедєв. М.: Радіо і зв'язок, 1990. - 160 с.

6. Мікропроцесори сімейства 8086/8088. Ю-Чжен Лю, Г. Гібсон М.: Радіо і зв'язок, 1987. - 510 с.

7. Мікропроцесорні структури. Інженерні рішення. Б.В. Шевкопляс М.: Радіо і зв'язок, 1990. - 512 с.

Додаток. Лістинг програми

; Тест ПЗУЧісло тактів Число байтів

movsi, begin_of_rom 133

movax, 043

loop:

add ax, [si] 142

incsi21

cmpsi, end_of_rom143

jneloop42

cmpax, sum_of_rom143

jeall_good42

jmperror_rom153

all_good:

moval, 10000000b42

out03h, al102

moval, 042

out02h, al102

; Введення

inax, 04h102

movbx, ax 22

inax, 04h102

movcx, ax 22

metka:

inax, 04 h 102

; Ділянка коду реалізованої функції

movdi, ax 22

cmpbx, 0 43

jenew 42

mulcx1332

divbx1622

movax, dx22

; Висновок

out00h, al102

moval, ah22

out01h, al102

moval, 01h42

out02h, al102

repeat:

inal, 02h102

cmpal, 042

jnerepeat42

new:

movbx, cx22

movcx, di22

jmpmetka152

error_rom:

mov al, 02h42

out 02h, al102

hlt 2 січня

Додати в блог або на сайт

Цей текст може містити помилки.

Виробництво і технології | Курсова
68.8кб. | скачати


Схожі роботи:
Обчислювальна система обробки даних в реальному часі
Програмне забезпечення системи обробки зображення в реальному часі
Спілкування через Інтернет в реальному часі
Автоматизована система обробки структур даних
Мікропроцесорна система обробки журнальних даних
Система обробки аудіоінформації Підсистема фільтрації і обробки сигналу
Методика обробки експериментальних даних
Системи реєстрації та обробки даних
Статистичні методи обробки даних
© Усі права захищені
написати до нас