Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Часто використовуються і інші назви, такі як вказівник інструкцій, програмний лічильник, або PROGRAM COUNTER.
Називається даний пристрій лічильником, але насправді - це регістр, який використовується як лічильник.
Так як програма – це послідовність команд, які зберігаються в пам¢яті мікро-ЕОМ та призначені для того, щоб інструктувати машину як вирішувати поставлену задачу, для коректного виконання цієї програми команди повинні поступати в строго визначеному порядку. Лічильник команд (ЛК) призначений для вказування адреси наступної команди, що вибирається із пам¢яті. Часто ЛК володіє набагато більшою кількістю розрядів ніж довжина слова даних МП. Наприклад, у більшості 8-ми розрядних МП число розрядів ЛК - 16, що дає змогу записувати дані у кількості 64 К.
Програма може починатися та закінчуватися в любому місці діапазону від 0 до 65535. Щоб звернутися до будь-якої із цих адрес ЛК повинен володіти 16 двійковими розрядами. Де б не розміщувались команди програми, вони слідують одна за одною в строго визначеному порядку, тому коли програма починає виконуватися, першим вмістом ЛК є початкова адреса програми (адреса першої команди). Потім в лічильник команд добавляється по 1 (2 або 3), в залежності від довжини команди в байтах, тобто вибираються адреси наступних команд.
Можливий випадок, коли наступна команда зберігається не в наступній чарунці, а в іншому місці; в цьому випадку ЛК перезавантажується адресою наступної команди (перезавантажується початковою адресою підпрограми) та отримує приріст до цієї адреси поки не зустрінеться команда повернення в головну програму.
Лічильник команд з¢єднаний з внутрішньою ШД МП. Теоретично цей лічильник може отримувати будь-які дані про адреси програми із будь-якого блоку МП, що під¢єднаний до ВШД, але на практиці дані поступають в ЛК із пам¢яті мікро-ЕОМ.
На відміну від акумулятора ЛК не може виконувати операції різного типу. Набір команд, що його використовують досить обмежений в порівнянні з акумулятором.
Адреса області пам¢яті, що містить першу команду програми пересилається із ЛК в регістр адреси пам¢яті (РАП), після чого вміст обох регістрів стає однаковим, відповідно, довжина РАП – 16 розрядів n-розрядного процесора). Адреса місця розташування першої команди передається по адресній шині до схем керування пам¢ятю, в результаті чого зчитується вміст області пам¢яті з вказаною адресою. Вміст цієї чарунки є ніщо інше ніж команда, яка поступає в регістр команд (РК), мова про який буде йти далі. Після отримання команди із пам¢яті МП автоматично дає приріст вмісту ЛК. Цей приріст ЛК отримує тоді, коли МП починає виконувати команду тільки що отриману із пам¢яті. Починаючи із цього моменту ЛК вказує адресу наступної команди, яка зберігається на весь період виконання поточної команди.
Дата публикования: 2014-11-28; Прочитано: 423 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!