22970

Як працює мікропроцесор

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Машинний цикл є процедура звернення процесора до пам’яті чи зовнішнього пристрою для запису читання або обробки інформації. Так наприклад двобайтова команда MVI B A9 тобто записати число А9 у регістр В виконується за два машинні цикли: Звернення до пам’яті за адресою що міститься у лічильнику команд. Пам’ять виставляє на ШД код команди MVI B = 06 H = 0000 0110 B. У другому машинному циклі цей другий байт видобувається з пам’яті і заноситься до робочого регістру В.

Украинкский

2013-08-04

1.86 MB

4 чел.

Лекція N4

 

Як працює мікропроцесор ?

Іерархія  циклів

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

 Командний цикл складається з дрібніших операцій - машинних циклів. Машинний цикл є процедура звернення процесора до  памяті чи зовнішнього пристрою для запису, читання або обробки інформації. Машинні цикли виконуються послідовно, один за одним. Так наприклад, двобайтова команда MVI B, A9 (тобто записати число А9 у регістр В)  виконується за два машинні цикли:

Звернення до памяті за адресою, що міститься у лічильнику команд. Память виставляє на ШД код команди MVI B = 06 H = 0000 0110 B. Цей код команди аналізується мікропроцесором і той робить висновок, що в команді має бути ще один байт - байт даних. Цей байт має адресу на одиницю більш від попереднього.

У другому машинному циклі цей другий байт видобувається з памяті і заноситься до робочого регістру В.

Другий приклад - команда SHLD ADR - пересилання вмісту HL-пари  до пари суміжних комірок памяті за адресою ADR вказаної у команді. Ця команда виконується за пять машинних циклів. Перший цикл - видобування з памяті коду команди SHLD [23]; наступні два цикли - це видобування з памяті вказаних у команді двох байтів адреси. І нарешті два останніх  машинних цикли це пересилання вмісту  HL-пари у память за вказаною адресою.

Машинний цикл в свою чергу, складається з найдрібніших одиниць - тактів.

Тактові імпульси

Тривалість такту задається тактовими імпульсами, що їх виробляє генератор тактових імпульсів ГТІ, і визначає темп роботи всієї мікропроцесорної системи. У МП-80 тактові імпульси передаються по лініях F1 i  F2  і являють собою прямокутні (точніше, трапецеідальні) імпульси  зсунуті один відносно одного на певний проміжок часу. Осцилограму тактових імпульсів зображено на рис.4.1. На ній вказана мінімальна тривалість відповідних проміжків часу.

Мінімальна тривалість періоду тактових імпульсів складає 400 нс. Імпульс F1 має мінімальну тривалість 100 нс. У момент його закінчення починається імпульс F2, який триває не менш  ніж 200 нс. З тактових імпульсів (що мають величину біля 12 В) керуючий пристрій формує керуючі імпульси, які розсилаються до всіх блоків мікропроцесора. Сукупність керуючих імпульсів складає мікрокоманду. За один такт виконується одна мікрокоманда, отже протягом одного такту вся мікропроцесорна система зберігає незмінний стан і змінює його лише від наступної мікрокоманди. Мінімальна тривалість періоду тактових імпульсів визначається тривалістю перехідних процесів логічних елементів, що складають мікропроцесор і для МП-80 не може бути меншою від 400 нс.

Процедура введення даних в мікропроцесор

(операція читання з памяті)

Розглянемо як приклад часову діаграму процедуру введення даних до мікропроцесора (рис.4.2). Вона полягає у тому, що з деякої комірки памяті, адреса якої задана у команді, дані переписуються в акумулятор. Конкретно такою командою є команда LDA ADR [3A]. Командний цикл цієї команди складається з чотирьох машинних циклів:

вибірки з памяті першого байта команди (коду команди);

двох циклів вибірки адреси комірки памяті, яка містить дані;

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

Кожний машинний цикл складається з кількох тактів, які позначаються як Т123 .....тощо. Машинні цикли можуть містити від трьох до пяти тактів. Перші три такти у всіх машинних циклах використовуються для організації обміну з памяттю або з зовнішнім пристроєм, такти Т4 та Т5 (якщо вони є у машинному циклі)  - для виконання внутрішніх операцій у мікропроцесорі. Відлік тактів здійснюється від переднього фронту імпульсів F1.

Отже, першим машинним циклом є вибірка першого байту команди - коду команди. У такті Т1 протягом імпульсу  F2 адреса команди, яка міститься у лічильнику команд (туди вона була записана заздалегідь), виставляється на шину адреси. Одночасно видається синхронізуючий імпульс SYNC, який вказує на початок чергового машинного циклу. Імпульс SYNC триває один такт. Цей імпульс потрібний для синхронізування роботи мікропроцесора з памяттю або зовнішніми пристроями.

Одночасно мікропроцесор виставляє на ШД слово стану - вісьмирозрядне слово, котрим МП наче “обявляє” про свої наміри - що він буде робити у даному машинному циклі: читати або видавати дані, звязуватися з памяттю або зовнішніми пристроями, записувати у стек або обслуговувати переривання. Це потрібно для того, щоб ті пристрої, з якими процесор “виходить на звязок”, приготувалися до роботи з ним.

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

