mikrokontrolery mikroprocesory Technika mikroprocesorowa Linia rozwojowa procesorów firmy Intel w latach 1970-2000 W krótkim pionierskim okresie firma Intel produkowała tylko mikroprocesory. W okresie 1970-2000 firma Intel produkowała zarówno mikroprocesory jak i mikrokontrolery. Charakterystyczne są przy tym dwa fakty: Wprowadzenie bardziej zaawansowanych jednostek centralnych następuje najpierw w mikroprocesorach a dopiero z kilkuletnim opóźnieniem w mikrokontrolerach. Nowe mikroprocesory po pewnym czasie wypierają całkowicie starsze typy podczas gdy mikrokontrolery produkowane są wciąż w pełnej gamie układów: od 8 do 32-bitowych. szerokość szyny danych 32 16 8 4 8048 8051 8096 8051FX 80196 80386EX 80251 80296 32 16 8 4 4004 8080 8086 80286 80386 80486 Pentium Pentium MMX Pentium III 1970 1980 1990 2000 rok 1
Podstawowe własności CPU CPU należy do grupy układów cyfrowych określanych jako układy synchroniczne i sekwencyjne. Synchroniczność oznacza, że wszystkie operacje wykonywane przez jednostkę centralną odbywają się w rytmie narzuconym przez zewnętrzny układ generujący sygnał periodyczny o stałej częstotliwości. Sygnał ten nosi nazwę sygnału zegarowego (clock). Sekwencyjność oznacza, że stan wyjść jednostki centralnej nie zależy tylko od stanu wejść ale i od poprzednich stanów tego układu. Jest to cecha układów cyfrowych z pamięcią. Jednostka centralna posiada własną pamięć potrzebną np. do przechowywania argumentów rozkazów niezbędnych do wykonania na nich określonej operacji. Własne komórki pamięci jednostki centralnej noszą nazwę rejestrów (register). 2
Działanie CPU Działanie jednostki centralnej polega na cyklicznym wykonywaniu rozkazów zawartych w programie użytkownika przechowywanym w pamięci systemu mikroprocesorowego. Cykl wykonywania rozkazu rozpoczyna się zawsze od wczytania do wewnętrznych rejestrów jednostki centralnej komórki pamięci zawierającej kod kolejnego rozkazu. Może się zdarzyć, że do wykonania rozkazu niezbędne są argumenty. W takim przypadku w następnych komórkach pamięci programu zawarte są informacje, w jakich miejscach pamięci argumenty są przechowywane. Następna fazą wykonywania rozkazu jest pobranie tych argumentów i umieszczenie ich w odpowiednich wewnętrznych rejestrach jednostki centralnej. Następnie następuje wykonanie rozkazu. Lista operacji wykonywanych przez jednostkę centralną jest ograniczona i wynika z jej budowy sprzętowej. Zbiór wszystkich możliwych operacji nosi nazwę listy rozkazów jednostki centralnej. Rozkazy są prostymi działaniami elementarnymi, np. przesunięcie zawartości komórki pamięci z jednego obszaru pamięci do innego. 3
Sposób przetwarzania danych przez CPU Jednostki centralne zasadniczo przetwarzają dane w sposób szeregowy. Oznacza to, że dopiero po skończeniu wykonywania jednego rozkazu rozpoczyna się wykonywanie następnego. W nowszych jednostkach centralnych w celu przyśpieszenia przetwarzania danych odchodzi się częściowo od tej zasady. Niektóre etapy wykonywania dwóch rozkazów następują równolegle w czasie. Jednostki centralne o takich własnościach określane są jako jednostki o architekturze potokowej (pipeline). 4
Prędkość działania CPU Miarą prędkości przetwarzania danych przez CPU jest liczba rozkazów wykonywana przez jednostkę centralną w czasie 1 sekundy. Jest to moc obliczeniowa wyrażana np. w MIPS (million instructions per second). Pencil and paper (for comparison) 0.0119 IPS 1892 Intel 4004 92 kips at 740 khz 1971 IBM System/370 model 158-3 1 MIPS 1972 Intel 8080 640 kips at 2 MHz 1974 Motorola 68000 1 MIPS at 8 MHz 1979 Motorola 68020 4 MIPS at 20 MHz 1984 Motorola 68030 11 MIPS at 33 MHz 1987 Motorola 68040 44 MIPS at 40 MHz 1990 Intel 486DX 54 MIPS at 66 MHz 1992 PowerPC 600s (G2) 35 MIPS at 33 MHz 1994 Motorola 68060 88 MIPS at 66 MHz 1994 Intel Pentium Pro 541 MIPS at 200 MHz 1996 PowerPC G3 525 MIPS at 233 MHz 1997 Intel Pentium III 1,354 MIPS at 500 MHz 1999 AMD Athlon 3,561 MIPS at 1.2 GHz 2000 AMD Athlon XP 2400+ 5,935 MIPS at 2.0 GHz 2002 Pentium 4 Extreme Edition 9,726 MIPS at 3.2 GHz 2003 Xbox360 IBM "Xenon" Triple Core 9,600 MIPS at 3.2 GHz 2005 P.A. Semi PA6T-1682M 8,800 MIPS at 2.0 GHz 2007 AMD Athlon FX-60 (Dual Core) 18,938 MIPS at 2.6 GHz 2006 Intel Core 2 Extreme QX6700 57,063 MIPS at 3.33 GHz 2006 Intel Polaris Prototype 1,800,000 MIPS at 5.8 GHz 2007 Source: Wikipedia 5
Układ przerwań Układ przerwań (interrupt unit) umożliwia czasowe wstrzymanie aktualnie wykonywanej sekwencji programu użytkownika i przejście do innej sekwencji programu związanej z obsługą określonego zdarzenia zaistniałego najczęściej w urządzeniach peryferyjnych. poziom priorytetów przerwań przerwanie 2 przerwanie 1 program główny start 1 start 2 koniec 2 koniec 1 czas Politechnika Szczecińska, Wydział Elektryczny, 2007/08 6
Major microprocessor manufacturers Company Intel AMD (Advanced Micro Devices) Freescale (Motorola) Sun Microsystems ARM Processor family Pentium Athlon Power PC Sparc ARM Source: Wikipedia Politechnika Szczecińska, Wydział Elektryczny, 2007/08 7