Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Комп'ютерна інженерія
Кафедра:
Не вказано

Інформація про роботу

Рік:
2007
Тип роботи:
Лабораторний практикум
Предмет:
Організація та функціонування комп’ютерів

Частина тексту файла (без зображень, графіків і формул):

”МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Лабораторний практикум з дисципліни "ОРГАНІЗАЦІЯ ТА ФУНКЦІОНУВАННЯ КОМП'ЮТЕРІВ" Навчальний посібник для студентів напрямку 6.0915 “Комп’ютерна інженерія” Затверджено На засіданні кафедри ЕОМ Протокол № від 2007 р. Львів - 2007 Лабораторний практикум з дисципліни "Організація та функціонування комп'ютерів"/ Навчальний посібник для студентів напрямку 6.0915 ″Комп’ютерна інженерія″ / Укл. Р.Б. Дунець, О.Т. Кудрявцев. – Львів: Видавництво Національного університету ″Львівська політехніка″, 2007. - с. Укладачі Дунець Р. Б., д.т.н., проф. Кудрявцев О. Т., ст. викладач Рецензент . . . . Відповідальний за випуск Мельник А.О., д.т.н., проф. Лабораторний практикум орієнтований на студентів першого курсу напрямку 6.0915 ″Комп’ютерна інженерія″, які почали вивчати курс ″Організація та функціонування комп’ютерів″ і повинні засвоїти основи побудови процесорів, організацію взаємодії основних пристроїв комп’ютерів, початки програмування на низькому рівні, а також засвоїти практичні навички з арифметики двійкових чисел у форматах, що застосовуються у комп'ютерах. Для цього студенти повинні володіти початковими знаннями з математики і інформатики. Як комп’ютери, так і комп’ютерні системи складаються, як відомо, з апаратних засобів (hardware – “тверда” складова) та програмного забезпечення (software - “м’ягка” складова), що взаємодіють і забезпечують виконання програм. Конкретні реалізації комп’ютерів і систем з часом змінюються, але ідеї, що лежать у їх основі, залишаються незмінними. Усі апаратні і програмні компоненти, з яких складаються обчислювальні системи і які виконують одні й ті ж самі функції, подібні одна на одну. Сучасні комп’ютери та операційні системи – не дуже сприятливе середовище для початкового етапу вивчення організації ЕОМ. Одним з можливих рішень цієї проблеми може бути створення програмних моделей навчальних комп’ютерів, які, з одного боку, достатньо прості, щоби той, хто навчається міг засвоїти базові поняття архітектури (система команд, командний цикл, адресація, способи взаємодії процесора з пам’яттю та зовнішніми пристроями), з іншого боку – архітектурні особливості моделі повинні відповідати тенденціям сучасних ЕОМ. Лабораторний практикум базується на програмній моделі DeComp, розробленій на кафедрі ЕОМ. Ця програмна модель дозволяє реалізувати доступ до різних елементів комп’ютера, що забезпечує зручність і наочність для студентів. З іншого боку, модель дозволяє ігнорувати ті особливості роботи реального комп’ютера, які на даному рівні розгляду не є суттєвими. І. ТЕОРЕТИЧНІ ВІДОМОСТІ 1.1. Коротка історія розвитку комп’ютерної техніки Вже на початку своєї історії людство зустрілося з потребою виконання певних обчислень (наприклад, у торгових і мінових операціях) і зробило перші спроби полегшити цей процес. Спочатку виконувався рахунок “на пальцях”, а потім їм на заміну прийшли патички, камінці, мушлі або кісточки на шнурочку (які називалися “калькулі” – це прототип відомої нам рахівниці). З часом, з метою можливості запам’ятовування та опрацювання чисел, були створені способи рахування на бирках, зарубках, вузлах та ін. Широке застосування у стародавніх народів отримали спеціальні рахункові пристрої: абак, винайдений у Вавілоні біля 3000 тис. років до н. е., широко застосовувався у країнах навколо Середземного моря. Мав вигляд дошки, яку посипали піском і робили у ньому лунки для різних розрядів чисел, а потім камінцями у лунках формували числа. Для виготовлення застосовувалися висушена глина (Месопотамія), дерево (дошка з острова Саламин, що поблизу Афин), мармур (у Римі). серобан у Японії, суан-пан застосовувався у Китаї приблизно за 500 років до н. е. У перелічених пристроях камінці, зернятка або кісточки, що розміщені на визначених місцях (колонках або рядках), мають різне числове значення, тобто у них використовувалася позиційна система числення. Починаючи з XVII сторіччя, коли закладалися наукові основи сучасних наук – фізики і хімії, математики і астрономії, з'являються лічильні пристрої, основою яких є механізм, побудований на зубчастих колесах і ступінчастих валиках. Такі пристрої, що називалися “арифмометр” випускалися серійно з кінця XIX і до середини XX сторіччя. У 1832 році англійський математик, профессор Кембріджського університету Чарльз Беббідж (Charles Babbage, 1792 – 1871), винахідник спідометра, розробив і сконструював різницеву машину. Ця механічна машина могла тільки додавати і віднімати, оперувала шестирозрядними числами і різницями другого порядку. ЇЇ використовували для обчислення таблиць чисел для морської навігації. У машину був закладений тільки один алгоритм – метод кінцевих різниць з використанням поліномів. У 1836 році Беббідж розробляє проект „аналітичної машини”. У проекті машини пропонувалися такі пристрої: - три зчитувача з перфокарт для введення програм і даних (пристрій введення даних); - пристрій збереження інформації – пам’ять (за Беббіджем – „комора”) на п’ятдесят 40-розрядних чисел; - два акумулятори для збереження проміжних результатів; - пристрій для виконання операцій над числами, які беруться із „комори”, що називався „млин” або „фабрика”, цей пристрій тепер прийнято називати „центральним процесором”; - для керування послідовністю операцій і їх виконанням слугував пристрій керування, який використовував перфокарти; - пристрій виведення результатів шляхом видавлювання їх стальним штампом на мідній пластині. Звідси починають свій шлях різноманітні друкуючі пристрої. Перевагою аналітичної машини було те, що вона могла обчислювати різні задачі. У проект закладено також і елементи програмування - зміст інструкцій передбачалося задавати шляхом позиціонування металевих штирів у циліндрі з отворами. У програмуванні машини передбачена концепція умовного переходу. За оцінками автора, сумування повинно було займати 3 сек., а множення і ділення – 2-4 хвилини. Ідеї проекту вважаються найважливішим моментом „механічної” епохи. Вони випередили епоху Беббіджа майже на сто років. Очевидно, що в умовах XIX сторіччя, неможливо було виготовити тисячі шестерен з необхідною точністю та за відносно короткий проміжок часу відлагодити весь механізм. Але навіть і сьогодні більшість сучасних комп’ютерів за будовою подібні до аналітичної машини. Саме тому відлік історії комп’ютерів починають з проекту Беббіджа. Наприкінці XIX сторіччя у зв'язку з розвитком науки та техніки потреба у лічильних машинах настільки виросла, що її перестали задовільняти не лише арифмометри, але й інші механічні лічильні пристрої. Оскільки до того часу достатньо добрий розвиток отримала теорія електрики, перспективним напрямком розвитку лічильних (обчислювальних) машин стало використання у них електричних, електромеханічних, а пізнішеше й електронних компонентів. Розвиток науки і техніки, промисловості і суспільства висунуло проблему створення класу машин, які повинні допомогти людині орієнтуватися у потоці сигналів і відомостей, тобто у потоці інформації. Сьогодні ми розуміємо, що вміння людини накопичувати, зберігати, перетворювати і передавати інформацію є запорукою його успішної еволюції. Машини нового типу, призначені для здійснення процесів обробки, збереження і перетворення інформації – це комп’ютери, які ще називають інформаційними машинами. В основу роботи комп’ютерів покладені певні закономірності та особливості, які є предметом вивчення курсу “Організація та функціонування комп’ютерів”. 1.2. Принципи організації комп’ютера фон-Неймана Отже, згідно із фундаментальними принципами побудови універсального обчислювача, що були запропоновані ще на початку ХІХ сторіччя англійським вченим Ч. Беббіджем, він повинен складатись із 5-ти основних частин (рис.1.1): Основні ідеї побудови сучасних комп’ютерів у 1945 році сформулював американський математик Дж. фон Нейман. Тому. класичну структуру обчислювача Ч. Беббіджа також називають іменем фон-Неймана. Призначення кожної з частин такі: арифметико-логічний пристрій, у залежності від його внутрішньої будови, повинен виконувати математичні операції (додавання, віднімання, множення, ділення або й навіть складніші – добування квадратного кореня, піднесення до степеня та ін.), а також логічні та інші операції; пам’ять інструкцій та даних (основна пам’ять) – саме інструкції (їх ще називають – командами), що розміщені у пам’яті і визначають, які операції, над якими даними, що теж розміщені у пам’яті, і у якій послідовності вони виконуються. Без пам’яті арифметико-логічний пристрій не виконає жодної дії і пам’ять без арифметико-логічного пристрою, теж нічого не виконає;  Рис.1.1. Загальна структура універсального обчислювача пристрої вводу та виводу інформації забезпечують зв’язок обчислювача із людиною. За часів Беббіджа, а навіть у комп’ютерах першогого – третього поколіннь, інформація вводилась та виводилась за допомогою перфокарт – спеціальних картонних пластинок з отворами, кількість та порядок розташування яких кодували інформацію. Нагадаємо, що інформація, яку вводить людина у комп’ютер, може бути двох видів: дані, які необхідно обробляти, та інструкції (або – команди), які визначають послідовність та тип операцій обробки даних; керуючий пристрій, відповідно, керує роботою усіх частин обчислювача. Для цього він повинен одна за одною зчитувати інструкції з пам’яті, “повідомляти” арифметичний пристрій про закладені у інструкціях операції та дані, а також змінювати свою роботу за вказівками людини. Звичайно, що кожна складова частина сучасного комп’ютера стала сама по собі надзвичайно складною. Так, процесор здатний одночасно обробляти відразу декілька складних інструкцій, пам’ять поділяється на різні типи з різною ємністю та швидкодією (оперативна пам’ять, кеш-пам’ять, пам’ять на жорсткому диску та ін.), а пристрої вводу та виводу самі по собі можуть бути комп’ютерами із спеціалізованими функціями (сканери, принтери, цифрові фотокамери та ін.). Надзвичайно складною частиною комп’ютера стали також магістралі (або шини, інтерфейси) зв’язку між окремими компонентами комп’ютера, які на рисунку показані просто стрілками. У цілому, функціонування любого комп’ютера можна звести до послідовності таких дій: Комп’ютер за допомогою блоку вводу приймає інформацію у вигляді програм та даних і записує її до пам’яті; Керуючий пристрій зчитує з пам’яті інструкції (команди) програми, розпізнає їх та визначає які дані і як повинні опрацьовуватися. Дані, які зберігаються у пам’яті і підлягають опрацюванню згідно інструкції, під дією керуючого пристрою пересилаються до арифметико-логічного пристрою; Результати опрацювання даних в арифметико-логічному пристрою записуються в пам’ять; Дані, які отримані у результаті обробки інформації, направляються у пристрій виводу. Тут слід зауважити, що за усі дії, що виконуються всередині машини, відповідає блок керування. Отже, діями комп’ютера керують інструкції (команди), з яких складається програма обчислення даної задачі. Принципи, запропоновані Дж. фон Нейманом та закладені у концепцію побудови електронних комп’ютерів, отримали назву – принципи (парадигми) фон Неймана. Суть їх така: Принцип програмного керування, який передбачає наявність попередньо створеної програми у вигляді послідовності (набору) інструкцій (команд). Принцип однорідності пам’яті, який передбачає, що інструкції (команди) та дані зберігаються в одній і ті й самій пам’яті, в середині пам’яті вони не розрізняються між собою. В основу цих принципів покладено такі положення: інформація кодується у двійковій системі числення і розділяється на окремі частини – слова; різнотипні слова інформації (команди, дані) відрізняються лише способом використання, а не способом кодування; слова інформації розміщуються у комірках основної пам’яті та ідентифікуються номерами комірок (у двійковому коді), які називають адресами слів; слова інструкцій (команд) визначають наймення операцій, що повинні виконатися над даними, та місце розташування даних у пам’яті; виконання обчислень згідно алгоритму роботи зводиться до послідовного виконання команд у порядку, однозначно визначеному програмою. Такий підхід був прийнятий у комп’ютерах, що створювалися у Принстонському університеті, через що і отримав назву “принстонської архітектури”. Альтернативою фон-нейманівській архітектурі є так звана гарвардська архітектура. Вона передбачає наявність двох пристроїв пам’яті: один – для інструкцій програм, а другий –для даних. Причому програму не можна розмістити у вільній області пам’яті даних і навпаки. Гарвардська архітектура застосовується головним чином у керуючих комп’ютерах. ІІ. ОПИС АРХІТЕКТУРИ НАВЧАЛЬНОГО КОМП’ЮТЕРА DeComp 2.1. Організація навчального комп’ютера – симулятора DeComp Симулятор навчального комп’ютера DeComp – це програма, яка імітує роботу комп’ютерів 1-го покоління і дозволяє досліднику не тільки виконувати усі команди та програми, але й “зазирнути” у внутрішню структуру комп’ютера і крок за кроком відслідкувати, як він працює. Дослідження комп’ютера 1-го покоління зручне тим, що його організація є максимально простою і містить мінімум елементів, необхідних для роботи комп’ютера взагалі. Сучасні комп’ютери набагато складніші, у них додано велику кількість додаткових елементів, призначених для підвищення продуктивності комп’ютера. Програма-симулятор навчального комп’ютера DeComp, яку надалі будемо називати просто “симулятор”, знаходиться у лабораторних комп’ютерах на логічному диску D: у каталозі HOME\ki-1\OFK\DeCOMP або в каталозі, на який вкаже викладач. Якщо запустити на виконання файл DeComp.exe, тоді з’явиться вікно програми, зображене на рис.2.1.  Рис.2.1. Головна закладка вікна симулятора DeComp У перший момент активованою є головна “закладка” вікна – “Навчальна ЕОМ”, окрім якої існують ще закладки “Карта пам’яті ЕОМ”, “Пристрій підготовки даних” та “Документація до “Навчальної ЕОМ”. Закладка, що зображена на рис.2.1, фактично відображає зовнішній вигляд панелі управління реальних машин 1-го покоління. Як видно з цього рисунку, панель навчального комп’ютера складається з двох частин: структури комп’ютера та пульта управління. Панель симулятора розділена на дві частини. У лівій частині панелі “Навчальна ЕОМ” подана структура навчального комп’ютера, на якій можна побачити усі 5 складових частин (блоків) обчислювача Ч. Беббіджа фон Неймана. Навчальний комп’ютер містить: Пам’ять інструкцій та даних - Регістр адреси пам’яті і Регістр даних пам’яті; Арифметично-логічний пристрій - Акумулятор і Регістр Ознак; Присрій управління (Керуючий пристрій) – Регістр інструкцій і Лічильник Адреси інструкцій; Пристрої вводу і виводу – на даний час робота над цією частиною симулятора ще не завершена. Заплановане використання пристроїв послідовного вводу/виводу. Зауважимо, що у сучасних комп’ютерах арифметичний та керуючий пристрої об’єднані у одну складову частину – процесор (від англ. to process – обробляти), який не випадково називається головною частиною комп’ютера, що обробляє інформацію та керує роботою усього комп’ютера. Пам’ять навчального комп’ютера складається з 4096 комірок і на панелі подана спеціальним вікном, яке відображає 8 комірок. Кожна комірка описується своє адресою (або номером) у лівій частині. За кожною адресою зберігається число у двійковому значенні, яке подається у правій частині вікна зображення пам’яті. На відміну від людини, яка користується системою числення з основою 10, у комп’ютері використовується лише 2 цифри – 0 та 1, тобто система числення з основою 2. Відповідно усі дані, а також інструкції всередині комп’ютера кодуються і зберігаються у двійковому вигляді. Кожна комірка пам’яті здатна зберігати 16-розрядний код, який складається з 16 двійкових цифр, що називаються розрядами або бітами (8 біт = 1 байт). Таке 16-розрядне число називається словом. Максимальне число, яке здатна зберігати одна комірка, дорівнює 216  1 = 6553510. У свою чергу, оскільки максимальна кількість комірок становить 4096, то адреса кожної комірки складається з log24096 = 12 розрядів. Якщо у сучасних комп’ютерах шина адреси є 32-розрядною, то максимальна кількість комірок може становити 232  4млрд. = 4 ГБайти. У симуляторі вікно пам’яті працює таким чином, що комірка, з якою у даний момент відбувається робота, знаходилась посередині вікна. Також біля вікна пам’яті зображено два регістри: Регістр Адреси пам’яті та Регістр Даних пам’яті. Це регістри, за допомогою яких здійснюється доступ до комірок пам’яті. Хоча вони зображені біля неї, насправді вони розташовані у процесорі. Процесор, який складається з арифметичного та керуючого пристроїв, у симуляторі представлений „Арифметично-логічним пристроєм”, двома регістрами пристрою управління (Регістр Інструкцій та Лічильник Адреси Інструкції) та регістрами для доступу до пам’яті (рис. 2.1.). Регістр – це комірка, що призначена для запам’ятовування інформації, розташована у процесорі і працює з набагато більшою швидкістю у порівнянні із комірками пам’яті. Як і комірка пам’яті, регістр складається з двійкових розрядів, які у регістрі мають спеціальну назву – тригер. Відповідно кожний тригер здатний запам’ятовувати одну двійкову цифру: 0 або 1. Кожний розряд (тригер) регістра у симуляторі представлений індикатором (кружечком), жовтий колір якого відповідає 1 (індикатор “світиться”), а сірий – 0. Арифметично-логічний пристрій (АЛП) – це пристрій, який має два входи і один вихід і здатний виконувати набір арифметичних, логічних та інших операцій. На входи подаються дані у вигляді двійкових чисел, а на виході отримуємо результат виконання поточної операції над цими даними. У нашому симуляторі АЛП як такий не зображений, хоча обов’язково присутній. До складу АЛП у симуляторі також віднесено ще два регістри: Акумулятор, який відіграє одну з найголовніших ролей у роботі процесора, та Регістр Ознак. Регістр Ознак складається з 3-х тригерів (розрядів) і відображає наступні ознаки результату операції АЛП: Z (від англ. Zero - нуль) – ознака того, що результат операції дорівнює 0; S (від англ. Sign – знак) – ознака того, що результат є < 0 (тобто - від’ємне число); C (від англ. Carry – перенесення) – ознака того, що при виконанні арифметичної операції виникло переповнення розрядної сітки акумулятора і перенесення (тобто результат більший за 65535). Коли індикатор відповідного тригера світиться, тобто значення його є “1”, це означає, що відбулася подія, яку відслідковує даний розряд регістра ознак. На рис. 2.2 зображено схему підключення акумулятора. Вихід акумулятора підключений до одного з входів АЛП, а до другого входу підключений Регістр Даних пам’яті. Таким чином, АЛП здатний виконувати арифметичні та логічні операції над двома числами, одне з яких повинно знаходитись у акумуляторі, а друге – в Регістрі Даних пам’яті. В це регістр записуються числа з будь-якої комірки пам’яті. Деякі операції вимагають лише одного числа (наприклад, логічна операція НЕ, операція зсуву тощо) – у цьому випадку для збереження вхідного числа використовується акумулятор.  Рис.2.2. Схема підключення акумулятора Вихід АЛП також підключається до акумулятора. Якщо результат операції записується в акумулятор, то він замінює (“затирає”) те число, що попередньо знаходилося в акумуляторі – це необхідно пам’ятати. Назва „акумулятор” (походить від англ. to accumulate – накопичувати) пояснюється тим, що більшість операцій в алгоритмі програми є взаємопов’язаними, тобто результат однієї операції використовується як вхідне число у наступній операції. В цьому випадку підключення акумулятора до входу та виходу АЛП (рис.2.2) є дуже зручним. Крім того, таке підключення акумулятора до пам’яті дозволяє завантажувати до акумулятора вхідні дані з пам’яті, а також зберігати результати обчислень, записуючи їх назад до пам’яті. Як вже зазначалось вище, доступ до пам’яті у процесорі здійснюється за допомогою двох регістрів: Регістра Даних пам’яті (надалі - Регістр Даних) та Регістра Адреси пам’яті (надалі - Регістр Адреси). Порядок дій дуже простий – перш ніж виконувати операцію доступу до пам’яті (запис або читання пам’яті), необхідно у Регістр Адреси записати адресу тієї комірки, до якої буде звертання. Якщо відбувається операція читання, тоді до Регістра Даних з пам’яті потрапляють дані (число або інструкція) із вказаної комірки. Якщо потрібно записати до пам’яті, то зрозуміло, що окрім адреси комірки у Регістр Адреси, необхідно попередньо до Регістра Даних занести число або двійковий код інструкції, які повинні записуватися до даної комірки пам’яті. Згідно 2-го принципу організації комп’ютерів фон Неймана, у роботі любого комп’ютера є одна особливість: і дані і інструкції зберігаються у пам’яті у вигляді чисел, при чому без спеціальної інформації про те, де знаходяться дані, а де – інструкції, і їх абсолютно неможливо відрізнити. Яким же чином їх відрізняє процесор? Саме для цього і призначені два спеціальних керуючих регістри: Регістр Інструкцій та Лічильник Адреси Інструкцій. Лічильник Адреси Інструкції автоматично “відслідковує” адресу інструкції, яка в даний момент буде виконуватись у процесорі. А для того, щоб виконати цю інструкцію, вона зчитується з пам’яті до Регістра Інструкцій. 2.2. Пульт управління навчального комп’ютера З правого боку панелі навчального комп’ютера розміщений пульт управління, що призначений для безпосереднього керування роботою навчального комп’ютера людиною. За допомогою пульта управління можна “вручну” занести інформацію (дані або інструкції) до регістрів процесора або пам’яті, а також виконувати операції запису та читання з пам’яті. Крім того, за допомогою пульта управління програміст “запускає” комп’ютер для виконання програми, яка знаходиться у пам’яті. Головною частиною пульта управління є набірне поле з 16 перемикачів, які можуть знаходитись у 2-х станах: “натиснуто” і “не натиснуто” (відповідно “1” та “0”) Усі перемикачі пронумеровані від 0 до 15 справа наліво і відповідають розрядам 16-розрядного двійкового числа від наймолодшого розряду (0) до найстаршого (15). Для того, щоб встановити усі розряди набірного поля в 0, використовується спеціальна кнопка “Скидування набірного поля”. Вище набірного поля знаходиться поле „Занесення з набірного поля” з 5-а кнопками, що дозволяють занести значення набірного поля у один з внутрішніх регістрів процесора: РА – Регістр Адреси пам’яті, РД – Регістр Даних пам’яті, А – Aкумулятор, РІ – Регістр Інструкцій, ЛАІ – Лічильник Адреси Інструкції. Оскільки регістри РА та ЛАІ пов’язані із адресами комірок пам’яті і є 12-розрядними, тому при занесенні значення набірного поля до них потрапляють тільки 12 молодших розрядів (від 0-го до 11-го). Для роботи із комірками пам’яті використовується поле “Операція з пам’яттю” у верхній частині пульта управління. Як вже зазначалось вище, перш ніж виконувати операції запису або читання (кнопки “Запис” та “Читання”), необхідно у Регістр Адреси занести адресу потрібної комірки, а у випадку операції запису – також до Регістра Даних занести число, яке буде записуватись. Якщо операція доступу до пам’яті буде виконуватись із групою комірок, які розташовані підряд, то у цьому випадку зручно використовувати кнопку “+1”, яка автоматично збільшує значення Регістра Адреси на 1. Наприклад, це зручно, коли необхідно занести у пам’ять програму, або коли необхідно “онулити” (очистити) ряд комірок (занести число 0). Тепер перейдемо до поля внизу пульта управління, де розміщені кнопки вибору одного з 3-х режимів роботи: кнопки початку "ПУСК" і зупинки роботи "СТОП" та кнопка включення живлення навчального комп’ютера. Використання кнопки „Живлення” пояснення не вимагає. Використання інших кнопок розглянемо детальніше. Кнопка “ПУСК” “примушує” процесор почати виконувати інструкції, які знаходяться у пам’яті, починаючи з комірки, на яку вказує Лічильник Адреси інструкцій. При цьому в залежності від обраного режиму роботи процесор буде виконувати програму таким чином: у автоматичному режимі будуть виконуватись підряд усі інструкції до тих пір, доки не зустрінеться інструкція зупинки HLT (від англ. to halt – зупинятись), натиснута кнопка “СТОП” або не буде досягнуто кінця пам’яті. Автоматичний – це стандартний режим роботи комп’ютера, коли уся програма, що розміщена у пам’яті, виконується від початку до кінця відзразу, без участі людини, яка бачить лише готові результати роботи програми. Зрозуміло, що у випадку помилки програміста, процесор може виконувати непередбачувані дії (наприклад, „тлумачити” дані як інструкції) або потрапляти у нескінчені цикли. Вони виникають тоді, коли один і той самий фрагмент програми повторюється знову і знову без оновлення даних. У таких випадках говорять про “зависання” або “зациклення” програми. У сучасних комп’ютерах така ситуація вимагає лише закриття такої програми, тоді як у перших комп’ютерах помилка призводила до “зависання” усього комп’ютера, що вимагало його перезавантаження. Для уникнення такої ситуації і для створення можливості відлагодження програми використовується поле “Зупинка за адресою”, що розміщене під полем роботи з пам’яттю. За допомогою 12-розрядної Адреси зупинки можна встановити адресу інструкції, на якій процесор буде зупиняти виконання програми. Для того, щоб точка зупинки почала працювати, її необхідно “Ввімкнути...”. Отже, автоматичний режим використовується для остаточного виконання програми. у покроковому режимі виконується лише одна інструкція, на яку вказує Лічильник Адреси Інструкцій, після чого Лічильник Адреси Інструкції вкаже на наступну інструкцію і процесор зупиниться, чекаючи наступного натискання кнопки “ПУСК”. Покроковий режим використовується для відлагодження алгоритму виконання програми і для дослідження сценарію виконання програми у процесорі навчального комп’ютера DeComp; у потактовому режимі виконується лише один мікрокрок, з послідовності яких насправді складається виконання одніє інструкції. Потактовий режим роботи використовується для дослідження процесу виконання окремих інструкцій навчального комп’ютера. Закладка “Документація до “Навчальної ЕОМ” Відкриємо закладку “Документація до “Навчальної ЕОМ”, щоб ознайомитись з набором інструкцій процесора (рис.2.3). Для цього необхідно, у свою чергу, активізувати закладку “Набір інструкцій ЕОМ” внизу вікна симулятора.  Рис.2.3. Набір інструкцій процесора навчальної ЕОМ Перш ніж ми почнемо більш детально розглядати інструкції навчального комп’ютера-симулятора DeComp, нагадаємо принципи його роботи, що безпосередньо витікають з парадигм фон Неймана: Усі операції та обчислення здійснює процесор; Яку саме операцію буде виконувати процесор, визначає інструкція, що розташована у Регістрі Інструкцій; Послідовність дій процесора визначають інструкції, які розташовані у пам’яті; Процесору достатньо знати лише адресу першої інструкції, решту він сам знайде за допомогою Лічильника Адреси Інструкцій; Усі адреси інструкцій повинні розташовуватись строго одна після одної, крім інструкцій переходів, у яких адресу визначає програміст згідно алгоритму виконання програми. Саме це дозволяє процесору знаходити решту інструкцій автоматично. У пам’яті окрім інструкцій за визначеними адресами повинні знаходитись дані (числа, інакше - операнди), які й будуть оброблятись процесором. Адреси даних, які повинні оброблятись інструкціями, вказує поле адреси у інструкції; Для виконання конкретної задачі у пам’ять записується відповідна програма, яка складається із множини інструкцій. Інструкції по черзі пересилаються з пам’яті у процесор, який їх виконує. У відповідності до розглянутих принципів процесор працює таким чином: за вказаною адресою зчитує першу інструкцію; виконує дії, вказані у цій інструкції; збільшує вказану адресу на 1 і переходить до виконання наступної інструкції. Як видно на рис. 2.3, таблиця “Набір інструкцій” складається з таких полів: Кодування, Мнемоніка, Виконання і Ознаки. Процесор навчальної ЕОМ містить 26 інструкцій. Поле „Кодування” подане у вигляді 4-х чотирирозрядних груп (тетрад). Будь-яка інструкція описується її двійковим кодом, у якому старші розряди означають, власне, двійковий код інструкції. Буква “a” означає двійковий розряд 12-розрядної адреси комірки пам’яті, яку буде використовувати дана інструкція, а “x” – довільне двійкове значення. Поле „Мнемоніка” містить символьне позначення, яке у більшості випадків є скороченням або абревіатурою англійських слів, що описують операцію даної команди. Поле „Виконання” містить скорочений опис операції, яка буде виконуватись. Поле „Ознаки” містить інформацію про вплив результатів виконання останньої інструкції на регістр ознак (“–” – не впливає, “*” – впливає згідно з результатом операції, “0” – встановлює в 0). Усі інструкції можна розділити на адресні та безадресні. У адресних командах найстарші 4 розряди коду інструкції (старша тетрада) містять код, який визначає операцію (рис. 2.4), яку буде виконувати дана інструкція (наприклад, команда читання з пам’яті LOAD – 0000, команда додавання ADD – 0010) . Код операції (КОп) Поле адреси операнда або наступної інструкції  15 12 11 0 Рис.2.4.. Формат “адресних” інструкцій симулятора DeComp Відповідно, у 12 молодших розрядах коду інструкції розташована адреса комірки пам’яті. За цією адресою комірки пам’яті може бути або один з операндів цієї операці (якщо це, наприклад, команда ADD), або наступна інструкція, що буде згодом виконуватись (наприклад, команда JMP). У випадку безадресних команд (рис. 2.5) код інструкції може займати 6 або 7 старших розрядів, а решта молодших розрядів не використовується. Оскільки 25 = 32, то це означає, що 5 старших розрядів могло б вистачити для кодування усіх 26-ти інструкцій, але з метою об’єднання подібних інструкцій у групи з подібними кодами розробники симулятора використали більшу кількість розрядів для кодування безадресних інструкцій (фактично старших 4 розряди визначають код групи інструкцій). Код операції (КОп.) Поле з довільними двійковими кодами  15 9 8 0 Рис.2.5.. Формат “безадресних” інструкцій симулятора DeComp 2.4 Закладка “Пристрій підготовки даних” Пристрій підготовки даних (ППД) “Навчальної ЕОМ” моделює роботу реального пристрою-перфоратора паперової стрічки ПЛ-150. ППД призначений для занесення на "перфострічку" коду програми чи вхідних даних для програми. Відповідно, пристрій має два режими роботи: "Підготовка коду програми" та "Підготовка вхідних даних програми". Вибір режиму можна зробити клавішами, що розміщені справа внизу. Поруч розміщені клавіші “Підготовка нової стрічки” і “Корекція існуючої стрічки”, зміст використання яких зрозумілий із їх назв. У ППД використовується шістнадцяткова, а не двійкова, клавіатура, тому що це пришвидшує ввід даних. Залежність між двійковими і шістнадцятковими кодами задається такою таблицею: 2 - 16 2…-…16 2…-…16 2…-…16  0000 0 0100 4 1000 8 1100 C  0001 1 0101 5 1001 9 1101 D  0010 2 0110 6 1010 A 1110 E  0011 3 0111 7 1011 B 1111 F   "Перфострічка", створена у першому режимі роботи, містить код програми і призначена для вводу в "Навчальну ЕОМ" за допомогою клавіші "Ввід з пристрою вводу" пульта управління ЕОМ. У цьому випадку вмістиме всієї "стрічки" заноситься у пам'ять ЕОМ. Перед кожним 16-ти бітовим кодом на програмній "перфострічці"розміщується 12-бітова адреса. За цією адресою і буде заноситися у пам'ять код під час вводу програми. Коди, які розміщуються у суміжних адресах програмної стрічки, будемо називати блоком. З метою спрощення процесу набору інформації на стрічку, адреса набирається лише на початку блоку і автоматично збільшується на одиницю після завершення виводу кожного коду. Кінець блоку вказують з допомогою клавіші "Завершення виводу блоку". "Перфострічка", створена у другому режимі, містить дані, які вводяться з пристрою вводу і поміщаються в акумулятор ЕОМ за допомогою машинної інструкції INPUT під час виконання програми. "Перфострічка" вхідних даних містить лише 16-бітні коди даних. 2.4.1 Порядок введення інформації на перфострічку ППД готовий до роботи після включення живлення клавішею, що розміщена ліворуч внизу. Після вибору режиму роботи – “Підготовка нової стрічки” або “Корекція існуючої стрічки” – у лівому верхньому куті синім кольором висвічується запрошення до початку роботи і підказка про вид інформації, яку можна вводити. Ліворуч від поля “Вмістиме стрічки” розміщена клавіатура введення інформації і клавіші керування: “Стерти останній символ”; “Вивести набраний код”; “Завершити вивід блоку”; “Вивести кінець стрічки”. Вмістиме "перфострічки" висвічується як у двійковому, так і у шістнадцятковому кодах у вікнах поля “Вмістиме стрічки”, які є справа від клавіатури. Код, який набирається на цифровій шістнадцятковій клавіатурі, висвічується у вікні індикатора, що є вище клавіатури. При набиранні код клавіші, яка була натиснена, попадає у молодший (останній зліва) розряд індикатора. Остання невірно набрана цифра може бути стерта за допомогою клавіші "Стерти останню цифру". Якщо буде набрано більше ніж чотири цифри, то старші цифри "пропадають". Після натискання на клавішу "Вивести набраний код", вмістиме індикатора переписується в тимчасовий буфер і висвічується у вікнах "Вмістиме стрічки" у двійковому і шіснадцятковому поданні. Після вводу всіх кодів для запису вмістимого буферу на "перфострічку" необхідно натиснути на клавішу "Вивести кінець стрічки". Набрана програма потрапляє у файл DeComp.prg і, як вже зазначалося, може бути уведена до оперативної пам’яті навчального комп’ютера. III. ВКАЗІВКИ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ Лабораторна робота № 1 Тема: “Ознайомлення з організацією навчального комп’ютера - симулятора DeComp” Мета: 1. Вивчити організацію навчального комп’ютера – симулятора DeComp, призначення окремих блоків і можливості їх використання; 2. Засвоїти порядок уведення інформації в регістри та пам’ять симулятора навчального комп’ютера, навчитися вводити і запускати найпростішу програму. 3. Вивчити теоретичні основи побудови систем числення, які використовуються у комп’ютерах; 4. Засвоїти порядок використання двійкової системи числення. 1. Теоретична частина 1.1 Загальні поняття про системи числення Система числення - це сукупність прийомів та правил для зображення чисел за допомогою цифрових символів (цифр), що мають визначені кількісні значення (числовий еквівалент). У загальному випадку, в довільній системі числення, запис числа називається кодом і у скороченому вигляді може бути відображений таким чином: A= anan-1...a2a1a0 Окрему позицію запису числа називають розрядом, а номер позиції n – номером розряду. Кількість розрядів запису числа називається розрядністю числа. Якщо алфавіт має d різних значень, то розряд ai в запису числа розглядається як d-ічна цифра, яка може мати одне з d значень. Кожній цифрі ai однозначно відповідає її числовий еквівалент K(ai), а числовий еквівалент цілого числа A - це деяка функція числових еквівалентів цифр всіх розрядів. Позиційна система числення - це така система, в якій значення символу (числовий еквівалент) залежить від його положення в записі числа. Люба позиційна система числення характеризується основою
Антиботан аватар за замовчуванням

27.01.2013 12:01-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!