У нашому випадку слово стану повідомляє проте, що в даному машинному циклі буде відбуватися вибірка першого байту команди. У такому слові стану відмінними від нуля будуть біти D7,D5 та D1, тобто код слова стану є А2.

Наприкінці такту Т1 память має підтвердити свою готовність до роботи сигналом READY=1. Стан сигналу READY аналізується  мікропроцесором

протягом такту Т2  і якщо все гаразд, то МП продовжує свою роботу. Наприкінці  Т2 память вже готова видати дані ( у нашому випадку - код команди). Мікропроцесор видає підтвердження своєї готовності  сприймати ці дані сигналом   DBIN=1. Дані з памяті  виставляються на ШД і сприймаються  буферним регістром команди, після чого вони можуть бути зняті з ШД. Далі код команди аналізується керуючим пристроєм, який встановлює, чи будуть у команді ще другий і третій байти ( в даному випадку у команді  LDA вони є). Такий аналіз відбувається протягом такту Т4. На цьому перший машинний цикл закінчується і МП приступає до другого машинного циклу - вибірки з памяті першого ( молодшого) байта адреси тієї комірки памяті, яка містить потрібні дані.

Послідовність мікрооперацій у тактах другого машинного циклу подібна до першого. Спочатку на ША виставляється адреса другого байта команди     (вона на одиницю більша за попередню), імпульс  SYNC та слово стану. Після перевірки готовності в Т2 у третьому такті Т3 по сигналу DBIN відбувається читання молодшого байта адреси, який спрямовується в молодший байт  регістра ША. Аналогічно відбувається читання третього байта команди (старшого байта адреси). Ці машинні цикли відрізняються від першого лише відсутністю такту Т4. В результаті другого та третього машинних циклів в регістрі ША формується повна адреса комірки памяті, яка містить бажані дані.

Далі, у останньому - четвертому  - машинному циклі  по адресі, яка створена у регістрі ША, викликаються дані, які і розташовуються в акумуляторі.  Наприкінці розглянутого машинного циклу в лічильнику команд встановлюється адреса наступної команди, до виконання якої мікропроцесор переходить після закінчення четвертого машинного циклу.

Аналогічно відбувається також процедура запису даних в память (командою STA ADR).Тільки тут в останньому машинному циклі, коли відбувається власне запис даних, замість сигналу  DBIN  встановлюється сигнал  WR = 0 (раніш  WR  знаходився у неактивному стані і дорівнював одиниці) і дані на ШД виставляє не память, а мікропроцесор. Зрозуміло, що на початку цього машинного циклу мікропроцесор повідомляє про це відповідним кодом слова стану .

Наприкінець слід сказати кілька слів про деякі особливі випадки, які можуть мати місце. Якщо протягом Т2 память або зовнішній пристрій не підтвердять своєї готовності сигналом READY = 1, То мікропроцесор зупиняє свою роботу, переходить у режим очікування, видаючи сигнал WAIT = 1, і знаходиться у такому стані аж доки не надійде сигнал готовності.

Наприкінці кожного командного циклу МП перевіряє, чи не зявився сигнал  INT (запит на переривання) або  HOLD (запит на захоплення шин). Якщо такі сигнали зявилися, МП припиняє свою роботу по фоновій програмі і переходить у режим обслуговування переривання або у режим захоплення шин.

Різновиди машинних циклів

Незважаючи на велику різноманітність команд, які може виконувати мікропроцесор КР580ВМ80  (а їх більш від 200), всі вони можуть бути здійснені за допомогою лише 10 типів машинних циклів. Ці машинні цикли можна розкласифікувати на три групи.

Перша група - група машинних циклів читання (тобто сприймання інформації мікропроцесором).

М1 - читання першого байту команди. У цьому циклі, з якого починається виконання будь-якої  команди, відбувається видобування коду команди з комірки памяті за адресою, що міститься у лічильнику команд.

М2 - читання з памяті за адресою, яку вказує мікропроцесор (наприклад, MOV B,M - тут адреса комірки памяті має бути  в   HL - парі, або LDAX B,- адреса в парі ВС).

M4 - читання зі стека, тут адреса міститься у показнику верхівки стека SP.

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

М8 - читання по перериванню, тобто перехід на обслуговування запиту від зовнішнього пристрою.

М10 - Читання по перериванню зі стану зупинки.

Друга група - група машинних циклів запису.   

М3 - запис у память інформації, яка міститься в акумуляторі або в робочих регістрах (наприклад, MOV M,B або STAX D). Адреси, потрібні для виконання цих команд містяться в регістрових парах мікропроцесора HL та DE.

М5 - запис у стек (наприклад, PUSH B; адреса міститься у показнику верхівки стека).

М7 - запис у зовнішній пристрій. Адреса порту міститься в команді (наприклад, OUT FB, де FB - адреса порту).

До останньої групи відноситься лише машинний цикл М9 - команда зупинки  мікропроцесора HLT.

