Ім'я файлу: лаба 1.docx
Розширення: docx
Розмір: 519кб.
Дата: 28.02.2024
скачати
Пов'язані файли:
О_А_П_Лабораторна_робота_№0_Онущак С.І..docx

Міністерство освіти і науки України

Національний університет "Львівська політехніка"

Кафедра СКС



Звіт

з лабораторної роботи № 1
з дисципліни: “Організація та функціонування комп’ютерів”
на тему: “Ознайомлення з організацією навчального

комп’ютера - симулятора DeComp”

Варіант - 15

Виконала:

Онущак С.І КІ-109
Прийняла:

асистентка каф.СКС

Дячок Р.В.


Львів 2024

Тема:

“Ознайомлення з організацією навчального комп’ютера - симулятора DeComp”
Мета:

1. Вивчити організацію навчального комп’ютера – симулятора DeComp, призначення окремих блоків і можливості їх використання;

2. Засвоїти порядок введення інформації в регістри та пам’ять симулятора навчального комп’ютера, навчитися вводити і запускати найпростішу програму.

3. Вивчити теоретичні основи побудови систем числення, які використовуються у комп’ютерах;

4. Засвоїти використання двійкової системи числення.
Теоретичний матеріал:

Система числення - це сукупність прийомів та правил для зображення чисел за допомогою цифрових символів (цифр), що мають визначені кількісні значення (числовий еквівалент).

У загальному випадку, в довільній системі числення, запис числа називається кодом і у скороченому вигляді може бути відображений таким чином:
A= anan-1...a2a1a0
Окрему позицію запису числа називають розрядом, а номер позиції nномером розряду. Кількість розрядів запису числа називається розрядністю числа.

Якщо алфавіт має d різних значень, то розряд ai в запису числа розглядається як d-ічна цифра, яка може мати одне з dзначень. Кожній цифрі ai однозначно відповідає її числовий еквівалент K(ai), а числовий еквівалент цілого числа A - це деяка функція числових еквівалентів цифр всіх розрядів.

Позиційна система числення - це така система, в якій значення символу (числовий еквівалент) залежить від його положення в записі числа.

Люба позиційна система числення характеризується основою.

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

Однорідна позиційна система числення - це така позиційна система числення, в якій є одна основа d, а вага i-го розряду дорівнює p i.

Вага розряду p i числа у позиційній системі числення – це відношення
P i = d i / d 0 = d i

де i - номер розряду справа наліво, а d 0 це перший розряд ліворуч від коми і його номер дорівнює 0, а значення дорівнює 1.

Кожне число у позиційній системі числення з основою d може бути записане у вигляді дискретної суми степенів основи системи з відповідними коефіцієнтами, іншими словами, таку форму ще називають розгорнутою або повною:
(1)
де: Ad– довільне число у системі числення з основою d;

– коефіцієнти ряду або цифри системи числення;

i = (n, n-1, n-2, …, 1, 0, -1, …, -m+1, -m) – номер розряду цілої (n) або дробової (-m) частини числа.

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


    1. Позиційні системи числення, які застосовують у комп’ютерах


Для подання чисел в універсальних ЕОМ застосовували й застосовують двійкову, трійкову, вісімкову і шістнадцяткову системи числення, а для обробки економічної інформації – двійково-десяткову. Розглянемо основні з них.
1.2.1 Двійкова система числення
З точки зору технічної реалізації найліпшою є система з основою 2 або двійкова, тому що двохпозиційні елементи різної фізичної природи легко реалізуються. Крім того, у процесах з двома стійкими станами різниця між цими станами має якісний, а не кількісний характер, що забезпечує надійну реалізацію двійкових цифр. Таким чином, простота арифметичних і логічних дій, мінімум обладнання, що використовується для подання чисел та найбільш зручні умови реалізації визначили застосування двійкових систем числення практично в усіх відомих комп’ютерах і таких, що проектуються.

Двійкова система числення у комп’ютерах є основною, у якій здійснюються арифметичні і логічні перетворення інформації у пристроях комп’ютера. Вона має тільки дві цифри: 0 і 1, а всяке двійкове число зображається у вигляді комбінації нулів і одиниць. Кожний розряд числа у двійковій системі числення ліворучвід коми подається двійкою у відповідній додатний степені, а праворуч від коми – двійкою у від’ємній степені (табл. 1).
Таблиця 1

