Taktowanie

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
Ten artykuł dotyczy sprzętu komputerowego. Zobacz też: taktowanie w muzyce.

Taktowanie – sposób sterowania pracą układów cyfrowych polegający na dostarczeniu przez układ generatora sygnału elektrycznego (w założeniu zwykle prostokątnego) o określonej częstotliwości (częstotliwość taktowania).

Układy takie (np. mikroprocesory, układy pamięci synchronicznych) wykonują jedną podstawową, jednostkową operację za każdym razem, gdy dotrze do nich impuls taktujący. Procesor taktowany częstotliwością 1 GHz wykonuje 1 miliard podstawowych operacji w ciągu sekundy. Pojedyncza operacja nie powinna być mylona z wykonaniem pojedynczego rozkazu, gdyż zwykle w celu jego wykonania procesor musi zrealizować kilka operacji elementarnych, w związku z czym wykonanie rozkazu zajmuje kilka taktów sygnału zegarowego.

Technologie DDR i QDR umożliwiają pracę dwukrotnie, a nawet czterokrotnie, szybszą niż wynosi częstotliwość taktowania (zobacz powielanie częstotliwości, pętla PLL) - dzięki temu, że operacje wykonywane są nie tylko w czasie narastającego zbocza sygnału taktującego (na zboczu narastającym), ale także w czasie jego opadania (na zboczu opadającym). W przypadku układów QDR sygnał zegarowy taktujący układ zostaje powielony 4-krotnie dzięki czemu możliwe jest przekazanie 4 pakietów danych w czasie pojedynczego okresu sygnału zegarowego. Pakiety te są równomiernie rozmieszczone w czasie pojedynczego okresu sygnału zegarowego.

Częstotliwość sygnału zegarowego[edytuj | edytuj kod]

Częstotliwość sygnału zegarowego (ang. clock frequency) to liczba cykli elementarnych przypadających na sekundę, z jaką komputer wykonuje podstawowe operacje, np dodawanie dwóch liczb całkowitych, czy przenoszenie wartości z jednego rejestru do drugiego.

Częstotliwość sygnału zegarowego komputera jest określana przez częstotliwość generatora sygnału zegarowego, stabilizowaną zazwyczaj rezonatorem kwarcowym. Pierwszy IBM PC z 1981 roku był taktowany sygnałem zegarowym o częstotliwości 4,77 MHz (prawie 5 mln cykli na sekundę). W 1995 Intel Pentium pracował z szybkością 100 MHz (100 mln cykli elementarnych na sekundę), pod koniec 2004 (a więc w niemal dziesięć lat później) częstotliwość sygnału zegarowego taktującego jednostkę centralną mikroprocesora przekroczyła wyraźnie 3 GHz (3 mld cykli na sekundę), czyli 30 razy więcej. W 2006 firma IBM opracowała układ, który może być taktowany częstotliwością 500 GHz przy temperaturze bliskiej zeru absolutnemu (w temperaturze pokojowej częstotliwość robocza spada do 350 GHz)[1].

Częstotliwość sygnału zegarowego jest przydatna jedynie przy dokonywaniu porównywań między układami scalonymi (ang. chip) komputerów tej samej rodziny. IBM PC z procesorem Intel Pentium pracującym z częstotliwością 3 GHz jest w przybliżeniu trzykrotnie szybszy niż komputer z taką samą jednostką centralną i pamięcią pracujący z sygnałem zegarem o częstotliwości 1 GHz. Jest jednak wiele innych czynników, które należy uwzględniać przy porównywaniu różnych komputerów. Częstotliwość sygnału zegarowego nie powinna być stosowana przy porównywaniu różnych komputerów ani różnych rodzin procesorów. Powinno się stosować specjalne testy wydajności obliczeniowej (benchmarki). Częstotliwość sygnału zegarowego może być bardzo myląca, gdyż średnia liczba obliczeń, jaką mogą wykonać różne jednostki centralne w jednym cyklu sygnału zegarowego, jest zróżnicowana. Przykładowo, jednostki centralne typu RISC wykonują prostsze instrukcje niż jednostki typu CISC. Stosując odpowiednią architekturę układów obliczeniowych identyczna operacja może zostać wykonana na wielu argumentach (zobacz instrukcje SIMD). Stosuje się również przetwarzania potokowe, które swą koncepcją wykonywania operacji elementarnych przypomina taśmę produkcyjną (zobacz: taśma produkcyjna, Henry Ford). W potoku (taśmie produkcyjnej) wykonywanych jest wiele instrukcji o różnym stopniu zaawansowania. Dla obserwatora zewnętrznego widocznym jest, że w każdym takcie sygnału zegarowego układ opuszcza jedna w pełni wykonana instrukcja. Należy jednak zauważyć, że w programie występują instrukcje warunkowe pozwalające na wybór odpowiednich fragmentów programu co powoduje zaburzenie działania potoku (konieczność usunięcia instrukcji częściowo wykonanych).

Przypisy[edytuj | edytuj kod]