9 10 Sprawozdanie

background image

Bąkowski Łukasz I8X3S1

1

Architektura i Organizacja

Komputerów II

Analiza i projektowanie programów na poziomie asemblera.

Program, realizujący zadane przekształcenia tablic liczb

zmiennoprzecinkowych

.

Konkurs na najszybciej działający program, realizujący zadane

przekształcenia tablic liczb zmiennoprzecinkowych.

Bąkowski Łukasz I8X3S1

background image

Bąkowski Łukasz I8X3S1

2

Treść zadania

I.

Napisać program Lab9v3 w asemblerze komputera DLX, który:

1. Zadeklaruje dwie tablice przechowujące liczby zmiennoprzecinkowe podwójnej

precyzji: T 110- elementową oraz Twy 100-elementową, a także zmienną Suma
zmiennoprzecinkową podwójnej precyzji

2. Komórki tablicy T wypełni (nie za pomocą statycznej deklaracji z nadaniem

wartości początkowych) kolejnymi liczbami o części ułamkowej równej 0.9 i
części całkowitej rosnącej, począwszy od powiększonego o 100 numeru
w dzienniku studenta/ studentki (np. nr=1, liczby T[1] = 101.9, T[2] = 102.9 itd.).

3. Następnie dla każdego elementu tablicy Twy wykona operację


4. W zmiennej Suma umieści sumę wszystkich elementów tablicy Twy.

II.

Przed rozpoczęciem tworzenia programu zaprojektować arkusz kalkulacyjny w
Excelu, wykonujący te same obliczenia.

III.

Zmierzyć liczbę cykli zegarowych dla wykonania uzyskanego programu przy
dowolnej, wybranej przez studentkę/ studenta konfiguracji sprzętowej, za wyjątkiem
czasów fazy Execute jednostek zmiennoprzecinkowych (2/5/19).

IV.

W przypadku uzyskania poprawnego wyniku działania programu (zmienna Suma i
tablice T i Twy), program bierze udział w konkursie na „najszybciej działający
program”. Kryterium oceny jest liczba cykli zegarowych, potrzebnych do wykonania
programu. Zwycięzca konkursu otrzymuje dwie oceny bdb do średniej z laboratorium.
Pozostali uczestnicy oceny pozytywne, zależne od uzyskanego czasu wykonania. W
przypadku niepoprawnego działania programu ocena za ćwiczenie 9-10 jest równa
ndst. Zwycięzca jest zobowiązany do publicznego przedstawienia na forum grupy
opracowanego programu, ze wskazaniem sposobów uzyskania najszybszego
programu.

background image

Bąkowski Łukasz I8X3S1

3

Kod programu LB_L910v3.s

Opisy poszczególnych funkcji oraz komentarze zostały napisane kursywą. W wypadku
powtórzenia wielokrotnie komendy, komentarz występuje przy pierwszym jej wystąpieniu
oraz przy ważnych miejscach kodu. Sam kod programu został napisany czcionką

Luicid

Console.

; Lukasz Bakowski I8X3S1

linijki kodu zaczynające się od “ ;” są komentarzami autora programu.

; Zadanie Laboratoryjne 9-10

.data

dyrektywa mówiąca, że występujący po niej kod jest deklaracją zmiennych

T:

.space

880

deklaracja miejsc w pamięci o nazwie T i wielkości 880 bajty

.align 4

wyrównywanie danych

Twy: .space

800

.align 4

Suma: .space 8

a:

.double

104.9


.text

dyrektywa mówiąca, że napisy poniżej, są traktowane jako instrukcje

.global main

main:

; ---------------------------

addi R2,R0,a

do rejestru r2 załaduj adres danej a

ld F4,0(R2)

do f4 wpisywane jest 8bajtow spod 0bajtu adresu zapisanego w r2

;----------------------------

addi R6,R0,1

do rejestru r6 załaduj wartość 1

movi2fp F0,R6

