|
4 年前 | |
---|---|---|
.. | ||
Makefile | 4 年前 | |
README.md | 4 年前 | |
mul.s | 4 年前 | |
mul.tar.bz2 | 4 年前 |
Należy napisać program, który:
A0 A1 A2 ... A255 B0 B1 B2 ... B255
gdzie Ai
i Bi
oznaczają kolejne bajty (o indeksach i) reprezentacji pierwszej (A) i drugiej (B).Przykładowe dane wejściowe i oczekiwane wyniki są dostępne pod adresem http://zak.iiar.pwr.wroc.pl/materials/architektura/laboratorium%20AK2/Dane/mul.tar.bz2
Pliki z rozszerzeniem .in
to dane wejściowe, pliki *.out
to oczekiwane odpowiedzi.
Docelowo program ma działać dla danych z plików mul_256.*
, ale dla ułatwienia Państwu pracy na początku realizacji zadania przygotowałem także pliki z reprezentacjami 4-bajtowymi (pliki mul_4.*
).
Podczas implementacji największe problemy może Państwu sprawić poprawna realizacja algorytmu mnożenia.
Przykładowe koncepcje należy sobie przypomnieć z materiałów z poprzedniego semestru, np. slajdy 38 i 39 pliku http://zak.iiar.pwr.wroc.pl/materials/Arytmetyka%20komputerow/architekura.pdf i podstawy z pliku http://zak.iiar.pwr.wroc.pl/materials/Arytmetyka%20komputerow/mnozenie.pdf
Oczywiście zadanie to można zrealizować na wiele sposobów, zmieniając zarówno rozmiar pojedynczych iloczynów częściowych, jak i kolejność ich kumulacji.
Można np. kumulację iloczynów częściowych przeprowadzać “wierszami”, dodając poszczególne iloczyny częściowe “w poziomie”, można także kumulować “kolumnami” sumując iloczyny “w pionie”. Można także stosować różne rozwiązania pośrednie.
Niezależnie jednak od przyjętego sposobu, koniecznie proszę pamiętać o właściwej propagacji przeniesień.