Следующий текст обсуждает историческое развитие UNIX:

Следующим важным этапом стало переписывание UNIX на языке программирования C. В то время это была неслыханная стратегия. Обычно считалось, что что-то такое сложное, как ОС, которая должна иметь дело с критичными по времени событиями, должно быть написано исключительно на ассемблере. Причины такого отношения включают следующее:

  • Скорости процессора и шины были относительно медленными, поэтому сохранение тактов может существенно изменить время выполнения.

Я не понимаю, почему сохранение тактов приведет к ускорению выполнения.

Не правда ли, что чем быстрее (и чаще) тактовые циклы, тем лучше время выполнения процессора? В таком случае, не будет ли цель увеличить тактовые циклы, а не "сохранить" (уменьшить) их?

Я был бы очень признателен, если бы кто-то мог, пожалуйста, уделить время разъяснению этого момента.

1 ответ1

0

Когда вы программируете на ассемблере (машинный код), вы знаете, сколько циклов процессора использует каждая инструкция, поэтому вы заранее знаете, сколько времени займет процедура.

Однако, если вы используете язык высокого уровня, который компилируется (компиляция - это перевод в машинный код), тогда становится более неопределенным, сколько времени может занять процесс. Кроме того, существует зависимость способности компилятора оптимизировать конечный код в соответствии с типом используемого процессора.

Неоптимизированный код означает больше циклов ЦП для выполнения той же задачи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .