Цифровые вычислительные машиныРозглядувані серії відрізняються також тим,що у мікросхем КР1802 входи і виходи даних поєднанні, а у мікросхем КМ1804 вони окремі. Крім того, до складу серії КР1802 не входять ВІС формування адрес пам’яті мікрокоманд, тому відповідні сигнали управління формуються за допомогою ПЛМ. Використання ПЛМ замість ПЗП, як відомо дозволяє зменшити апаратні витрати на реалізацію пристрою управління лише у тому випадку, коли мінімізується система логічних функцій від значного числа зміних. Потрібно підкреслити, що більш універсальні пристрої керування, котрі використовують пам’ять мікрокоманд, тому що тоді спрощується розробка, відлагоджування та модифікація не тільки самих мікропрограм і апаратури, а й усієї сукупності програмно-апаратних засобів мікропроцесорної системи. Отже у курсовій роботі доцільно використовувати лише варіант із залученням пам’яті мікрокоманд. Оскільки мікросхеми пам’яті не входять до складу секціонованих мікропрограмних комплектів, розробник самостійно обирає елементну базу для реалізації пам’яті мікрокоманд, виходячи з потрібної розрядності мікрокоманд, їх кількості та швидкодії процесора.
Комплекти біполярних мікропрограмованих мікросхем 1802 і 1804 доцільно залучати у спеціалізованих обчислювальних і керуючих пристроях при підвищених вимогах до їх швидкодії (до 8 млн. коротких операцій за секунду в контролерах і до 5 млн. – у процесорах) та при відсутності значних обмежень на енергоспоживання (приблизно 10-30 вт. В залежності від складності апаратури). Побудова контролерів і процесорів з мікропрограмним управлінням.
Принцип мікро програмного управління запропонований у 1951 році професором математичної лабораторії Кембриджського університету Уілксом М. Мікрооперація уявляє собою елементарне перетворення операндів (наприклад, передача операнда між регістрами, багато розрядна логічна операція, операція додавання), яка здійснюється одним з блоків процесора протягом такту синхронізації . Мікрокоманду складають декілька чи навіть одна мікрооперація, які виконуються всіма блоками процесора протягом такту. Код мікрокоманди - це двійкова комбінація, яка у той чи інший спосіб вказує перелік блоків процесора, котрі ініціюються у даному тактові, а також наступну мікро команду. Мікропрограма уявляє собою упорядковану послідовність мікрокоманд, призначену для реалізації алгоритму виконання певної машинної операції з системи команд ЕОМ. На відміну від раніш відомого апаратного принципу управління, який оснований на ініціюванні відповідних логічних схем процесора, з метою реалізації потрібної машинної команди, шляхом формування у певних тактах одиничних значень сигналів керування, мікропрограмний спосіб управління полягає у безпосередньому прочитування зі спеціального ПЗП текстів мікропрограм, причому коди мікрокоманд у явний спосіб вказують блоки процесора, які слід ініціювати і даному тактові. Переваги мікропрограмного способу управління полягають у тому, що: а) спрощується розробка процесора й збільшується ступінь регулярності його структури; б) спеціалізовані та проблемно-орієнтовані процесори реалізуються шляхом модифікації системи команд стандартного універсального процесора; в) підвищується ефективність системного та прикладного програмного забезпечення завдяки мікропрограмній реалізації часто використовуваних мікропрограм і окремих стандартних функцій.
Комплекти біполярних секціонованих мікросхем надають можливість синтезувати керуючи й обчислювальні пристрої з мікропрограмним управлінням двох класів: -контролери -процесори, котрі принципово відрізняються не складністю апаратури та реалізованих функцій, а в першу чергу числом рівнів управління процесом обробки даних. У контролерах використовується лише один такий рівень – мікропрограмного управління, тоді як у процесорах два рівні: програмного та мікропрограмного управління. У випадку контролера алгоритм функціонування керованого ним пристрою занесений до спеціальної пам’яті у вигляді сукупності мікрокоманд, що задають для кожного такту дії оперативної й керуючої частини контролера.
Керуюча частина (КЧ) обов’язково містить обов’язково містить пам’ять мікрокоманд (ПМК) і формувач адреси мікрокоманди (ФАМк) та може реалізуватися одинадцятьма способоми в залежності від місця підключення й кількості підключень додаткових регістрів : - мікрокоманд (РгМк), де зберігається адресна та керуюча частини мікрокоманди; - стану (РгC), в якому фіксуються значення ознак, що характеризують результат виконання операції операційною частиною (ОЧ) контролера.
Розглянемо три найважливіші варіанти структур мікропрограмовних контролерів. а) У структурі з лише регістром мікрокоманд виконання команди умовного переходу (з номером N+2) можливе лише після завершення операції та формування ознаки в ОЧ. Тому тривалість такту Тк+2 : ,де тривалості, відповідно, читання мікрокоманди х ПМк, виконання операції в ОЧ, формування адреси наступної мікрокоманди в ФАМк. При реалізації безумовних операцій ОЧ може функціонувати одночасно з ФАМк, тому тривалість такту зменшується до Таким чином, якщо не використовувати змінну тривалість такту, то час виконання мікрокоманди визначається умовними мікрокомандами.
Контролер із регістрами мікрокоманд й стану використовує в черговому такті ознаку, сформовану в попередник тактові. Тому однакова тривалість виконання умовних і безумовних мікрокоманд. Однак для аналізу та врахування ознаки, коли ФАМк утворює адресу наступної мікрокоманди, потрібний додатковий такт Тк+1 протягом якого ОЧ виконує пусту мікрокоманду. У контролері з трьома регістрами основні його частини функціонують одночасно: такЮ у такті Тк: - ОЧ виконує мікрокоманду з номером N, що розміщена в регистрі мікрокоманд РгМк, та формує ознаки ; - з ПМк читається (N+1)-a мікрокоманда, адреса якої зформована раніше і зберігається в регістрі адреси РгАМк - ФАМк утворює адресу наступної мікрокоманди з номером N+2, прочитуючи з РгС ознаки сформовані (N-1 )-ю мікрокомандою. Тому контролер з трьома регістрами потребує мінімальної тривалості такту при відсутності розгалужень у мікропрограмі Однак, якщо в такті Тк виконується мікрокоманда умовного переходу, то ОЧ в тактах Тк+1 і Тк+2 змушена реалізувати пусту мікрооперацію NOP; ФАМк у такті Тк+1 формує адресу переходу М, за якою мікрокоманда читається у такті Тк+2, а виконується ОЧ у такті Тк+3 . Використання двох додаткових тактів призводить до зменшення продуктивності контролера з трьома регістрами при виконанні мікрокоманд умовного переходу. До того ж такий контролер значно складніше мікропрограмувати. Таким чином, виборові структури контролера повинен передувати ретельний аналіз реалізованого алгоритму, оскільки при значному відсоткові умовних переходів ефективна послідовна структура контролера з одним регістром РгМк, тоді як 3-ступінева конвеєрна структура контролера з трьома регістрами у випадку природної послідовності виконання мікрокоманд та залучення мікрокоманд безумовного переходу. У випадку процесора прикладний алгоритм відображений не в ПМк, а у оперативній пам’яті (ОЗП) як послідовність команд. Кожна команда реалізується шляхом виконання відповідної мікропрограми з ПМк. Відповідність між кодом команди з РгК та мікропрограмою встановлюється за допомогою дешифратора початкових адрес (ДшПА) мікропрограм, який синтезується на основі мікросхем програмованих ПЗП або ПЛМ. У складі процесора виділяють керуючу частину та операційно-адресну, в якій реалізуються всі дії з: а) аріфметико-логічної обробки інформації, що надходить ззовні по шині даних б) зберігання проміжних результатів в) формування адрес команд, вихідних даних і результатів. У процесорах низької продуктивності формування адрес реалізується тим же обладнанням, що й арефметико-логічна обробка даних, у режимі чередування. При цьому операційно-адресна частина зветься просто операційною чи блоком обробки даних. У високопродуктивних процесорах функції адресної обробки покладаються на АЧ – спеціальну апаратуру, що функціонує у режимі граничного суміщення за часом з арифметико-логічною обробкою даних . Потрібно відмітити, схемотехнічно та структурно відрізняються операційні частини пристроїв у відносності до специфіки конкретних застосувань, структура керуючої частини значно консервативніша.
Особливості прикладних алгоритмів впливають перш за все на формат мікрокоманди та вміст ПМк Блок обробки даних Блоки обробки даних (БОД) можуть відрізнятися за своєю структурою та форматом оброблювальних операндів, реалізувати ті чи інші мікропроцесорні секції. Мікропроцесорна секція Найпростішою за структурою та функціональними можливостями являється мікропроцесорна 4-розрядна секція КМ1804ВС1, за допомогою якої можуть бути реалізовані процесори як із регістрами загального призначення, та і з акумулятором. Управління приймачем результату | 4-розрядова ALU виконує 3 арифметичних і 5 логічних операцій над операндами, що надходять на його входи R та S, причому CI – це вхідне перенесення до секції. Мікрокод | Операція | Мнемоніка | | Мнемоніка | Мікрокод | Операнди | I5 | I4 | I3 | | J2 | J1 | J0 | R | S | 0 | 0 | 0 | | ADD | | AQ | 0 | 0 | 0 | A | Q | 0 | 0 | 1 | | SUBR | | AB | 0 | 0 | 1 | A | B | 0 | 1 | 0 | | SUBS | | ZQ | 0 | 1 | 0 | 0 | Q | 0 | 1 | 1 | RVS | OR | | ZB | 0 | 1 | 1 | 0 | B | 1 | 0 | 0 | | AND | | ZA | 1 | 0 | 0 | 0 | A | 1 | 0 | 1 | | NOTRS | | DA | 1 | 0 | 1 | D | A | 1 | 1 | 0 | | EXOR | | DQ | 1 | 1 | 0 | D | Q | 1 | 1 | 1 | | EXNOR | | DZ | 1 | 1 | 1 | D | 0 | За допомогою мультиплексора МUX1 здійснюється вибір джерел операндів, які можуть надходити з зовнішньої шини даних DI(0 3) чи з внутрішніх регістрів Q або РЗП. Реалізація операцій з поодиноким операндом (інкремент, декремент, інверсія, завантаження тощо) за допомогою ALU спрощується за рахунок використання нульового (другого фіктивного) операнду – комбінації з чотирьох двійкових нулів. Внутрішня надоперативна регістрова пам’ять секції складається з 16 4-розрядових РЗП та 4-розрядового регістра Q. У процесі виконання операції вміст будь-яких з РЗП може перевантажуватись до РгА та РгВ, причому номери цих РЗП вказуються 4-розрядовими кодами А(0 3) та В(0 3). Однак при запису інформації до РОНу, номер останнього повинен вказуватись лише кодом В(0 3). На вході блоку РЗП розміщений комбінаційний зсувач даних SH1, що забезпечує завантаження до РЗП, обраного полем В(0 3), операнда без зсуву або зі зсувом праворуч на розряд (у бік старших розрядів). При цьому, з метою сполучення сусідніх секцій, використаються двонапрямкові входи-виходи SL1 і SR1. За допомогою регістра Q спрощується реалізація деяких операцій, наприклад, множення та ділення. При ціому залучається зсувач SH2, який дозволяє записувати до регістра Q дані з виходу АЛП як безпосередньо, так і зі зсувом на позицію ліворуч або праворуч.
Виходи SL2 і SR2 зсувача SH2 використовуються при взаємодії сусідніх секцій.
Управління завантаженням внутрішніх регістрів та виведенням результатів на вихідну шину DO(0 3) здійснюється за допомогою сигналів I6 I8. Мікрокод | РЗП | Регістр Q | Вихідна шина DO(0 3) | I8 | I7 | I6 | Зсув | Завантаження | Зсув | Завантаження | 0 | 0 | 0 | - | - | - | F®Q | F | 0 | 0 | 1 | - | - | - | - | F | 0 | 1 | 0 | - | F®B | - | - | A | 0 | 1 | 1 | - | F®B | - | - | F | 1 | 0 | 0 | праворуч | F/2®B | праворуч | Q/2®B | F | 1 | 0 | 1 | праворуч | F/2®B | - | | F | 1 | 1 | 0 | ліворуч | 2F®B | ліворуч | 2Q®B | F | 1 | 1 | 1 | ліворуч | 2F®B | - | - | F | На виході ALU розміщений селектор вихідних даних MUX2, який може передавати на вихідну шину DO(0 3) не тільки результат поточної операції, а й вміст одного з РЗП, адреса якого вказується кодом А(0 3). Вихідний каскад MUX2 виконаний за схемою з трьома станами, тому при секція відключається своїми виходами DO(0 3) від зовнішньої інформаційної шини. ALU формує також зовнішні вихідні сигнали, які у той чи іншій спосіб використовуються при поєднанні секцій між собою : та - сигнали породження та транспортування перенесення в межах даної секції; використовуються мікросхемою КМ1804ВР1 прискореного перенесення, що забезпечує більш високу швидкодію; COвихідне перенесення з даної секції; N (знак) та V (переповнення) мають значення лише для старшої секції, вказуючи на від’ємність результату при N=1 та переповнення розрядної сітки; Zформується на виході схеми з відкритим колектором, що дозволяє підключити виходи Z всіх секцій через резистор до джерела живлення +5В; тоді при нульовому результаті маємо Z=1, а при ненульовому Z=0. Значення сигналів N,V,Z,CO можуть бути проаналізовані при виконанні команд і мікрокоманд умовної передачі управління.
Розглянемо приклади виконання деяких операцій процесорною секцією.
Операція пересилання операнда з одного РЗП до іншого може здійснюватись за допомогою відмінних мікропрограм. Однак суттєво те, що операнд необхідно прочитати з регістра-джерела, потім передати через ALU та SH1, а лише нарешті завантажити до регістра-приймача.
Адресу регістра-джерела вказує код А, номер регістра приймача задається полем В(0 3). Оскільки операція пересилання однооперандова, то для завдання операндів необхідно використовувати код ZA: (J2J1J0)=(100), коли на вхід R ALU подається нульовий операнд, а на вхід S – операнд з РЗП, який задається полем А(0 3). З метою запису до регістра-приймача, окрім його номера на входах В(0 3), необхідно також вказати код (I8I7I6)=(010) або 011, який забезпечує завантаження F®B. При цьому ALU може реалізувати різні операції : - додавання при (I5I4I3)=000 та CI=0 - віднімання при (I5I4I3)=001та CI=1 - логічне І при (I5I4I3)=101, коли інвертується нульовий R - диз’юнкції при (I5I4I3)=011 - додавання за модулем 2 при (I5I4I3)=110 Після виконання будь-якої з перелічених операцій на виході F ALU має місце вміст регістра-джерела, причому при виконанні логічних операцій значення CO ніякої ролі не відіграє. Операція | Мікропрограма | Приймач Результат | Операція ALU | Перенесення G | Вибір операнд | Адресні коди | I8 | I7 | I6 | I5 | I4 | I3 | I2 | I1 | I0 | A | B | Додавання | (R0)+D®((R1) | 0 | 1 | X | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0000 | 0001 | (R1)+(R2)®(R1) | 0 | 1 | X | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0010 | 0001 | (R3)+(Q)®(R4) | 0 | 1 | X | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0011 | 0100 | Віднімання | (Q)-(D)®(Q) | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | xxxx | xxxx | (R5)-(R6) ®(Q) | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0101 | 0110 | (Q)-(R7)®(R8) | 0 | 1 | X | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0111 | 1000 | Інкремент | (R9)+1®(R9) | 0 | 1 | X | 0 | 0 | 0 | 1 | 0 | 1 | 1 | xxxx | 1001 | (Q)+1®(Q) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | xxxx | xxxx | Декремент | (R10)-1®(R10) | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1010 | 1010 | (Q)-1®(Q) | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | xxxx | xxxx | Інвертуван-ня | | 0 | 1 | Х | 1 | 1 | 1 | Х | 0 | 1 | 1 | хххх | 1011 | | 0 | 0 | 0 | 1 | 1 | 1 | Х | 0 | 1 | 0 | хххх | хххх | Схема управління станами та зсувами СУЗС: - здійснює запам’ятовування ознак результата,що формується АЛП (його станів), - управляє сигналом вхідного перенесення, - реалізує 32 типи зсувів (арифметичних, логічних, циклічних) над словами звичайної та подвійної довжини. До складу СУЗС входять два 4-розрядових регістри стану, N та M, котрі разои з трьома мультиплексорами та буфером ознак(БО) складають блок зберігання та модифікації ознак (БЗМО), а також блоки управління переносами (БУП) і зсувами (БУЗ), блок перевірки умов (БПУ) і пристрій керування (ПК), схема управління полярністю (СУП). __ __ __ ___ EC,EZ,EN,EOV | Операції над вмістом регістра N при можна підрозділити на три групи: - порозрядні - регістрові - завантаження Порозрядні операції встановлюють у одиницю або скидають у нуль окремі розряди регістра N( дивись таблицю). Мікрокод | Позначення операції | Для операції | I5 | I4 | I3 | I2 | I1 | I0 | 0 | 0 | 1 | 0 | 0 | 0 | 0®NZ | Скид ознаки нуля Z | 0 | 0 | 1 | 0 | 0 | 1 | 1®NZ | Установка ознаки нуля Z | 0 | 0 | 1 | 0 | 1 | 0 | 0®NC | Скид ознаки перенесення С | 0 | 0 | 1 | 0 | 1 | 1 | 1®NC | Установка ознаки перенесення С | 0 | 0 | 1 | 1 | 0 | 0 | 0®NN | Скид ознаки знака N | 0 | 0 | 1 | 1 | 0 | 1 | 1®NN | Установка ознаки знака N | 0 | 0 | 1 | 1 | 1 | 0 | 0®NOV | Скид ознаки переповнення NOV | 0 | 0 | 1 | 1 | 1 | 1 | 1®NOV | Установка ознаки переповнення NOV | Регістрові операції виконуються над всіма розрядами, які одночасно, встановлюються у нуль або одиницю, копіюються до регістра М або обмінюються з ним вмістом ( дивись таблицю). Мікрокод | Позначення операції | Для операції | I5 | I4 | I3 | I2 | I1 | I0 | 0 | 0 | 0 | 0 | 0 | 0 | M®N | Запис вмісту РгM до РгN | 0 | 0 | 0 | 0 | 0 | 1 | 1®N | Запис “1” у розряди РгN | 0 | 0 | 0 | 0 | 1 | 0 | M«N | Регістровий обмін | 0 | 0 | 0 | 0 | 1 | 1 | 0®N | Запис “0” у розряди РгN | Операції завантаження здійснюють занесення до РгN ознак нуля (IZ), знака (IN), перенесення (IC) та переповнення (IOV) з відповідних входів К1804ВР2, причому запис з інвертуванням ознаки перенесення використовується при виконанні команд віднімання чисел, що додані у прямому коді, а запис з зберіганням ознаки переповнення – у разі необхідності продовжувати обчислення і після виконання переповнення. Мікрокод | Позначення | Операція | I5 | I4 | I3 | I2 | I1 | I0 | 0 | 0 | 0 | 1 | 1 | Х | IZ®NZ | Запис з збереженням ознаки переповнення | | | | | | | IC®NC | | | | | | | IN®NN | | | | | | | IOV v NON®NON | 0 | 1 | 1 | 0 | 0 | Х | IZ®NZ | Запис з інверсією ознаки перенесення | 1 | 0 | 1 | 0 | 0 | Х | | 1 | 1 | 1 | 0 | 0 | Х | IN®NN | | | | | | | IOV®NOV | 0 | 0 | 0 | 1 | 0 | Х | | | | | | | | | | | 0 | 1 | 0 | Х | Х | Х | | | | | | | | | | | 0 | 1 | 1 | 0 | 1 | Х | | | 0 | 1 | 1 | 1 | Х | Х | | | 1 | 0 | 0 | Х | Х | Х | IZ®NZ | | | | | | | | IC®NC | Безпосереднє завантаження з входів ознак | 1 | 0 | 1 | 0 | 1 | Х | IN®NN | Стану | 1 | 0 | 1 | 1 | Х | Х | IOV®NOV | | 1 | 1 | 0 | Х | Х | Х | | | | | | | | | | | 1 | 1 | 1 | 0 | 1 | Х | | | 1 | 1 | 1 | 1 | Х | Х | | | Операції над вмістом регістра М виконуються при і бувають двох типів: - регістрові - завантаження причому здійснюються тільки над розрядами, обраними за допомогою відповідних сигналів дозволу: для MZ для MN для MC для MOV При регістрових операціях призводиться завантаження з двонапрямкових виводів YZ, YN,YC,YOV чи з виходів регістра N. Мікрокод | Позначення операції | Для операції | I5 | I4 | I3 | I2 | I1 | I0 | 0 | 0 | 0 | 0 | 0 | 0 | Y®M | Запис зі входів Y | 0 | 0 | 0 | 0 | 0 | 1 | “1”®N | Запис “1” до РгМ | 0 | 0 | 0 | 0 | 1 | 0 | M«N | Регістровий обмін | 0 | 0 | 0 | 0 | 1 | 1 | “0”®N | Запис “0” до РгМ | 0 | 0 | 0 | 1 | 0 | 1 | | Інвертування вмісту РгМ | Операції завантаження аналогічні однойменим операціям для РгN. Мікрокод | Позначення | Операція | I5 | I4 | I3 | I2 | I1 | I0 | 0 | 0 | 0 | 1 | 0 | 0 | IZ®MZ | Запис для виконання зсуву з використанням ознаки переповнення | | | | | | | IN®MN | | | | | | | MOV®MC | | | | | | | MC®MOV | 0 | 0 | 1 | 0 | 0 | Х | IZ®MZ | Запис з інвертуванням ознаки перенесення | 0 | 1 | 1 | 0 | 0 | Х | | 1 | 0 | 1 | 0 | 0 | Х | IN®MN | 1 | 1 | 1 | 0 | 0 | Х | IOV®MOV | 0 | 0 | 0 | 1 | 1 | Х | | | 0 | 0 | 1 | 0 | 1 | Х | | | 0 | 0 | 1 | 1 | Х | Х | | | 0 | 1 | 0 | Х | Х | Х | | | 0 | 1 | 1 | 0 | 1 | Х | | | 0 | 1 | 1 | 1 | Х | Х | | | 1 | 0 | 0 | Х | Х | Х | IZ®MZ | Запис безпосередньо зі входів ознак стану | 1 | 0 | 1 | 0 | 1 | Х | IC®MC | 1 | 0 | 1 | 1 | Х | Х | IN®MN | 1 | 1 | 1 | Х | Х | Х | IOV®MOV | | 1 | 1 | 0 | Х | Х | Х | | | 1 | 1 | 1 | 0 | 1 | Х | | | 1 | 1 | 1 | Х | Х | Х | | | Управління двонапрямковою шиною Y відображено у наступній таблиці. Мікрокод | Виходи | | I5 | I4 | YZ | YC | YN | YOV | 1 | X | X | Відключено | 0 | 0 | Х | NZ | NC | NN | NOV | 0 | 1 | 0 | MZ | MC | MN | MOV | 0 | 1 | 1 | IZ | IC | IN | IOV | Якщо на входи I0 I5 подати нульову комбінацію, шина Y являється вхідною незалежно від значення сигнала дозволу . Схема перевірки умов (БПУ) складається з схеми перевірки умов (СПУ), комутатора умов (КУ) і схеми управління полярністю (СУП). СПУ формує 8 базових логічних умов над операндами, що визначаються розрядами I4 і I5 мікрокоманди. В залежності від комбінації I3 I2 I1 КУ. Розряди мікрокоманли | Значення сигналу на виході СТ | J3 | J2 | J1 | J0 | J5=0 J4=0 | J5=0 J4=1 | J5=1 J4=0 | J5=1 J4=1 | 0 | 0 | 0 | 0 | | | | | 0 | 0 | 0 | 1 | | | | | 0 | 0 | 1 | 0 | | | | | 0 | 0 | 1 | 1 | | | | | 0 | 1 | 0 | 0 | NZ | NZ | MZ | IZ | 0 | 1 | 0 | 1 | | | | | 0 | 1 | 1 | 0 | NOV | NOV | MOV | IOV | 0 | 1 | 1 | 1 | | | | | 1 | 0 | 0 | 0 | | | | | 1 | 0 | 0 | 1 | | | | | 1 | 0 | 1 | 0 | NC | NC | MC | IC | 1 | 0 | 1 | 1 | | | | | 1 | 1 | 0 | 0 | | | | | 1 | 1 | 0 | 1 | | | | | 1 | 1 | 1 | 0 | | NN | MN | IN | 1 | 1 | 1 | 1 | | | | | Сигнал з виходу СТ призначений для зміну природної послідовності команд і мікрокоманд; він надходить на один зі входів мультиплексора вибору умов у складі пристрою умов мікропрограмного управління обирає одну з логічних умов, яка може бути про інвертована СУП при J0. При значення однієї з 16 умов надходить на вхід БПУ, а при вихідний каскад БПУ переходить у високо імпедансний стан. Блок управління переносами (БУП) обирає у якості сигнала вхідного перенесення секції одне з семи джерел за допомогою 2-розрядної мікрокоманди (J12 J11) та сигналів J5 J3 J2 J1. Завдяки цьому спрощується виконання деяких операцій, наприклад, додавання та віднімання звичайної та подвійної довжини, оскільки можна скористатись: - константами 0,1; - перенесенням попереднього такту з РгN чи його інверсією; - поточним перенесенням даного такту Мікрокод | Виход СО | J12 | J11 | J5 | J3 | J2 | J1 | 0 | 0 | 0 | X | X | X | 0 | 0 | 1 | X | X | X | X | 1 | 1 | 0 | X | X | X | X | CI | 1 | 1 | 0 | 0 | X | X | NC | 1 | 1 | 0 | X | 1 | X | NC | 1 | 1 | 0 | X | X | 1 | | 1 | 1 | 0 | 1 | 0 | 0 | MC | 1 | 1 | 1 | 0 | X | X | MC | 1 | 1 | 1 | X | 1 | X | MC | 1 | 1 | 1 | X | X | 1 | MC | 1 | 1 | 1 | 1 | 0 | 0 | | Блок управління зсувами (БУЗ), виходячи з мікрокоманди (J10,J9,J8,J7,J6), реалізує один з 32-х можливих зсувів, причому у якості вхідних змінних можуть використовуватись сигнали на виводах зсуву та шині ІC, IN, IV, IZ. Зсуви дозволені при всі чотири двонапрямкові виводи зсуву SL1, SR1, SL2, SR2 СУСЗ знаходяться у високоімпедансному стані. Розряд J10 мікрокоманди визначає напрямок зсуву, тому він повинен поєднуватись зі входом J7 секції К1804ВС1 чи входом J8 секції К1804ВС2. Мікрокод | Тип зсуву | Двонапрямкові виводи | Заван-таження до МС | J10 | J9 | J8 | J7 | J6 | SL1 | SR1 | SL2 | SR2 | 0 | 0 | 0 | 0 | 0 | | Z | 0 | Z | 0 | - | 0 | 0 | 0 | 0 | 1 | | Z | 1 | Z | 1 | - | 0 | 0 | 0 | 1 | 0 | | Z | 0 | Z | MN | SL1 | 0 | 0 | 0 | 1 | 1 | | Z | 1 | Z | SL1 | - | 0 | 0 | 1 | 0 | 0 | | Z | MC | Z | SL1 | - | 0 | 0 | 1 | 0 | 1 | | Z | MN | Z | SL1 | - | 0 | 0 | 1 | 1 | 0 | | Z | 0 | Z | SL1 | - | 0 | 0 | 1 | 1 | 1 | | Z | 0 | Z | SL1 | SL2 | 0 | 1 | 0 | 0 | 0 | | Z | SL1 | Z | SL2 | SL1 | 0 | 1 | 0 | 0 | 1 | | Z | MC | Z | SL2 | SL1 | 0 | 1 | 0 | 1 | 0 | | Z | SL1 | Z | SL2 | - | 0 | 1 | 0 | 1 | 1 | | Z | IC | HZ | SL1 | - | 0 | 1 | 1 | 0 | 0 | | Z | MC | Z | SL1 | SL2 | 0 | 1 | 1 | 0 | 1 | | Z | SL2 | Z | SL1 | SL2 | 0 | 1 | 1 | 1 | 0 | | Z | IN IV | Z | SL1 | - | 0 | 1 | 1 | 1 | 1 | | Z | SL2 | Z | SL1 | - | Zвисокоімпедансний стан; “-” відсутність завантаження у страші розряди ліворуч Мікрокод | Тип зсуву | Двонапрямкові виводи | Заван-таження до МС | J10 | J9 | J8 | J7 | J6 | SL1 | SR1 | SL2 | SR2 | 1 | 0 | 0 | 0 | 0 | | 0 | Z | 0 | Z | SR1 | 1 | 0 | 0 | 0 | 1 | | 1 | Z | 1 | Z | SR1 | 1 | 0 | 0 | 1 | 0 | | 0 | Z | 0 | Z | - | 1 | 0 | 0 | 1 | 1 | | 1 | Z | 1 | Z | - | 1 | 0 | 1 | 0 | 0 | | SR2 | Z | 0 | Z | SR1 | 1 | 0 | 1 | 0 | 1 | | SR2 | Z | 1 | Z | SR1 | 1 | 0 | 1 | 1 | 0 | | SR2 | Z | 0 | Z | - | 1 | 0 | 1 | 1 | 1 | | SR2 | Z | 1 | Z | - | 1 | 1 | 0 | 0 | 0 | | SR1 | Z | SR2 | Z | SR1 | 1 | 1 | 0 | 0 | 1 | | MC | Z | SR1 | Z | SR1 | 1 | 1 | 0 | 1 | 0 | | SR1 | Z | SR1 | Z | - | 1 | 1 | 0 | 1 | 1 | | MC | Z | 0 | Z | - | 1 | 1 | 1 | 0 | 0 | | SR2 | Z | MC | Z | SR1 | 1 | 1 | 1 | 0 | 1 | | SR2 | Z | SR1 | Z | SR1 | 1 | 1 | 1 | 1 | 0 | | SR2 | Z | MC | Z | - | 1 | 1 | 1 | 1 | 1 | | SR2 | Z | SR1 | Z | - | Zвисокоімпедансний стан; “-” відсутність завантаження у страші розряди ліворуч СУЗС являється багатофункціональним пристроєм, залучення якого доцільно у процесорах з розвиненою системою команд. У інших випадках вища швидкодія та менший обсяг обладнання завдяки скороченню розрядності мікрокоманди досягається при використанні мікросхем К531 та К1531. Структура блока обробки даних. З метою скорочення тривалості циклу секції підключаються до блока прискореного перенесення К1804ВР1, що використовує допоміжні сигнали породження G і розповсюдження Р перенесень, які виробляються секціями. СУСЗ розміщуються між найстаршою та наймолодшою секціями, підключуюсь до ланцюгів зсуву та перенесень, а також до виходів ознак найстаршої секції. Оскільки секцій здатні виконувати лише логічні зсуви та не мають входів завдання власної позиції, СУСЗ: - трансформує логічні зсуви секції в логічні, арифметичні або циклічні зсуви процесораю - генерує сигнали вхідного перенесення - управляє входом розгалужень пристроя мікропрограмного управління По каналах А та В на адресні входи процесорних секцій надходять номери регістрів, що вказуються відповідними полями регістра мікрокоманд, або регістра команд. Шина управляючих сигналів використовується для СУСЗ та процесорними секціями, причому призначення розрядів мікрокоманди вказується в таблиці. Довжина управляючої частини мікрокоманди у випадку обробки 16-розрядних даних складає 46-55 бітів. 16-розрядова шина вхідних даних служить для введення операндів, що розміщені у пам’яті чи зовнішніх пристроях,а також у полі констант мікрокоманди. 16-розрядова шина результатів і 4-розрядова шина ознак (перенесення нульового результата, знака результата та переповнення) підключені до блоку взаємодії із зовнішньою (по відношенню до процесора) шиною даних, котра може бути сумісна із шиною адреси . З метою переривання підпрограм, коли зберігається та відновлюється вміст регістру стану процесора, передбачена можливість запису інформації до РгМ і РгN із вхідної шини IC, IZ, IN, IV та видачі їх вмісту на вихідну шину YC,YZ,YN,YV. Поле констант | D0 D15 | Поле управління СУСЗ К1804ВР2 | Перенесення | I12 ,I11 | Зсув | I9 I6 | Операції | I5 I0 | Дозвіл | Зсуву | | Ознак | | Умови | | Дозвіл запису | у РгМ | | у РгN | | Ознак до РгМ | Переповнення | | Знак | | Нуль | | Перенесення | | Поле управління секції К1804ВС1 | Приймач результату | I8 I6 | Функція АЛП | I5 I3 | Джерело операндів | I2 I0 | Адреса для каналу А | A3 A0 | Адреса для каналу В | B3 B0 | Дозвіл виходів | | DI AB DO SL1 SR1 SL2 SR2 Z N CO CI V P G | SL1 SR1 SL2 SR2 YZ IZ YN IN YC IC YV IV OEV OECT CT I CO CI CLK | P3 G3 C3 P2 G2 C2 P1 G1 C2 P0 G0 К1804ВР1 CO | DI AB DO SL1 SR1 SL2 SR2 Z CI P G | DI AB DO SL1 SR1 SL2 SR2 Z CI P G | DI AB DO SL1 SR1 SL2 SR2 Z CI P G | Пристрій мікропрограмного управління.
Пристрій мікропрограмного управління (ПМУ) призначений для: - реалізації операцій управління, що зустрічаються в мікропрограмах - формування адреси наступної мікрокоманди з залученням різноманітних способів адресації, використання яких спрощує процедури синтезу ПМЗ та сприяє підвищенню продуктивності . Природня адресація реалізується за допомогою лічильника адреси мікрокоманд вміст якого збільшується на одиницю після виконання чергової мікрокоманди.
Примусова адресація здійснюється шляхом задавання адреси з залученням: - відповідного поля мікрокоманди, - стека, - перетворювача кода операції в початкову адресу відповідної мікропрограми, - інших джерел, зовнішніх по відношенню до ПМУ . Сторінкова адресація полягає в модифікації старших розрядів адреси мікрокоманди за допомогою додаткових апаратних засобів, наприклад, регістра сторінок. Необхідність у сторінковій адресації виникає в тих випадках, коли розрядність мікросхеми ПМУ фіксована і, до того ж, недостатня для адресації потрібного обсягу пам’яті. Функціональна адресація дозволяє змінювати будь-які, тільки не сторінкові, розряди адреси. Відносна та індексна адресації не набули широкого застосування у ПМУ. Найбільшого поширення в алгоритмах мікропрограмного управління набули такі типи операцій управління.
Безумовний перехід означає передачу управління мікрокоманді за адресою Аj зразу після виконання мікрокоманди, що розміщена за адресою Аі. Адреса Aj формується за допомогою одного з вказаних способів адресації. Умовний перехід здійснюється за адресою Аj у разі виконання умови при реалізації мікрокоманди за адресою Аі+1 та за адресою Ак, якщо вказана умова не виконується. У частковому випадку одна за адрес Аj або Ак може бути адресою наступної мікрокоманди і визначатися вмістом лічильника мікрокоманд.
Виконання циклів за умовою реалізується з умовного переходу або стека за адресою Aj | | | Безумовний перехід до мікропрограми та повернення з неї реалізується за допомогою стека, в котрому зберігається адреса повернення.
Аналогічно здійснюється відповідна умова переходу. При реалізації різноманітних алгоритмів можуть залучатися вкладені мікропрограми, при виконанні яких адреса повернення завантажується до стека, а перед поверненням прочитується з стека. Якщо необхідно декілька разів повторити виконання окремої мікрокоманди, тог слід зафіксувати вміст лічильника команд протягом відповідної кількості тактів. Таким чином ПМУ повинен забезпечувати вибірку різних джерел адреси, модифікацію адрес, підрахування числа циклів, зберігання адрес повернення, а також змінювати послідовність мікрокоманд в залежності від результату аналізу умов. Секційні 4-розрядові мікросхеми К1804ВУ1 і К1804ВУ2 призначені для побудови пристроїв мікропрограмного управління (ПМУ), що адресують ПЗП місткостю nчисло використовуваних ВІС, які поєднуються між собою ланцюгами перенесення. До складу мікросхеми входять 4 джерела адреси : - регістр початкової адреси (РгА); - лічильник мікрокоманд РС з блоком інкремента (INC) - 4-рівневий стек адрес мікропрограм ST з регістром покажчиком стека (SP); - вхідна шина адреси DI(3 0), а також мультиплексор MUX, блоки схем I(&) та АБО(1). Мультиплексор обирає одне з 4-х джерел адреси у відповідності з комбінаціями на входах S0,S1,які відображуються в таблиці. S1 | S0 | Джерело адреси | 0 | 0 | Лічильник мікрокоманд (РС) | 0 | 1 | Регістр адреси (РгА) | 1 | 0 | Стек | 1 | 1 | Вхідна шина (DI) | Адреса на виході мультиплексора MUX може бути модифікована за допомогою маски, що подається на входи OR(3 0): будь-який розряд адреси можна встановити в “1” шляхом подачі “1” на відповідну лінію маски. На виходах мікросхеми MIA(3 0) можна отримати нульві адресу при та або високоімпедансний стан при мікропрограм з поверненням на “нульову” адресу, а у другому – мікросхема відключається від зовнішньої шини адреси, надаючі її в розпорядження інших пристроїв мікропроцесорної системи. 4-розрядовий регістр адреси РгА запам’ятовує дані, що надходять по шині DR(3 0), за додаьнім фронтом тактового імпульсу при Лічильник мікрокоманд складається з регістра-лічильника мікрокоманд (РС) то комбінаційної схеми інкрементора INC, котрий зберігає адресу мікрокоманди при СІ=0 та збільшує його на 1 при СІ=1. У першому випадку використовується примусова адресація, коли адреса наступної ячейки задається відносним полем поточної мікрокоманди, а у другому природня адресація, коли адреса наступної ячейки формується шляхом інкременту поточної адреси. При цьому адреса звиходу INC записується до РС за додатнім фронтом синхроімпульсів. При нарощуванні розрядності СУАМ вихідний ланцюг перенесення СО підключається до вхідного ланцюга перенесення СІ наступної секції. На вхід СО наймолодшої секції подається “1”, а вихідний ланцюг перенесення СО найстаршої секції не використовується . У такий спосіб, на початку кожного такту, до РС заноситься адреса, збільшена на одиницю в порівнянні з значенням адреси у попередньому тактові, якщо відсутні умовні та безумовні переходи. Стек містить накопичувач з чотирьох 4-розрядовиз регістрів та 2-розрядовий покажчик стека, який адресує 1 з 4 регистрів. При дозволений доступ до стека, вміст якого можна прочитувати ( при PUP=0) та змінювати шляхом завантаження (при PUP=1) адреси мікрокоманди до РС. Відсутні засоби контролю, що виключають можливість переповнення стека. Не передбачене збільшення глибини стека. Стек використовується при звертаннях до мікропідпрограм, початкова адреса яких видається на виходи MIA(3 0) з РгА або з шини DI. Стек при цьому встановлюється в режим завантаження, а при переходові до наступного такту у верхівку стека записується вміст (РС) – адреса чергової мікрокоманди, яка повина виконуватись у складі мікропрограми, що переривалася. Після завершення мікропрограми з стека зчитується адреса чергової мікрокоманди мікропрограми, що переривалася.
Приклад функціонування СУАМ у складі контролера типу І при звертанні до мікропідпрограми та поверненні. У такті Т1 виконується мікрокоманда І(J), прочитана з ПМк за адресою J. В якості джерела наступної адреси обирається лічильник мікрокоманд (РС), де міститься адреса J+1, за допомогою якої з пам’яті читається I(J+1). У такті Т2 мікрокоманда I(J+1) знаходиться в РгМк, а х ПМк за адресою J+2 прочитується мікрокоманда I(J+2) звертання до мікропідпрограми. Такти | Т1 | Т2 | Т3 | Т4 | · · · | Тn | Тn+1 | Тn+2 | Мікрокоманда та її адреса | I(J) | I(J+1) | I(J+2) | I(A) | · · · | I(K) | I(K+1) | I(J+3) | Джерело наступної адреси | (РС) | (РС) | (РгМк) | (РС) | · · · | (РС) | (ST) | (РС) | Лічильник мікрокоманд (РС) | J+1 | J+2 | J+3 | A+1 | · · · | K+1 | K+2 | J+4 | Зовнішнє джерело адреси | Х | Х | А | Х | · · · | Х | Х | Х | Адреса наступної мікрокоманди | J+1 | J+2 | А | A+1 | · · · | K+1 | J+3 | J+4 | Виходи пам’яті мікрокоманд | I(J+1) | I(J+2) | I(A) | I(A+1) | · · · | I(K+1) | I(J+3) | I(J+4) | Управління стеком | | | | | · · · | | | | С | a | a | a | J+3 | · · · | J+3 | J+3 | a | Т | b | b | b | a | · · · | a | a | b | Е | c | c | c | b | · · · | b | b | c | К | d | d | d | c | · · · | c | c | J+3 | У такті Т2 в якості джерела адреси використовується адресове поле з РгМк, в якому вказана адреса першої мікрокоманди мікропідпрограми. У лічильнику мікрокоманд РС формується адреса J+3, яка у такті Т4 переписується до ST, причому вміст (SP) інкрементується . У тактах Т4 Тn+1 виконується мікропідпрограма . У такті Тn p ПМк прочитується мікрокоманда повернення з мікропідпрограми, що реалізується в Тn+1 . При цьому з стека вивантажується адреса повернення J+3, за якою прочитується з ПМк мікрокоманда I(J+3). З такту такту Тn+2 продовжується перервана мікропрограма. Мікросхема КР1804ВУ2 відрязняється від КР1804ВУ1 тим, що не використовує шину маски OR(3 0), а шини DI(0 3) DR(0 3) поєднані між собою ; в результаті залучається корпус з 20-ма виводами, а не з 28-ма. Оскільки СУАМ КМ1804ВУ1 та КМ1804ВУ2 не мають засобів аналізу умов і реалізації умовних переходів, використовується контролер послідовності мікрокоманд (КПМ) КМ1804ВУ1, що реалізує 16 операцій управління послідовністю мікрокоманд. КПМ уявляє собою ПЗП місткістю 32 8-розрядних слова. DI ВУ1 S0, S1,FE,PUP СО CI T Y | DI ВУ1 S0, S1,FE,PUP CI T Y | DI ВУ1 S0, S1,FE,PUP СО CI T Y | Інструкція | Мікрокод | Виконувана операція | Умова TST | Виходи управління | I3 | I2 | I1 | I0 | Джерело наступної адреси | Стек | Лічильник | | | JZ | 0 | 0 | 0 | 0 | Перехід до нульової адреси | Х | DI | Зберіг. | Скид | 1 | 0 | CJS | 0 | 0 | 0 | 1 | Умовний перехід до мікропрограми | 0 | PC | Зберіг. | Зберіг. | 1 | 0 | 1 | DI | Заван. | Зберіг. | 1 | 0 | JMAP | 0 | 0 | 1 | 0 | Перехід до адреси з перетворенням початкової адреси | Х | DI | Зберіг. | Зберіг. | 0 | 1 | CJP | 0 | 0 | 1 | 1 | Умовний перехід до адреси з РгМК | 0 | PC | Зберіг. | Зберіг. | 1 | 0 | 1 | DI | Зберіг. | Зберіг. | 1 | 0 | PUSH | 0 | 1 | 0 | 0 | Завантаження (РС) до стека | 0 | PC | Заван. | Зберіг. | 1 | 0 | 1 | PG | Заван. | Заван. | 1 | 0 | JSRP | 0 | 1 | 0 | 1 | Умовний перехід до однієї з 2-х мікропідпрограм | 0 | РгА | Заван. | Зберіг. | 1 | 0 | 1 | DI | Заван. | Зберіг. | 1 | 0 | CJV | 0 | 1 | 1 | 0 | Умовний перехід до адреси заданої | 0 | PC | Зберіг. | Зберіг. | 1 | 1 | 1 | DI | Зберіг. | Зберіг. | 1 | 1 | JRP | 0 | 1 | 1 | 1 | Перехід за адре-сою умовно виби-раєм РгМК/РгА | 0 | РгА | Зберіг. | Зберіг. | 1 | 0 | 1 | DI | Зберіг. | Зберіг. | 1 | 0 | RFCT | 1 | 0 | 0 | 0 | Повторити цикл, якщо (ЛЦ)¹0 | 0 | Стек | Зберіг. | Зберіг. | 1 | 0 | 1 | PC | Вишт. | Зберіг. | 1 | 0 | RPCT | 1 | 0 | 0 | 1 | Повторити адресу з РгМК, якщо (ЛЦ)¹0 | 0 | DI | Зберіг. | Зменш. | 1 | 0 | 1 | PC | Зберіг. | Зберіг. | 1 | 0 | CRTN | 1 | 0 | 1 | 0 | Умовне повернення з мікропідпрограми | 0 | PC | Зберіг. | Зберіг. | 1 | 0 | 1 | Стек | Вишт. | Зберіг. | 1 | 0 | CJPP | 1 | 0 | 1 | 1 | Умовний перехід до адреси з РгМК і виштов. Стека | 0 | PC | Зберіг. | Зберіг. | 1 | 0 | 1 | DI | Вишт. | Зберіг. | 1 | 0 | LDCT | 1 | 1 | 0 | 0 | Завант.лічильника і перехід до чергов. МК | Х | РС | Зберіг. | Заван. | 1 | 0 | LOOP | 1 | 1 | 0 | 1 | Контроль кінця циклу | 0 | Стек | Зберіг. | Зберіг. | 1 | 0 | 1 | PC | Вишт. | Зберіг. | 1 | 0 | CONT | 1 | 1 | 1 | 0 | Продовжити | Х | PC | Зберіг. | Зберіг. | 1 | 0 | JP | 1 | 1 | 1 | 1 | Безумовний пере-хід до адреси з РгМК | Х | DI | Зберіг. | Зберіг. | 1 | 0 | Вхідними сигналами являються аналізована умова TEST і 4-розрядовий код виконуваної інструкції I0 I3. Вихідні сигнали управляють: - функціями стека (FE,PUP) - вибором джерела адреси за допомогою мультиплексора (S0 ,S1) - вибором зовнішнього джерела адреси (,) - функціонуванням лічильника циклів () Розглянемо роботу пристрою мікропрограмного управління виконаного з залученням 3-х мікросхем СУАМ КМ1804ВУ1, КПМ КМ1804ВУ3, регістрів, лічильника, ПЗП мікрокоманд, мультиплексора тощо, котрий забезпечує можливість звертання до пам’яті обсягом 4К слова.
Прочитана з ОЗП команда запам’ятовується в регістрі команд (РгК). Код операції (КОп.) цієї команди перетворюється формувачем початкової адреси (ФПА) у 12- розрядову адресу першої мікрокоманди мікропрограми,що реалізує виконання прочитаної команди. По відношенню до ВІС КМ1804ВУ1 одним з зовнішніх джерел адреси являється формувач початкової адреси (ФПА), котрий реалізується, як првило за допомогою ПЗП чи ПЛМ, які мають вихідні каскади, що можуть переводитись у високоімпедансний стан. Вибір ФПА у якості джерела адреси призводиться завдяки значенню сигнала S0=1,S1=1 сигналів S0 ,S1, котрі управляють мультиплексором у складі СУАМ. У якості другого зовнішнього джерела адреси використовується адресне поле регістра мікрокоманд (РгМК), котрий має відповідні виходи з трьома станами, тому для реалізації РгМК доцільно використовувати 4-розрядові регістри КМ1804ИР1, Підключення відповідних виходів РгМК до шини адреси (ША) здійснюється при на вході дозволу виходів, котрий поєднується з виходом мікросхеми КПМ, тобто при Вибір конкретної умови, з метою подальшого її аналізу та виконання операції умовної передачі управління, здійснюється за допомогою мультиплексора умов (MS умов). Кількість залучуваних умов може бути довільною, але як правило, обов’язкова присутність умов, що характеризують результат операції, здійсненої пристроєм обробки даних, стан лічильника циклів та надходження запита переривання.
Сигнали забезпечують управління функціонуванням лічильника циклів (ЛЦ). Так, при дозволяється завантаження константи D з ПЗП МК, при дозволяється лічення імпульсів, що надходять на вхід Т. Розрядність ЛЦ звичайно не перевищує розрядності оброблюваних даних. Інвертор умов НІ дозволяє реалізувати аналіз альтернативних умов. Для управління інвертором достатньо одного розряда, а сам він може бути реалізований за допомогою суматора за модулем 2. Призначення розрядів адресної частини мікрокоманди, необхідних для роботи розглядуваного пристроя мікропрограмного управління, наведено в таблиці. Поле наступної адреси | Поле управління КПМ КМ1804ВУ3 | Управління знаком умови | Поле управління MS вибору Кода умови | Поле управління СУАМ КМ1804ВУ1 | Дозвіл виходів | Дозвіл запису | Розряди маски | Вихідне перене-сення | А0 А11 | І0 І3 | NOT | S0 , S1 | | | OR0 OR3 | CO | Якщо потрібно забезпечити адресацію пам’яті до 4К слів і достатньо мати 16 типових інструкцій для управління послідовністю мікрокоманд, доцільно використовувати 12-розрядну ВІС управління послідовністю мікрокоманд К1804ВУ4, яка виконує функції мікросхем КПМ та СУАМ, але з певними особливостями.
Обробка переривань КМ1804ВН1 мікросхема 8-рівневого векторного переривання, причому кількість рівнів може бути збільшена завдяки використанню схеми розширювача векторного переривання КМ1804ВР3. Мікрокод | Опис | 0 | 0 | 0 | 0 | Загальний скид | 0 | 0 | 0 | 1 | Скид регістра переривань | 0 | 0 | 1 | 0 | Скид регістра переривань сигналами з шини маски | 0 | 0 | 1 | 1 | Скид регістра переривань під управлінням регістра маски | 0 | 1 | 0 | 0 | Скид регістра переривань за останнім прочитаним вектором | 0 | 1 | 0 | 1 | Читання вектора | 0 | 1 | 1 | 0 | Читання регістра стану | 0 | 1 | 1 | 1 | Читання регістра маски | 1 | 0 | 0 | 0 | Установка регістра маски | 1 | 0 | 0 | 1 | Завантаження регістра стану | 1 | 0 | 1 | 0 | Порозрядний скид регістра маски | 1 | 0 | 1 | 1 | Порозрядне встановлення регістра маски | 1 | 1 | 0 | 0 | Скид регістра маски | 1 | 1 | 0 | 1 | Заборона запитів переривання | 1 | 1 | 1 | 0 | Завантаження регістра маски | 1 | 1 | 1 | 1 | Дозвіл запитів переривання | КМ1804ВН1 виконує 16 команд, які задаються 4-розрядовим кодом на входах Запити переривань, що надходять на входи INR0 INR7 фіксуються від’ємні фронти сигналів запита. Якщо СОМО=1, наявність запитів визначається низьким рівнем напруги на входах. Всі команди виконуються лише при EINS INS0 · · · INS3 INR0 · · · INR7 COMO T CRO EWRSA DEINR | VEC0 · · · VEC2 SA0 · · · SA2 MK0 · · · MK7 RQINR OF | Дозвіл Мікрокоманда Переривання Управління режимом Тактовий сигнал Вхідне перенесення Дозвіл запису Заборона переривань | Двонапрямкові виводи МК0 МК7 використовуються для читання й запису маски з.до внутрішнього регістра маски, котрий можна обнулити або встановити в “1”. Двонапрямкові виводи SA0 SA7 використовуються для читання й завантаження регістра стану, котрий визначає найнижчий пріоритет, для якого дозволені переривання, При виконанні команди ЧИТАННЯ ВЕКТОРА останній видається на VEC0 VEC2, а у регістрі стану фіксується інкриміноване значення вектора переривання. Таким чином забороняються переривання з пріоритетом, меншим чи рівним пріоритету оброблюваного запита.
Вектор переривань використовується для скидання відповідного розряду регістра переривань. Схема адресної обробки.
Чотирьох розрядна секція адресної обробки (САО) К1804ВУ5 може використовуватися для формування адреси, як на програмному рівні (адреси команд та операндів в оперативній пам’яті), так і на мікропрограмному рівні (адреси команд та операндів в оперативній пам’яті). Основною особливістю САО є присутність 17-рівневого стека і суматора, який забезпечує 12 різних модифікацій відносної адресації та маючого можливість організації прискореного перенесення при нарощуванні САО до довільної розрядності кратної чотирьом. САО виконує 32 інструкції по формуванню адреси, 16 з котрих виявляються умовними на стан зовнішнього вхіда умови. Всі внутрішні регістри виконані на тригерах з занесенням інформації по фронту тактового сигналу.
Структурна схема САО наведена на малюнку. В ній можна виділити п’ять основних блоків: суматор, допоміжний регістр, стек, програмний лічильник, дешифратор інструкцій.
Повний суматор формує суму операндів, які потрапляють на його входи А та В з урахуванням значення сигналу на вході перенесення С0. Мультиплексор MUX A, який стоїть на вході А суматора, дозволяє вибирати вміст допоміжного регістра R, інформацію з шини адреси D чи ”0” як операнд А. Мультиплексор MUX B дозволяє вибирати вміст допоміжного регістру R, вміт вершини стека S, вміст програмного лічильника РС або “0”, як операнд В. При нарощуванні САО мається можливість організації, як послідовного, так і прискореного перенесення. Послідовне перенесення організується шляхом з’єднання входа перенесення у суматорі С0 кожної старшої САО з виходом перенесення з суматора С4 сусідньої младшої САО. Для організації прискореного перенесення використовують вихід розповсюдження перенесення з суматора та вихід генерації перенесення з суматора 0 установлюється в нуль внутрішніми сигналами. Інформація з вихода суматора потрапляє на три стабільну вихідну шину адреси Y3-Y0,яка керується сигналом на вході дозволення виходів адреси 3-Y0 знаходиться у стані високого опору. Крім того, шина переходе в цей стан при виконанні інструкції “Призупинка”, якщо значення на вході умови Програмний лічильник складається з регістра який має інкрементор на вході, та мультиплексора MUX PC. Регістр лічильника команд –це 4-розрядний регістр, побудований на D-тригерах, які спрацьовують по фронту тактового сигналу С. Інформація з нього завантажується з виходу інкременторів в кінці виконання кожної інструкції формування адреси. При нульовому сигналі на вході перенесення в інкрементор кожної молодшої САО зі входом перенесення в інкрементор слідуючої старшої САО. Стек складається з покажчика стека, пам’яті стека об’ємом сімнадцять 4-розярядних слів і мультиплексора.
Покажчик стека завжди адресує останнє слово, записане в стек – вершина стека S. При занесенні в стек (PUSH) відбувається збільшення на 1 покажчика стека, потім запис у стек. Після сімнадцятого занесення в стек на виході з’являється нульовий логічний рівень, який сигналізує, що стек повен. Після виштовхування з стека останнього слова на виході з’являється нульовий логічний рівень, який сигналізує, що стек пустий.
Дешифратор інструкції (ДШІ) виробляє необхідні внутрішні управляючі сигнали під дією вхідних сигналів інструкцій І4-І0, сигнала умови (IEN). Для умовних інструкцій при байдуже. Якщо блокується, а регістр R керується сигналом на вході дозволення незалежно від інструкції І4-І0. При 4-І0.Необхідно відмітити що значення сигналу не впливає на значення сигналів на виходах Y3-Y0. Дешифратор Інструкцій (ДШІ) | C Доданок.
Завдання до курсового проекту по дисципліні “Теорія та проектування ЕОМ” У курсовому проекті необхідно розробити ЕОМ, до складу котрої надходять процесор (П), оперативний запам’ятовуючий пристрій (АЗП), постійний запам’ятовуючий пристрій (ПЗП), зовнішній пристрій (ЗП), АЗП та ПЗП утворюють основну пам’ять (ОП).У кожний момент часу можливе звертання лише до однієї ячейки. У ОП адресується кожен байт.
|