#time #cpu
#время #процессор
Вопрос:
Я хочу знать, каким будет время выполнения для плоского (без циклов, без скачков, без динамического выделения памяти) кода, работающего на процессоре со скоростью 16 МГц. Зависит ли это от длины кода. Если у P1 есть N1 инструкции, а у P2 — N2 инструкции, такие, что N2 > N1. Время выполнения процессора находится в диапазоне наносекунд.
Комментарии:
1. Перефразируйте свой вопрос и добавьте больше деталей. Не уверен, что на этот вопрос можно ответить в его текущей форме, ответ был бы настолько общим, что для вас он был бы бесполезен. Лучше попросить ссылки на материалы, с которыми вы можете ознакомиться.
Ответ №1:
Единственное, что вы действительно можете сказать о процессоре с частотой 16 МГц, это то, что тактовый сигнал переключается шестнадцать миллионов раз в секунду, и я не совсем уверен в этом! 🙂
Время выполнения зависит от очень многих переменных:
- количество инструкций.
- количество тактов для каждой из этих инструкций.
- какого рода конвейер, если таковой имеется.
- могут ли инструкции обрабатываться одновременно несколькими элементами в процессоре.
и так далее.
Другими словами, необходимо учитывать огромное количество факторов, отличных от исходной тактовой частоты.
Для очень простого процессора, где каждая команда занимает один такт, без задержек из-за доступа к памяти или другого ввода-вывода, без конвейерной обработки, без параллельного выполнения и ничего другого, что повлияет на характер одной инструкции за такт, тогда да, это зависит только от длины кода.
Но я не думаю, что видел такие простые процессоры со времен 8080/6502 🙂