Номер розряду

4

3

2

1

0

-1

-2

-3

-4

Двійкова степінь

24

23

22

21

20

2-1

2-2

2-3

2-4

Десяткове значеня

16

8

4

2

1 (,)

0,5

0,25

0,125

0,0625


Наприклад, розгорнуту форму двійкового числа 11101,01 за формулою (1) можна записати так:
11101,012 = 1*24 + 1*23 + 1*22 + 0*21 + 1*20 + 0*2-1 + 1*2-2 =

= 16 + 8 + 4 + 1 = 29,2510

Хід виконання роботи

Завдання 1: Призначення окремих блоків симулятора DeComp і можливості їх використання

Виконання:

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

Основні блоки симулятора DeComp включають:

Пам'ять:

Накопичувач інформації та службові регістри доступу до пам'яті (Регістр Адреси пам'яті та Регістр Даних пам'яті).

Доступ до пам'яті відбувається через Регістр Адреси та Регістр Даних пам'яті.

Арифметично-логічний пристрій (АЛП):

Включає Акумулятор та Регістр Ознак.

Акумулятор відіграє ключову роль у роботі процесора.

Регістр Ознак відображає ознаки результату операцій у АЛП (C - перенесення, Z - нуль, S - знак).

Пристрій управління:

Складається з Регістра інструкцій та Лічильника Адрес інструкцій.

Регістр Інструкцій містить код поточної інструкції, яка виконується процесором.

Лічильник Адрес інструкцій визначає адресу наступної інструкції для виконання.

Підключення Акумулятора до АЛП:

Акумулятор підключений до входу АЛП, що дозволяє виконувати операції над даними з пам'яті та Регістра Даних.

Розмір Слова та Розмір Адреси:

Кожна комірка пам'яті зберігає слово розміром у 16 біт.

Адреса кожної комірки складається з 12 розрядів.

Принцип фон Неймана:

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

Регістр Інструкцій та Лічильник Адрес інструкцій відповідають за розрізнення між інструкціями та даними.

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

Завдання 2: Контрольне запитання:

Виконання: Відповідь на контрольне запитання:
3) Якою є вага окремого розряду числа у позиційній системі числення?

В позиційній системі числення, вага кожного розряду визначається його положенням у числі та базою системи. Якщо ми розглядаємо число у системі числення з базою b, то вага розряду n обчислюється як b^(n-1). Наприклад, у десятковій системі вага розряду залежить від ступеня числа 10: перший розряд (зправа) має вагу 10^0, другий - 10^1, третій - 10^2, і так далі. Аналогічно, у двійковій системі вага розряду n буде 2^(n-1), у восьмеричній - 8^(n-1), у шістнадцятковій - 16^(n-1). Ця система визначення ваги розрядів допомагає визначити значення кожного розряду у числі.

Завдання 3:

Запустити програму “Симулятор навчальної ЕОМ DeComp” (файл DeComp.exe) і включити живлення на панелі навчального комп’ютера. За допомогою набірного поля і кнопок “Занесення з набірного поля”, записати до регістрів процесора такі значення двійкових кодів: до РА – 0101 0101 0101,

до РД – 0011 0011 0011 0011,

до А – 0000 1111 0000 1111,

до РІ – 0000 0000 1111 1111,

до ЛАІ – 1010 1010 1010.

Виконання:


Завдання 4:

За допомогою набірного поля і кнопок “Операція з пам’яттю” записати до 5-ти сусідніх комірок пам’яті з адресами 20, 21, 22, 23 та 24 числа 16, 17, 18, 19 та 20. Попередньо всі десяткові числа перевести до двійкової системи числення.
Виконання:

Переведення чисел 16-24 у двійкову систему числення .

16/2 = 8 (0)

8/2 = 4 (0)

4/2 = 2 (0)

2/2 = 1 (0)

1/2 = 0 (1)

17/2 = 8 (1)

8/2 = 4 (0)

4/2 = 2 (0)

