рефераты рефераты
Главная страница > Курсовая работа: Проектування комп'ютера  
Курсовая работа: Проектування комп'ютера
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Проектування комп'ютера

біти 24-22: код операції

біти 21-0: не використовуються (=0)

          unused

 
\

Роз'яснення та аналіз основних принципів побудови комп'ютерів на прикладі визначених на реалізацію інструкцій

Структура СК після модифікації:

Рис 1. Функціональна схема СК після модифікації

В СК було додано 13 інструкцій, внаслідок чого поле КОП збільшилося на 2 біти до 5 біт (максимально 32 інструкції з яких використано 21). Решта частина коду операції не зазнала зміни. Був доданий стек глибиною 32 слова по 32 біти, покажчик вершини стеку, прапорець стану ZF.


Перевірка правильності роботи реалізованих команд у прикладах

1. div: 45/5=9.


Програма:

  lw        0          1          num1   

  lw        0          2          num2

  div       1          2          3

done      halt

num1     .fill      45

num2     .fill      5

Машинний код:

8454148

8519685

34209795

25165824

45

5


Кінцевий стан:

@@@

state:

  pc 4

              ZF = 0

  stack:

  memory:

              mem[ 0 ] 8454148

              mem[ 1 ] 8519685

              mem[ 2 ] 34209795

              mem[ 3 ] 25165824

              mem[ 4 ] 45

              mem[ 5 ] 5

  registers:

              reg[ 0 ] 0

              reg[ 1 ] 45

              reg[ 2 ] 5

              reg[ 3 ] 9

              reg[ 4 ] 0

              reg[ 5 ] 0

              reg[ 6 ] 0

              reg[ 7 ] 0

end state

2. imul: 3*(-4)=-12.


Програма:

lw      0       1       num1

lw      0       2       num2  

imul       1          2          3

done    halt                          

num1    .fill   3

num2    .fill  -4

Машинний код:

8454148

8519685

34209795

25165824

3

-4


Кінцевий стан:

@@@

state:

  pc 4

              ZF = 0

  stack:

  memory:

              mem[ 0 ] 8454148

              mem[ 1 ] 8519685

              mem[ 2 ] 38404099

              mem[ 3 ] 25165824

              mem[ 4 ] 3

              mem[ 5 ] -4

  registers:

              reg[ 0 ] 0

              reg[ 1 ] 3

              reg[ 2 ] -4

              reg[ 3 ] -12

              reg[ 4 ] 0

              reg[ 5 ] 0

              reg[ 6 ] 0

              reg[ 7 ] 0

end state

3. xidiv: 30/(-5)=-6, обміняти операнди місцями.


Програма:

  lw        0          1          num1   

  lw        0          2          num2

  xidiv    1          2          3

done      halt

num1     .fill      30

num2     .fill      -5

Машинний код:

8454148

8519685

42598403

25165824

30

-5


Кінцевий стан:

@@@

state:

  pc 4

              ZF = 0

  stack:

  memory:

              mem[ 0 ] 8454148

              mem[ 1 ] 8519685

              mem[ 2 ] 42598403

              mem[ 3 ] 25165824

              mem[ 4 ] 30

              mem[ 5 ] -5

  registers:

              reg[ 0 ] 0

              reg[ 1 ] -5

              reg[ 2 ] 30

              reg[ 3 ] -6

              reg[ 4 ] 0

              reg[ 5 ] 0

              reg[ 6 ] 0

              reg[ 7 ] 0

end state

4.and: 5&3=1

0101

&

0011

0001


Програма:

lw          0          1          num1

lw          0          2          num2  

andf       1          2          3

done      halt

num1     .fill      5

num2     .fill      3

Машинний код:

8454148

8519685

46792707

25165824

5

3


Кінцевий стан:

@@@

@@@

state:

  pc 4

              ZF = 0

  stack:

  memory:

              mem[ 0 ] 8454148

              mem[ 1 ] 8519685

              mem[ 2 ] 46792707

              mem[ 3 ] 25165824

              mem[ 4 ] 5

              mem[ 5 ] 3

  registers:

              reg[ 0 ] 0

              reg[ 1 ] 5

              reg[ 2 ] 3

              reg[ 3 ] 1

              reg[ 4 ] 0

              reg[ 5 ] 0

              reg[ 6 ] 0

              reg[ 7 ] 0

