Nowoczesne procesory są taktowane: każda operacja wymaga pewnej integralnej liczby cykli zegara. Projektanci procesora określają długość cyklu zegarowego. Istnieją dwa czynniki: po pierwsze, szybkość sprzętu, na przykład mierzona jako opóźnienie pojedynczej bramki NAND. Zależy to od zastosowanej technologii i kompromisów, takich jak prędkość vs. zużycie energii. Jest niezależny od konstrukcji procesora. Po drugie, projektanci decydują, że długość cyklu zegarowego jest równa n opóźnieniom pojedynczej bramki NAND, gdzie n może wynosić 10, 30 lub dowolną inną wartość.
Ten wybór n ogranicza liczbę złożonych operacji, które można przetwarzać w jednym cyklu. Będą operacje, które można wykonać w 16, ale nie w 15 opóźnieniach NAND. Zatem wybranie n = 16 oznacza, że taka operacja może być wykonana w cyklu, wybranie n = 15 oznacza, że nie można tego zrobić.
Projektanci wybiorą n, aby wiele ważnych operacji można było wykonać w jednym, a może w dwóch lub trzech cyklach. n zostanie wybrane lokalnie optymalnie: jeśli zastąpisz n przez n-1, wtedy większość operacji byłaby nieco szybsza, ale niektóre (te, które naprawdę potrzebują pełnych opóźnień n NAND) byłyby wolniejsze. Gdyby kilka operacji spowolniło, tak że ogólne wykonanie programu jest średnio szybsze, wybrałbyś n-1. Mogłeś także wybrać n + 1. To sprawia, że większość operacji jest nieco wolniejsza, ale jeśli masz wiele operacji, których nie można wykonać w ciągu n opóźnień, ale można wykonać w ciągu n + 1 opóźnień, wówczas procesor byłby ogólnie szybszy.
Teraz twoje pytanie: Dodawanie i odejmowanie są tak powszechnymi operacjami, że chcesz móc je wykonywać w jednym cyklu. W rezultacie nie ma znaczenia, że operatory AND, OR itp. Mogą działać szybciej: nadal potrzebują tego jednego cyklu. Oczywiście jednostka „obliczająca” ORAZ, LUB itd. Ma dużo czasu na przekręcenie kciuków, ale nie można na to poradzić.
Zauważ, że nie chodzi tylko o to, czy operację można wykonać w ciągu n opóźnień NAND, czy nie: Dodatek można na przykład przyspieszyć, ponieważ jest on nieco sprytny, jeszcze szybciej, ponieważ jest bardzo sprytny, wciąż nieco szybciej, inwestując nadzwyczajne ilości sprzętu , a wreszcie procesor może mieć mieszankę bardzo szybkich, bardzo drogich i nieco wolniejszych i tańszych obwodów, więc istnieje możliwość wykonania jednej operacji wystarczająco szybko, wydając na nią więcej pieniędzy.
Teraz już mogła sprawić, że tak wysokie taktowania / cykl tak krótki, że tylko proste operacje bitowe wykonać w jednym cyklu i wszystko inne w dwóch lub więcej. To najprawdopodobniej spowolniłoby procesor. W przypadku operacji, które wymagają dwóch cykli, zwykle istnieje narzut, aby przenieść niepełną instrukcję z jednego cyklu do następnego, więc dwa cykle nie oznaczają, że masz dwa razy więcej czasu na wykonanie. Aby wykonać dodawanie w dwóch cyklach, nie można było podwoić szybkości zegara.