Кожний різновид машинних циклів містить в собі певну кількість тактів. Так наприклад, М1 складається з чотирьох  тактів, М2 та М3  - з трьох. Отже завжди можна підрахувати тривалість виконання окремого машинного циклу, команди і програми в цілому.

 Так наприклад, команда LXI H,D16 (запис до HL-пари шістнадцятирозрядного слова) складається з машинних циклів М1,М2 та М2 і виконується за 10 тактів, команда РОР В (читання зі стеку і запис в пару ВС) - з М1,М4 таМ4 і триває також десять тактів. А команда STA ADR (запис з акумулятора до комірки памяті, адреса якої ADR  задана у команді) складається з машинних циклів М1,М2,М2 та М3 і потребує 13 тактів: читання коду команди, двох байтів адреси комірки памяті і запису до цієї комірки. 

Слово стану

Кожному різновиду машинних циклів відповідає своє слово стану. Його виробляє мікропроцесор на початку кожного машинного циклу “повідомляючи” про те, що саме має бути зроблено у цьому циклі. З коду слова стану за допомогою схеми, що має назву  системний контролер виробляються керуючі сигнали, які вже безпосередньо керують роботою памяті або зовнішніх пристроїв.

Структура слова стану для кожного виду машинних циклів подана в таблиці 4.1. Кожний біт слова стану D0 - D7 має свій зміст і свою назву.

 D0 (INTA) - підтвердження згоди на переривання.

 D1 () - запис в память або в зовнішній пристрій. Активним рівнем тут є “0”. Тобто якщо  = 0, то відбувається запис у память або виведення даних у зовнішній пристрій.  Якщо ж  = 1, то має місце читання.

 D2 (STACK) - операції зі стеком. На адресній шині встановлюється адреса верхівки стеку.

 D3 (HLTA) - мікропроцесор переводиться у стан зупинки.

 D4 (OUT) - виведення даних на зовнішній пристрій.

 D5 (MI) - сприймання першого байту команди (коду команди).

 D6 (INP) - введення даних від зовнішнього пристрою.

 D7 (MEMR) - читання з памяті.

Так наприклад, машинний цикл М1 - вибірка першого байту команди з памяті має слово стану 1010 0010 = А2Н, а виведення на зовнішній пристрій 0001 0000 =10Н  


 

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

47123. КЛЕТКА КАК ОТКРЫТАЯ СИСТЕМА 77.5 KB
  Гетеротрофный процесс приблизительно уравновешивающий автотрофное накопление органического вещества. На данном этапе не происходит накопления энергии в молекулах АТФ. При этом от каждой молекулы глюкозы отщепляется четыре атома водорода и образуются две молекулы АТФ.
47124. Как человек учился мастерству 77.5 KB
  И если вы хотите чтобы ребенок красиво писал мастерил рисовал дайте ему в руки глину пластилин покажите способы работы с ними и их возможности и ребенок втянется в это увлекательное занятие результаты которого стоят намного больше чем затраченные материалы. Вводный урок по теме: “Что такое композиция†Проблема уроков: Что такое композиция Чем отличается композиция от конструкции Учебновоспитательные задачи урока: способствовать отработке и совершенствованию навыков лепки и работы с пластилином; расширять познания детей о...
47125. Особенности личности подростка. Я-концепция 77.5 KB
  Особенности личности подростка. С внешней стороны у подростка ничего не меняется: учится в той же школе если конечно родители вдруг не перевели в другую живет в той же семье. Но встречаются и понастоящему ценные варианты взрослости благоприятные не только для близких но и для личностного развития самого подростка. Внешний вид подростка еще один источник конфликта.
47127. Система работы с персоналом. Структура персонала 150.5 KB
  Профессиональная карьера — рост знаний, умений, навыков. Профессиональная карьера может идти по линии специализации (углубление в одной, выбранной в начале профессионального пути, линии движения) или транспрофессионализации (овладение другими областями человеческого опыта, связанное, скорее, с расширением инструментария и областей деятельности).
47128. Базы данных и СУБД 69.78 KB
  Базы данных и СУБД. Под базой данных понимается множество взаимосвязанных элементарных групп данных информации которые могут обрабатываться одной или несколькими прикладными системами. Трехуровневая архитектура базы данных. Внутренний уровень – это уровень определяющий физический вид базы данных наиболее близкий к физическому хранению и связан со способами сохранения информации на физических устройствах хранения.
47129. Информация. Информационные сообщения 61.07 KB
  Информационным объемом сообщения называется количество битов в этом сообщении. В современной вычислительной технике принято объединять биты в восьмерки, называемые байтами: 1 байт = 8 бит. Наряду с битами и байтами используются и более крупные единицы измерения информационного объема сообщения
47130. Проектні пропозиції щодо покращення стану озеленення та благоустрою території парку «Юність» у Святошинському районі м. Києва 2.27 MB
  Парки, сквери є місцями активного й пасивного відпочинку населення. Особливо великою є роль парків культури і відпочинку. Окрім них у містах влаштовують сквери, бульвари, дитячі парки, міські сади, ботанічні сади, вуличні зелені насадження уздовж тротуарів, прибудинкові зелені насадження, палісадники, зелені насадження на промислових підприємствах, в лікарнях, школах і т. ін.