end state

xor: 5#3=6

0101

#

0011

0110


Програма:

  lw        0          1          num1

  lw        0          2          num2  

  xorf     1          2          3

done      halt

num1     .fill      3

num2     .fill      5

Машинний код:

8454148

8519685

50987011

25165824

3

5


Кінцевий стан:

@@@

state:

  pc 4

              ZF = 0

  stack:

  memory:

              mem[ 0 ] 8454148

              mem[ 1 ] 8519685

              mem[ 2 ] 50987011

              mem[ 3 ] 25165824

              mem[ 4 ] 3

              mem[ 5 ] 5

  registers:

              reg[ 0 ] 0

              reg[ 1 ] 3

              reg[ 2 ] 5

              reg[ 3 ] 6

              reg[ 4 ] 0

              reg[ 5 ] 0

              reg[ 6 ] 0

              reg[ 7 ] 0

end state

6. cmpge: 1= 5>=3


Програма:

@@@

state:

  pc 4

              ZF = 0

  stack:

  memory:

              mem[ 0 ] 8454148

              mem[ 1 ] 8519685

              mem[ 2 ] 55181315

              mem[ 3 ] 25165824

              mem[ 4 ] 5

              mem[ 5 ] 3

  registers:

              reg[ 0 ] 0

              reg[ 1 ] 5

              reg[ 2 ] 3

              reg[ 3 ] 1

              reg[ 4 ] 0

              reg[ 5 ] 0

              reg[ 6 ] 0

              reg[ 7 ] 0

end state

7. jma: if (7>=4) reg[4]=7; else reg[5]=4, reg[4]=7.


Програма:

  lw        0          1          num1

  lw        0          2          num2  

  jmae    1          2          1

  lw        0          5          num2

  lw        0          4          num1  

done      halt

num1     .fill      7

num2     .fill      4

Машинний код:

8454150

8519687

59375617

8716295

8650758

25165824

7

3


Кінцевий стан:

@@@

state:

  pc 6

              ZF = 0

  stack:

  memory:

              mem[ 0 ] 8454150

              mem[ 1 ] 8519687

              mem[ 2 ] 59375617

              mem[ 3 ] 8716295

              mem[ 4 ] 8650758

              mem[ 5 ] 25165824

              mem[ 6 ] 7

              mem[ 7 ] 4

  registers:

              reg[ 0 ] 0

              reg[ 1 ] 7

              reg[ 2 ] 4

              reg[ 3 ] 0

              reg[ 4 ] 7

              reg[ 5 ] 0

              reg[ 6 ] 0

              reg[ 7 ] 0

end state

8. jmnae: if (5!>=6) reg[4]=6; else reg[4]=5, reg[5]=6.


Програма:

lw          0          1          num1

lw          0          2          num2  

jmnae     1          2          1

lw          0          5          num2

lw          0          4          num1  

done      halt

num1     .fill      5

num2     .fill      6

Машинний код:

8454150

8519687

63569921

8716295

8650758

25165824

5

6


Кінцевий стан:

@@@

state

pc 6

              ZF = 0

  stack:

  memory:

              mem[ 0 ] 8454150

              mem[ 1 ] 8519687

              mem[ 2 ] 63569921

              mem[ 3 ] 8716295

              mem[ 4 ] 8650758

              mem[ 5 ] 25165824

              mem[ 6 ] 5

              mem[ 7 ] 6

  registers:

              reg[ 0 ] 0

              reg[ 1 ] 5

              reg[ 2 ] 6

              reg[ 3 ] 0

              reg[ 4 ] 5

              reg[ 5 ] 0

              reg[ 6 ] 0

              reg[ 7 ] 0

end state

9. bsr: if (16=1000) “1” – в позиції 4.


Програма:

  lw        0          1          num1

  bsr       1          2         

done      halt

num1     .fill      16

Машинний код:

         8454150

8519687

25165824

16


Кінцевий стан:

@@@

state:

  pc 3

              ZF = 1

Страницы: 1, 2, 3, 4, 5, 6, 7, 8

рефераты
Новости