Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Министерство образования и науки РФ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра «Мехатронные системы»
Умножение матриц в MASM32
Методическое пособие
по дисциплине «Основы вычислительной техники»
Ижевск 2008
УДК
Рецензент: Ю.Р. Никитин, канд. техн. наук, доцент
Зав. кафедрой: Ю.В.Турыгин, докт. техн. наук, профессор
В пособии рассмотрены способы хранения матриц в памяти ЭВМ, приведены алгоритмы доступа к элементам матриц в памяти в зависимости от типа матриц. Даны индивидуальные задания к выполнению лабораторной работы, сформулированы требования к содержанию отчета к лабораторной работе, приведен список рекомендуемой методической и справочной литературы.
ã Издательство ИжГТУ, 2008
Содержание
Цель работы
Задание на лабораторную работу
Содержание отчета
Типы матриц, алгоритмы доступа к элементам матриц при их хранении в памяти ЭВМ в виде одномерного массива
Список рекомендуемой литературы
Цель работы
Целью данной лабораторной работы является освоение навыков программирования на языке Assembler для Win32, в частности знакомства с принципами хранения различных типов матриц в памяти ЭВМ и программной реализации алгоритмов умножения матриц.
Разработать алгоритм и программу на языке Assembler для Win32 умножения матриц в соответствии с индивидуальным заданием. Способ хранения матрицы в виде вектора-строки без нулевых элементов, определенных типом матрицы. Ввод размерности матрицы и вывод результата умножения осуществить в диалоговом окне Windows. Ввод элементов матриц с максимально возможным числом элементов осуществить в секции данных. Варианты заданий приведены в Приложении A.
Содержание отчета
Титульный лист
Задание на лабораторную работу
Введение
Разработка схемы алгоритма решения задачи
Разработка программы
Результаты вычислительного эксперимента
Выводы
Список литературы
Типы матриц, алгоритмы доступа к элементам матриц при их хранении в памяти ЭВМ в виде одномерного массива
Матричные операции являются наиболее критичными по скорости выполнения. Современные процессоры позволяют реализовывать их за минимальное количество тактов. Это достигается в основном за счет параллельных вычислений с использованием специальных команд (инструкций SSE, MMX). В данной работе предложено оптимизировать процесс умножения матриц за счет исключения операций «умножения на ноль», а также экономии объема памяти отводимой под хранение элементов матриц определенного типа.
Перечислим типы матриц, предложенные в данной лабораторной работе, и алгоритмы доступа к элементам матриц при их хранении в виде одномерного массива данных:
A квадратная матрица nxn,
Способ хранения в памяти ЭВМ (n=3)
Элемент матрицы |
a11 |
a12 |
a13 |
a21 |
a22 |
a23 |
a31 |
a32 |
a33 |
Ячейка памяти |
a0 |
a1 |
a2 |
a3 |
a4 |
a5 |
a6 |
a7 |
a8 |
Алгоритм доступа к элементу матрицы в памяти
aij=ak, k=n(i-1)+j-1,
где n размерность матрицы, i номер строки, j номер столбца
B нижнетреугольная матрица nxn,
Способ хранения в памяти ЭВМ (n=3)
Элемент матрицы |
a11 |
a21 |
a22 |
a31 |
a32 |
a33 |
Ячейка памяти |
a0 |
a1 |
a2 |
a3 |
a4 |
a5 |
Алгоритм доступа к элементу матрицы в памяти
C верхнетреугольная матрица nxn,
Способ хранения в памяти ЭВМ (n=3)
Элемент матрицы |
a11 |
a12 |
a13 |
a22 |
a23 |
a33 |
Ячейка памяти |
a0 |
a1 |
a2 |
a3 |
a4 |
a5 |
Алгоритм доступа к элементу матрицы в памяти
D шпуровая матрица nxn
Имеет следующие характеристики: ширина шпура, всегда нечетно (для приведенной выше матрицы l=3), - ширина ленточки элементов относительно главной диагонали.
Способ хранения в памяти ЭВМ (n=5, m=1)
Элемент матрицы |
a11 |
a12 |
a21 |
a22 |
a23 |
a32 |
a33 |
a34 |
a43 |
a44 |
a45 |
a54 |
a55 |
Ячейка памяти |
a0 |
a1 |
a2 |
a3 |
a4 |
a5 |
a6 |
a7 |
a8 |
a9 |
a10 |
a11 |
a12 |
Алгоритм доступа к элементу матрицы в памяти
Список рекомендуемой литературы
1. В.Ю. Пирогов ASSEMBLER. Учебный курс.- М.: Издатель Молгачева С.В., Издательство Нолидж, 2001. - 848 с
2. В.И. Юров Assembler. Учебник для вузов. 2-ое изд. СПб.: Питер, 2004. 637 с.
3. В.Ю. Пирогов Ассемблер для Windows. -2-ое изд., перераб. и доп. СПб.: БХВ Петербург, 2003.-656 с.