|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Типы матриц, алгоритмы доступа к элементам матриц при их хранении в памяти ЭВМ в виде одномерного массиваС.А. Трефилов П.В. Лекомцев
Умножение матриц в MASM32 Методическое пособие по дисциплине «Основы вычислительной техники»
Ижевск 2008 УДК Рецензент: Ю.Р. Никитин, канд. техн. наук, доцент Зав. кафедрой: Ю.В.Турыгин, докт. техн. наук, профессор
В пособии рассмотрены способы хранения матриц в памяти ЭВМ, приведены алгоритмы доступа к элементам матриц в памяти в зависимости от типа матриц. Даны индивидуальные задания к выполнению лабораторной работы, сформулированы требования к содержанию отчета к лабораторной работе, приведен список рекомендуемой методической и справочной литературы. ã Издательство ИжГТУ, 2008 Содержание
Цель работы Задание на лабораторную работу Содержание отчета Типы матриц, алгоритмы доступа к элементам матриц при их хранении в памяти ЭВМ в виде одномерного массива Список рекомендуемой литературы Цель работы Целью данной лабораторной работы является освоение навыков программирования на языке Assembler для Win32, в частности знакомства с принципами хранения различных типов матриц в памяти ЭВМ и программной реализации алгоритмов умножения матриц.
Задание на лабораторную работу Разработать алгоритм и программу на языке Assembler для Win32 умножения матриц в соответствии с индивидуальным заданием. Способ хранения матрицы – в виде вектора-строки без нулевых элементов, определенных типом матрицы. Ввод размерности матрицы и вывод результата умножения осуществить в диалоговом окне Windows. Ввод элементов матриц с максимально возможным числом элементов осуществить в секции данных. Варианты заданий приведены в Приложении A. Содержание отчета
Типы матриц, алгоритмы доступа к элементам матриц при их хранении в памяти ЭВМ в виде одномерного массива Матричные операции являются наиболее критичными по скорости выполнения. Современные процессоры позволяют реализовывать их за минимальное количество тактов. Это достигается в основном за счет параллельных вычислений с использованием специальных команд (инструкций SSE, MMX). В данной работе предложено оптимизировать процесс умножения матриц за счет исключения операций «умножения на ноль», а также экономии объема памяти отводимой под хранение элементов матриц определенного типа. Перечислим типы матриц, предложенные в данной лабораторной работе, и алгоритмы доступа к элементам матриц при их хранении в виде одномерного массива данных:
Способ хранения в памяти ЭВМ (n=3)
Алгоритм доступа к элементу матрицы в памяти aij=ak, k=n(i-1)+j-1, где n – размерность матрицы, i – номер строки, j – номер столбца 2. B – нижнетреугольная матрица nxn, Способ хранения в памяти ЭВМ (n=3)
Алгоритм доступа к элементу матрицы в памяти
Способ хранения в памяти ЭВМ (n=3)
Алгоритм доступа к элементу матрицы в памяти
Имеет следующие характеристики: – ширина шпура, всегда нечетно (для приведенной выше матрицы l=3), - ширина ленточки элементов относительно главной диагонали. Способ хранения в памяти ЭВМ (n=5, m=1)
Алгоритм доступа к элементу матрицы в памяти 1. 2. 3. пусть i=3 j=3 m=1 n=3 Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |