Единые критерии стоимости предполагают, что каждая инструкция занимает одну единицу времени и что каждому регистру требуется одна единица пространства.
Критерии логарифмической стоимости предполагают, что каждая инструкция занимает логарифмическое количество единиц времени (относительно длины операндов) и что каждому регистру требуется логарифмическое количество единиц пространства.
Проще говоря, это означает, что единые критерии стоимости подсчитывают количество операций, а логарифмические критерии стоимости подсчитывают количество битовых операций.
Например, предположим, что у нас есть 8-битный сумматор.
Если мы используем единые критерии стоимости для анализа времени работы сумматора, мы бы сказали, что добавление занимает одну единицу времени; т. е. T(N)=1.
Если мы используем логарифмический критерий стоимости для анализа времени работы сумматора, мы бы сказали, что сложение занимает lgn единиц времени; т. е. T(N)=lgn, где n — число для наихудшего случая, которое вам придется добавить с точки зрения временной сложности (в этом примере n будет равно 256). Таким образом, Т(N)=8.
Более конкретно, скажем, мы добавляем 256 к 32. Чтобы выполнить сложение, мы должны сложить двоичные биты вместе в столбце 1s, столбце 2s, столбце 4s и т. д. (столбцы означают расположение битов). Число 256 требует 8 бит. Здесь в нашем анализе появляются логарифмы. lg256=8. Таким образом, чтобы сложить два числа, мы должны выполнить сложение по 8 столбцам. Логарифмические критерии стоимости говорят о том, что каждый из этих 8 дополнительных расчетов занимает одну единицу времени. Единые критерии стоимости говорят о том, что весь набор из 8 дополнительных расчетов занимает одну единицу времени.
Подобный анализ может быть сделан и с точки зрения пространства. Регистры занимают либо постоянное количество места (при единых критериях стоимости), либо логарифмическое количество места (при единых критериях стоимости).
person
AOquaish
schedule
15.03.2016