2/2 = 1 (0)

1/2 = 0 (1)

18/2 = 9 (0)

9/2 = 4 (1)

4/2 = 2 (0)

2/2 = 1 (0)

1/2 = (1)

19/2 = 9 (1)

9/2 = 4 (1)

4/2 = 2 (0)

2/2= 1 (0)

1/2 = 0 (1)

20/2 = 10 (0)

10/2 = 5 (0)

5/2 = 2 (1)

2/2 = 1 (0)

1/2 = 0 (1)

16=10000

17 = 10001

18= 10010

19 = 10011

20 = 10100




21/2 = 10 (1)

10/2 = 5 (0)

5/2 = 2 (1)

2/2 = 1 (0)

1/2 = 0 (1)

22/2 = 11 (0)

11/2 = 5 (1)

5/2 = 2 (1)

2/2 = 1 (0)

1/2 = 0 (1)

23/2 = 11 (1)

11/2 = 5 (1)

5/2 = 2 (1)

2/2 = 1 (0)

1/2 = 0 (1)


24/2 = 12 (0)

12/2 = 6 (0)

6/2 = 3 (0)

3/2 = 1 (1)

1/2 = 0 (1)


21=10101

22 = 10110

23=10111

24 = 11000


За допомогою набірного поля набрав двійковий код адреси комірки 0000 0000 0001 0100 і записав цей код в “Регістр Адреси пам’яті”. Після цього в набірному полі набрав число 0000 0000 0001 0000 ,яке потрібно записати в 20-ту комірку пам’яті. Для запису цього числа в регістр Даних пам’яті натиснув на кнопку “Занесення з набірного поля в Регістр Даних пам’яті”. За допомогою кнопки “Запис” записав число з регістру даних в комірку пам’яті з індексом з “Регістру Адреси пам’яті”. Ці дії повторив для запису всіх чисел.


Завдання 5:

Записати у пам’ять описану нижче програму, яка додаватиме числа, що знаходяться у 10-й та 11-й комірках пам’яті, а результат запише до 12-ї комірки. Програму розмістити у оперативній пам’яті, починаючи з комірки за адресою 0 (нуль). Попередньо у 10-ту та 11-ту комірки занести числа відповідно до свого варіанту.

Варіант : 15

Число 1 : 37

Число 2 : 21

Відповідна програма у мнемонічних кодах буде мати такий вигляд:


Мнемонічний

код інструкції

Дія, яку виконує інструкція

LOAD 10

завантажити (прочитати) значення числа з 10-ї комірки пам’яті до

акумулятора;

ADD 11

додати до числа в акумуляторі значення числа з 11-ї комірки пам’яті і

результат зберегти в акумуляторі;

STORE 12

зберегти (записати) значення числа з акумулятора до 12-ї комірки пам’яті;

HALT

зупинити роботу процесора.


Відповідно, двійковий код першої інструкції необхідно занести до комірки з адресою 0 (0000 0000 0000), другу – у комірку з адресою 1 (0000 0000 0001), третю – у комірку з адресою 2 (0000 0000 0010), а четверту – у комірку з адресою 3 (0000 0000 0011).

Після того, як програма розміщена у пам’яті навчального комп’ютера і у 10-ту (код адреси у двійковій формі - 0000 0000 1010) та у 11-ту (код адреси - 0000 0000 1011) комірки будуть занесені задані числа, необхідно у Лічильнику Адреси Інструкції за допомогою набірного поля встановити адресу першої інструкції, тобто код адреси - 0000 0000 0000, тобто показати процесору звідки починати виконання програми.
Виконання:

За допомогою набірного поля і кнопок “Операція з пам’яттю” розмістив в оперативній пам'яті програму, яка додає числа, що знаходяться у 10-й та 11-й комірках пам’яті, а результат записує до 12-ї комірки. Запис програми розпочинається з комірки за адресою (0).

У двійковому поданні дана програма має наступний вигляд:
0000 0000 0000 1010 - двійковий код 1-ої інструкції

0010 0000 0000 1011 - двійковий код 2-ої інструкції

0001 0000 0000 1100 - двійковий код 3-ої інструкції

