Помогите с тактами - PullRequest
1 голос
/ 07 июня 2011

Мне трудно понять такты часов.Вот проблема, мне дают программу, которая имеет две инструкции X и Y, и я знаю, что X выполняется 20% времени и требует 8 тактов, а другая инструкция Y выполняется 80% времени и требует 2 часовциклы.Если в моей программе 10 миллионов инструкций, мне нужно найти:

A.Минимальное количество тактов для выполнения одной инструкции?

B.Максимальное ускорение с использованием закона Амдала, которое можно найти, улучшив инструкцию X.

Это моя догадка, и, пожалуйста, помогите мне, где я ошибаюсь.Для А минимальное количество тактов для выполнения одной инструкции составляет 1 такт.Я думал, что где-то читал это, но я не уверен.

Чтобы сделать BI, я предполагаю, что я должен был решить для ускорения, когда X имеет тактовый цикл 1, потому что это означало бы, что он выполняет самый быстрый.

Являются ли эти предположения правильными?Любая помощь будет оценена.Спасибо

1 Ответ

0 голосов
/ 07 июня 2011

Я не знаю о 1

Но для 2 программа занимает T = .2*10 000 000*8 + .8*10 000 000*2 циклов
Улучшение инструкции X может сделать так, что это займет всего n циклов (ответ из 1)
Что означает U = .2*10 000 000*n + .8*10 000 000*2 циклов для запуска программы
Это означает, что для запуска программы потребуется U/T времени оригинала, если вы выполните улучшение. Увеличение скорости в T/U

...