wartości rejestru r6 kopiowana do rejestru f0

cvti2d F2,F0

konwertowanie liczby pojedynczej precyzji na podwójnej precyzji

; ----------------------------

addi R2,R0,T

do rejestru r2 załaduj adres tablicy danych T

;----------------------------

addi R5,R0,7

;----------------------------

Petla1:

nazwa etykiety

movd F24,F22

; Ti+5 * Ti+4 * Ti+3

do f24 przesyłana jest wartość spod rejestru f22

multd F22,F20,F4

; Ti+6 * Ti+5 * Ti+4

do f22 zapisywana jest wartość iloczyny wartości spod rejestrów f20 i f4

multd F20,F18,F4

; Ti+6 * Ti+5

background image

Bąkowski Łukasz I8X3S1

4

subi R5,R5,1

wartości rejestr r5 zmieszana o 1

movd F18,F4

; Ti+6

movd F16,F14

; Ti+1

movd F14,F12

; Ti+2

movd F12,F10

; Ti+3

movd F10,F8

; Ti+4

movd F8,F6

; Ti+5

movd F6,F4

; Ti+6

sd 0(R2),F4

zapisanie wartości rejestru f4 do adresu spod r2

addd F4,F4,F2

do wartości rejestru f4 dodawana wartość rejestru f2

addi R2,R2,8

bnez R5,Petla1

jeżeli r5 = 0, idź dalej, jeżeli nie, idź do etykiety Petla1

; ----------------------------

addi R3,R0,Twy

subi R3,R3,8

; ----------------------------

subd F28,F22,F16

; E = (Ti+6 * Ti+5 * Ti+4) - Ti+2

do f28przesyłana jest różnica wartość rejestru f22 i F16

; ----------------------------

addi R5,R0,100

; ----------------------------

addd F26,F24,F14

; F = (Ti+5 * Ti+4 * Ti+3) + Ti+1

; ----------------------------
Petla2:

divd F30,F28,F26

; E/F

do f30 zapisywana jest wartość ilorazu wartości spod f28 przez f26

subi R5,R5,1

subd F28,F22,F16

; E = (Ti+6 * Ti+5 * Ti+4) - Ti+2

addd F26,F24,F14

; F = (Ti+5 * Ti+4 * Ti+3) + Ti+1


movd F24,F22

; Ti+5 * Ti+4 * Ti+3

multd F22,F20,F4

; Ti+6 * Ti+5 * Ti+4

multd F20,F18,F4

; Ti+6 * Ti+5

movd F18,F4

; Ti+6

movd F16,F14

; Ti+1

movd F14,F12

; Ti+2

movd F12,F10

; Ti+3

movd F10,F8

; Ti+4

movd F8,F6

; Ti+5

movd F6,F4

; Ti+6


sd 0(R3),F30

addd F0,F0,F30


sd 0(R2),F4

addi R3,R3,8

addi R2,R2,8


addd F4,F4,F2

bnez R5,Petla2

; ----------------------------

divd F30,F28,F26

; E/F

; ----------------------------

background image

Bąkowski Łukasz I8X3S1

5

addi R5,R0,3

; ----------------------------
Petla3:

sd 0(R2),F4

subi R5,R5,1

addd F4,F4,F2

addi R2,R2,8

bnez R5,Petla3

; ----------------------------

sd 0(R3),F30

sd Suma, F0

dwa słowa z rejestru f0 zapisywane są pod adres Suma

trap 0

przerwanie końca progamu

background image

Bąkowski Łukasz I8X3S1

6

Algorytm programu LB_L910v3.s

Start

Koniec

R2 – adres początku tabeli T
F2=1.0 F4=104.9 R5=7

R5 == 0

F24 = F22 F22 = F20*F4
F20 = F18*F4 F18 = F4
F16 = F14 F14 = F12
F12 = F10 F10 = F8
F8 = F6 F6 = F4 R5=R5-1
F4 zapisywane do T
F4=F4+F2 R2=R2+8