0111 1100 0000 0000 - двійковий код 4-ої інструкції
Перевід чисел в двійкову систему числення:

число 1510 = 1111 2

число 3710 =1001012
У десяту комірку пам’яті записуємо число 0000 0000 0000 1111

У одинадцяту комірку пам’яті записуємо число 0000 0000 0010 0101
Лічильнику Адреси Інструкції за допомогою набірного поля встановити адресу першої інструкції, тобто код адреси - 0000 0000 0000, тобто показати процесору звідки починати виконання програми




Завдання 6:

Виконати програму у автоматичному режимі і перевірити результат у 12-й комірці, прочитавши значення 12-ї комірки пам’яті.

Виконання:

Результат виконання записався у “Регістр даних пам’яті”:

0000 0000001101002=5210
Перевірка результату додавання в ручну
00001111

00100101

________

00 110100
Завдання 7:

Обнулити 12-ту комірку, знову встановити у ЛАІ адресу першої інструкції – адресу 0 і дослідити цю програму, виконавши її у покроковому режимі. Після виконання кожної інструкції записати у подану таблицю вміст усіх регістрів процесора. Проаналізувати процес змін у регістрах процесора на кожному кроці виконання програми.

Виконання:

Результат виконання інструкцій в покроковому.


Крок

РА

РД

А

РІ

ЛАІ

РО

1

000000001010

0000000000001111

0000000000001111

0000000000001010

0000000000000001

000

2

000000001011

0000000000100101

0000000000110100

0010000000001011

0000000000000010

000

3

000000001100

0000000000110100

0000000000110100

0001000000001100

0000000000000011

000

4

000000000011

0111110000000000

0000000000110100

0111110000000000

0000000000000011

000


Тепер по черзі проаналізуймо зміни в кожному з регістрів.

Зміни в регістрі адрес:

  • 1-й крок: звернення до 10-ї комірки пам’яті; 0000 0000 1010

  • 2-й крок: звернення до 11-ї комірки пам’яті; 0000 0000 1011

  • 3-й крок: звернення до 12-ї комірки пам’яті; 0000 0000 1100

  • 4-й крок: звернення до 3-ї комірки пам’яті. 0000 0000 0011

Зміни в регістрі даних:

  • 1-й крок: зчитування 1-го операнда; 0000 0000 0000 1111

  • 2-й крок: зчитування 2-го операнда; 0000 0000 0010 0101

  • 3-й крок: зчитування суми операнд; 0000 0000 00110100

  • 4-й крок: зчитування інструкції з 3-ї комірки. 1111 1000 0000 0000

Зміни в акумуляторі:

  • 1-й крок: завантаження числа з 10-ї комірки;

0000 0000 0000 1111

  • 2-й крок: збереження суми попереднього числа і числа з 11-ї комірки;

0000 0000 00110100

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

0000 0000 00110100

  • 4-й крок: зміни не відбуваються, сума продовжує зберігатись в акумуляторі.

0000 0000 00110100

Зміни в регістрі інструкцій:

  • 1-й крок: завантаження 1-ї інструкції; 0000 0000 0000 1010

  • 2-й крок: завантаження 2-ї інструкції; 0010 0000 0000 1011

  • 3-й крок: завантаження 3-ї інструкції; 0001 0000 0000 1100

  • 4-й крок: завантаження 4-ї інструкції. 0111 1100 0000 0000

Зміни в лічильнику адреси інструкції:

  • 1-й крок: вказує процесору адресу інструкції в 1-й комірці; 0000 0000 0000 0001

  • 2-й крок: вказує процесору адресу інструкції в 2-й комірці; 0000 0000 0000 0010

  • 3-й крок: вказує процесору адресу інструкції в 3-й комірці; 0000 0000 0000 0011

  • 4-й крок: зміни не відбуваються. 0000 0000 0000 0011

Зміни в регістрі ознак:

  • в цьому регістрі зміни не відбуваються. 000


Висновок: Я вивчила теоретичні основи побудови систем числення, які використовуються комп’ютерах, познайомився з навчального комп’ютером – симулятором DeComp, і написав свою першу програму за допомогою двійкових інструкцій симулятора.
скачати

© Усі права захищені
написати до нас