Помогите с тактами
Я с трудом разбираюсь в тактах. Вот проблема, мне дают программу, которая имеет две инструкции X и Y, и я знаю, что X выполняется 20% времени и требует 8 тактов, а другая инструкция Y выполняется 80% времени и требует 2 часов циклы. Если в моей программе 10 миллионов инструкций, мне нужно найти:
А. Минимальное количество тактов для выполнения одной инструкции?
B. Максимальное ускорение с использованием закона Амдала, которое можно найти, улучшив инструкцию X.
Это моя догадка, и, пожалуйста, помогите мне, где я не прав. Для A минимальное количество тактов для выполнения одной инструкции составляет 1 такт. Я думал, что где-то читал это, но я не уверен.
Чтобы сделать B I, я предполагаю, что я должен был решить для ускорения, когда X имеет тактовый цикл 1, потому что это означало бы, что он выполняет самый быстрый.
Являются ли эти предположения правильными? Любая помощь будет оценена. Спасибо
1 ответ
Я не знаю о 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