R3 – adres początku tabeli Twy
R5=100 R5 = R5-1 R2 = R2+8
F28 = F22-F16 F26 = F24+F14

R5 == 0

F30 = F28/F26
F28 = F22-F16 F26 = F24+F14
F24 = F22 F22 = F20*F4
F20 = F18*F4 F18 = F4
F16 = F14 F14 = F12
F12 = F10 F10 = F8
F8 = F6 F6 = F4 R5=R5-1
F0=F0+F30
F4 zapisywane do T
F4=F4+F2 R2=R2+8

F30 = F28 / F26
F0 = F0+F30
F0 zapisywane do Suma













R5=3

R5 == 0

F4 zapisywane do T
F4=F4+F2 R2=R2+8

NIE


TAK




NIE


TAK




NIE

TAK

background image

Bąkowski Łukasz I8X3S1

7

Zawartość arkusza kalkulacyjnego oraz pamięci operacyjnej

symulatora WinDLX


Zawartość arkusza kalkulacyjnego dla pierwszych i ostatnich 10 elementów tablicy T i Twy.
Oraz dla sumy elementów Twy:

Nr

T

1

104,9

2

105,9

3

106,9

4

107,9

5

108,9

6

109,9

7

110,9

8

111,9

9

112,9

10

113,9

101

204,9

102

205,9

103

206,9

104

207,9

105

208,9

106

209,9

107

210,9

108

211,9

109

212,9

110

213,9






Nr

Twy

1

1,02764

2

1,02738

3

1,02714

4

1,02689

5

1,02665

6

1,02642

7

1,02619

8

1,02596

9

1,02574

10

1,02552

91

1,01511

92

1,01503

93

1,01496

94

1,01488

95

1,01481

96

1,01474

97

1,01467

98

1,01459

99

1,01452

100

1,01445

Zawartość pamięci operacyjnej symulatora WinDLX dla programu LB_L910v3.s :

Suma:






Nr w dzienniku

4

Suma

101,96547

background image

Bąkowski Łukasz I8X3S1

8

T:


Twy:


background image

Bąkowski Łukasz I8X3S1

9

Opis Podgląd okna STATISTICA

dla programu LB_L910v3.s


CPI programu =

1,325446.


Wyszukiwarka

Podobne podstrony:
Z5 10, SPRAWOZDANIA czyjeś
Sprawozdania 10 Sprawozdanie I
10 sprawozdanie z?l WM
do druku 10, sprawozdania, Fizyka - Labolatoria, 10
Ćwiczenie nr 10, Sprawozdania Z Fizykii
Sprawozdania 10 Sprawozdanie IV
spr. 10, sprawozdania z mechaniki plynow
Sprawozdanie - Spektrofotometr 2, fizyczna, chemia fizyczna, Fizyczna, laborki, sprawozdanie 10, spr
z1 10, SPRAWOZDANIA czyjeś
10 b, SPRAWOZDANIA czyjeś
10 Sprawozdanie Cwiczenie ?danie?ektu Umacniania Wydzieleniowego Al Si Mg
cwiczenia 9 i 10 sprawozdanie 2010, BIOLOGIA UJ LATA I-III, ROK III, semestr I, Mikrobiologia, Cwicz
silnik jednofazowy 10, SPRAWOZDANIA czyjeś
Sprawozdanie nr 10, Sprawozdanie nr 9
FIZ 10, Sprawozdanie z labolatorium fizycznego
sprawozdania z fizyki, Sprawozdanie - Cwiczenie 10, Sprawozdanie z laboratorium z fizyki i biofizyki
SPRAWOZDANIE Z ĆWICZENIA 10, SPRAWOZDANIE Z ĆWICZENIA 10
10 Sprawozdanie 492 RM 1 8AWK nr f 904 MM C 650 1 2015 A 2 VI 2016 ed 2

więcej podobnych podstron