1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
|
|||||||||||
1 | |||||||||||
Немного из архитектуры ЭВМ29.04.2011, 15:52. Показов 2519. Ответов 30
Метки нет (Все метки)
Пусть заданы две квадратных матрицы A и B размером NxN.
Они созданы с помощью двух подходов: 1 подход:
2 подход:
Необходимо сложить эти матрицы и сравнить время вычисления. Нужны выводы по этим подходам: количество обращений к памяти, вычислений, теоретические оценки времени вычислений (можно считать, что матрицы не загружаются в кэш, время доступа к одному элементу в памяти 10 тактов, арифметическая операция 2 такта), реальное время вычисления. Кто свободен, может поможите?.
0
|
29.04.2011, 15:52 | |
Ответы с готовыми решениями:
30
Из архитектуры ЭВМ Первая ЭВМ сеть, то есть первое соединение ЭВМ было электротехническим (радиотехническим) или электронным? Структура "ЭВМ". Определить какая ЭВМ имеет минимальное отношение стоимость/быстродействие В наушник попало немного воды и он стал немного тише играть |
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
29.04.2011, 16:18 | 2 |
A[j][i] => A[j] + i*sizeof(int*) =>A + sizeof(int)*j + i*sizeof(int*)
A[i] => A+i*sizeof(int) По идее в первом подходе на одно считывание элемента приходится два обращения к памяти и 4 арифм операции. Во-втором одно обращение и две операции
1
|
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
|
|
29.04.2011, 16:36 [ТС] | 3 |
А как вычислить реальное время вычисления?
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
29.04.2011, 18:03 | 5 |
С некоторой долей уверенности можно утверждать, что второй вариант будет быстрее при малых размерах N (т.е. когда весь массив помещается в одной странице). Если N большое, то разница будет минимальна или её не будет вообще.
A[i][j] и A[i*N+j] равнозначны, т.к. любой вменяемый компилятор сгенерирует для них одинаковый код. Добавлено через 6 минут А я соврал.) Это только для статически создаваемых массивов.) Добавлено через 51 секунду Однако, это осталось истинным.) А считать такты это жжжесть!
1
|
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
|
|
29.04.2011, 18:04 [ТС] | 6 |
Спасибо.. а сравнить время вычислений может возможно при помощи каких-нибудь функций?
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
29.04.2011, 18:06 | 7 |
GetTickCount() до и после. Разница между ними будет временем.
Но время выполнения должно быть больше 1 тысячной секунды.
0
|
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
|
|
29.04.2011, 18:11 [ТС] | 8 |
Можете помочь с кодом программы с использованием функции?
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
29.04.2011, 18:17 | 10 |
0
|
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
|
||||||
29.04.2011, 18:17 [ТС] | 11 | |||||
)))) блин а у меня зачет ломается)) я сделала только вот эту прогу -
чем она мне помочь может... наверно ничем. не знаю...
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
29.04.2011, 18:19 | 12 |
QueryPerformanceCounter точнее, чем GetTickCount, но N слишком маленькое.
0
|
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
|
|
29.04.2011, 18:20 [ТС] | 13 |
не. я тупанула..
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
29.04.2011, 18:28 | 15 |
i,j разные пробовал или в конце массива?
0
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
||||||
29.04.2011, 18:30 | 16 | |||||
Для массива 7000*7000, вообще в полтора-два раза медленнее.
Добавлено через 1 минуту Не понял.
1
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
29.04.2011, 18:32 | 17 |
Т.е. в строке 20 время больше, чем в строке 25?
0
|
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
|
|
29.04.2011, 18:47 [ТС] | 19 |
У меня этот код не работает . . пишет "не разрешенная функция timeGetTime".
0
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
29.04.2011, 18:48 | 20 |
либу надо подключить.
0
|
29.04.2011, 18:48 | |
29.04.2011, 18:48 | |
Помогаю со студенческими работами здесь
20
Статья 1280. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ Проектирование ОО архитектуры Архитектуры процессоров Реализация архитектуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |