teoria.pdf

(87 KB) Pobierz
(POJ\352cia)
ALU -Jednostka arytmetyczno-logiczna ,to jedna z głównych czħĻci procesora, prowadzĢca
proste operacje na liczbach całkowitych.
ALU jest układem cyfrowym, słuŇĢcym do wykonywania operacji arytmetycznych (takich jak
dodawanie, odejmowanie itp.) oraz operacji logicznych (np. Ex-Or) pomiħdzy dwiema liczbami.
ALU jest podstawowym blokiem centralnej jednostki obliczeniowej komputera.
Typowe ALU ma dwa wejĻcia odpowiadajĢce parze argumentów i jedno wyjĻcie na wynik.
Operacje jakie prowadzi to:
* operacje logiczne AND, OR, NOT, XOR
* dodawanie
* czħsto teŇ, odejmowanie, negacja liczby, dodawanie z przeniesieniem,
zwiħkszanie/zmniejszanie o 1
* przesuniħcia bitowe o stałĢ liczbħ bitów, czasem teŇ o zmiennĢ liczbħ
* doĻę czħsto mnoŇenie i czasem dzielenie/modulo
CISC - CISC (Complex Instruction Set Computers) - nazwa architektury mikroprocesorów o
nastħpujĢcych cechach:
* duŇa liczba rozkazów (instrukcji)
* mała optymalizacja - niektóre rozkazy potrzebujĢ duŇej liczby cykli procesora do wykonania
* wystħpowanie złoŇonych, specjalistycznych rozkazów
* duŇa liczba trybów adresowania
* do pamiħci moŇe siħ odwoływaę bezpoĻrednio duŇa liczba rozkazów
* mniejsza od RISC-ów czħstotliwoĻę taktowania procesora
* powolne działanie dekodera rozkazów
Jest architektura zestawu instrukcji dla mikroprocesora, w którym kaŇda instrukcja moŇe wykonaę
kilka operacji niskiego poziomu, jak na przykład pobranie z pamiħci, operacjħ arytmetycznĢ, albo
zapisanie do pamiħci a to wszystko w jednej instrukcji. Przed powstaniem procesorów RISC, wielu
komputerowych architektów próbowało zmostkowaę lukħ semantycznĢ - aby zaprojektowaę
zestawy instrukcji, które wspierałyby jħzyki programowania wysokiego poziomu przez
dostarczenie instrukcji wysokiego poziomu np. call i return, instrukcje pħtli i kompleksowe tryby
adresowania aby pozwolię strukturom danych i szeregom dostħpu byę połĢczonym w jednĢ
instrukcjħ. Rezultatem tego były programy o mniejszym rozmiarze i z mniejszĢ iloĻciĢ odwołaı do
pamiħci, co w tamtym czasie bardzo ograniczyło koszty pojedynczego komputera.
Z reguły procesory wykonane w architekturze CISC działajĢ wolniej niŇ procesory, o
przeciwstawnych załoŇeniach RISC, działajĢce z tĢ samĢ czħstotliwoĻciĢ.
Przykłady rodzin procesorów o architekturze CISC to:
* System/360
* VAX
* PDP-11
* AMDhttp://www.software995.com/
* x86
* M68000
Współczesne procesory zgodne z x86 produkowane przez firmy Intel i AMD przetwarzajĢ rozkazy
procesora x86 na proste mikropolecenia pracujĢce wg idei RISC wykonujĢce siħ znacznie
szybciej i po kilka jednoczeĻnie.
RISC - RISC (Reduced Instruction Set Computers) - nazwa architektury mikroprocesorów która
została przedstawiona pod koniec lat 70. w teoretycznych pracach na uniwersytecie Berkeley oraz
w wynikach badaı Johna Cocke z Thomas J. Watson Research Center.
Ówczesne procesory (budowane w architekturze CISC) charakteryzowały siħ bardzo
rozbudowanĢ listĢ rozkazów, ale jak wykazały badania tylko nieliczna ich czħĻę była
wykorzystywane w statystycznym programie. Okazało siħ np. Ňe ponad 50% rozkazów w kodzie to
zwykłe przypisania (zapis zawartoĻci rejestru do pamiħci i odwrotnie).
Ponadto badania wykazały, Ňe podczas działania programu ok. 26-45% wykonywanych instrukcji
to instrukcje wywołania podprocedur lub instrukcje obsługujĢce pħtle, ok. 13-15% to wspomniane
przypisania, 7-21% to instrukcje warunkowe (jeĻli warunek to …), natomiast reszta to tylko 1-3%
[1].
W zwiĢzku z powyŇszym zaprezentowano architekturħ mikroprocesorów, w której uwzglħdniono
wyniki badaı. Jej podstawowe cechy to:
1. Zredukowana liczba rozkazów do niezbħdnego minimum. Ich liczba wynosi kilkadziesiĢt,
podczas gdy w procesorach CISC siħga setek. Upraszcza to znacznie dekoder rozkazów.
2. Redukcja trybów adresowania, dziħki czemu kody rozkazów sĢ prostsze, bardziej
zunifikowane, co dodatkowo upraszcza wspomniany wczeĻniej dekoder rozkazów. Ponadto
wprowadzono tryb adresowania, który ogranicza iloĻę przesłaı - wiħkszoĻę operacji wykonuje siħ
wg schematu: rejestr_C = rejestr_A \quad operacja \quad rejestr_B[2].
3. Ograniczenie komunikacji pomiħdzy pamiħciĢ, a procesorem. Przede wszystkim do
przesyłania danych pomiħdzy pamiħciĢ, a rejestrami słuŇĢ dedykowane instrukcje, które zwykle
nazywajĢ siħ load (załaduj z pamiħci), oraz store (zapisz do pamiħci); pozostałe instrukcje mogĢ
operowaę wyłĢcznie na rejestrach. Schemat działania na liczbach znajdujĢcych siħ w pamiħci jest
nastħpujĢcy: załaduj danĢ z pamiħci do rejestru, na zawartoĻci rejestru wykonaj działanie,
przepisz wynik z rejestru do pamiħci.
4. Zwiħkszenie liczby rejestrów (np. 32, 192, 256, podczas gdy np. w architekturze x86 jest
zaledwie 8 rejestrów), co równieŇ ma wpływ na zmniejszenie liczby odwołaı do pamiħci.
5. Dziħki przetwarzaniu potokowemu (ang. pipelining) wszystkie rozkazy wykonujĢ siħ w jednym
cyklu maszynowym, co pozwala na znaczne uproszczenie bloku wykonawczego, a zastosowanie
superskalarnoĻci takŇe na umoŇliwienie równoległego wykonywania rozkazów. Dodatkowo czas
reakcji na przerwania jest krótszy.
Pierwszym procesorem zaprojektowanym w oparciu o architekturħ RISC był RCA1802
wyprodukowany przez firmħ RCA.
Obecnie popularne procesory Intela z punktu widzenia programisty sĢ widziane jako CISC, ale ich
rdzeı jest RISC-owy. Rozkazy CISC sĢ rozbijane na mikrorozkazy (ang. microops), które sĢ
nastħpnie wykonywane przez RISC-owy blok wykonawczy. W praktyce okazuje siħ Ňe rozwiĢzanie
takie (pomimo wielu znaczĢcych wad) jest podejĻciem znacznie bardziej wydajnym (szczególnie
Ňe RISC-owy blok wykonawczy jest znacznie bardziej nowoczesny od architektury CISC widocznej
dla programisty).
Przedstawiciele :
* Intel 80860
* Intel 80960
* IBM 801
* PowerPC
* MIPS
* Alpha
* ARM
* Motorola 88000
* AMD 29000
* SPARC
* PA-RISC
* Atmel_AVR
SISD - jest to architektura klasycznego komputera sekwencyjnego, zawierajĢcego jeden
procesor i jeden blok pamiħci operacyjnej. CiĢg instrukcji wykonywany jest sekwencyjnie.
Architektura taka moŇe zawieraę równieŇ pewne elementy równoległoĻci, jak np. przetwarzanie
potokowe (ang. pipelining). Procesor moŇe siħ składaę z kilku jednostek przetwarzajĢcych, jednak
wszystkie te jednostki podlegajĢ jednej jednostce sterujĢcej procesora. RównieŇ jeŇeli komputer
składa siħ z kilku procesorów, ale wykonujĢ one niezaleŇne od siebie programy, to moŇemy
traktowaę go jako zestaw maszyn SISD.
SIMD- SIMD (Single Instruction, Multiple Data) - jedna z rodzajów architektur komputera
według taksonomii Flynna, dotyczĢca systemów, w których przetwarzanych jest wiele strumieni
danych w oparciu o pojedynczy strumieı rozkazów - sĢ to tzw. komputery wektorowe.
Komputery SIMD stosowane sĢ głównie do obliczeı naukowo-technicznych, jednak jednostki
realizujĢce zadania zgodnie z metodologiĢ SIMD obecne sĢ takŇe w stosowanych w domowych
komputerach procesorach opartych o architekturħ x86. Procesory te oferujĢ listħ rozkazów
poszerzonĢ o zestawy instrukcji, takie jak: MMX, SSE, SSE2, SSE3, 3DNow!, AltiVec.
Architektura von Neumanna - rodzaj architektury komputera, przedstawionej po raz
pierwszy w 1945 roku przez von Neumanna stworzonej wspólnie z Johnem W. Mauchly'ym i
Johnem Presper Eckertem.
Polega na Ļcisłym podziale komputera na trzy podstawowe czħĻci:
* procesor (w ramach którego wydzielona bywa czħĻę sterujĢca oraz czħĻę arytmetyczno-
logiczna)
* pamiħę komputera (zawierajĢca dane i sam program)
* urzĢdzenia wejĻcia/wyjĻcia
System komputerowy zbudowany w oparciu o architekturħ von Neumanna powinien:
* mieę skoıczonĢ i funkcjonalnie pełnĢ listħ rozkazów
* mieę moŇliwoĻę wprowadzenia programu do systemu komputerowego poprzez urzĢdzenia
zewnħtrzne i jego przechowywanie w pamiħci w sposób identyczny jak danych
* dane i instrukcje w takim systemie powinny byę jednakowo dostħpne dla procesora
* informacja jest tam przetwarzana dziħki sekwencyjnemu odczytywaniu instrukcji z pamiħci
komputera i wykonywaniu tych instrukcji w procesorze.
Podane warunki pozwalajĢ przełĢczaę system komputerowy z wykonania jednego zadania
(programu) na inne bez fizycznej ingerencji w strukturħ systemu, a tym samym gwarantujĢ jego
uniwersalnoĻę.
System komputerowy von Neumanna nie posiada oddzielnych pamiħci do przechowywania
danych i instrukcji. Instrukcje jak i dane sĢ zakodowane w postaci liczb. Bez analizy programu
trudno jest okreĻlię czy dany obszar pamiħci zawiera dane czy instrukcje. Wykonywany program
moŇe siħ sam modyfikowaę traktujĢc obszar instrukcji jako dane, a po przetworzeniu tych
instrukcji - danych - zaczĢę je wykonywaę.
Model komputera wykorzystujĢcego architekturħ von Neumanna jest czħsto nazywany
przykładowĢ maszynĢ cyfrowĢ (PMC).
Archiwizacja (ang. backup) to proces wykonywania kopii danych w celu zabezpieczenia ich
przed utratĢ wskutek wystĢpienia takich zdarzeı losowych jak powódŅ, poŇar, włamanie, awaria
sprzħtu lub oprogramowania, czy skasowanie ich przez uŇytkownika. Pod pojħciem archiwizacji
rozumie siħ równieŇ proces przenoszenia danych z systemów komputerowych na inne noĻniki w
celu zredukowania iloĻci danych np. juŇ niepotrzebnych w głównym systemie komputerowym
(bazie danych).
Archiwizacja moŇe obejmowaę zarówno dane tworzone i przechowywane bezpoĻrednio przez
uŇytkownika (dokumenty tekstowe, obrazy, filmy, bazy danych itp.), a takŇe elementy systemu
(pliki konfiguracyjne, rejestry), czy nawet całe systemy operacyjne.
Archiwizacjħ moŇna przeprowadzaę w regularnych odstħpach czasu - tym czħĻciej im waŇniejsze
(dla uŇytkownika/uŇytkowników) sĢ dane. Aby zmniejszyę objħtoĻę takich danych poddawane sĢ
one najczħĻciej kompresji, a przy czħstych archiwizacjach zapisywane sĢ np. tylko zmienione
dane (tzw. kopie przyrostowe). Istnieje oprogramowanie ułatwiajĢce wykonywanie takich kopii
oraz ich odtwarzanie. Wybrany noĻnik danych musi byę wówczas podłĢczony do danego
komputera w celu przesłania zarchiwizowanych danych.
Sposób i rodzaj archiwizacji jest ĻciĻle zwiĢzany z potrzebami, systemem operacyjnym, kosztami
oraz wymaganym czasem niezbħdnym do jej odtworzenia, a takŇe wreszcie dostħpnym
oprogramowaniem. NajczħĻciej im mniej skomplikowany jest proces odtwarzania informacji tym
szybciej moŇna je odtworzyę. StĢd informacje poddane kompresji, czy podzielone na kopie
przyrostowe (które wymagajĢ połĢczenia) mogĢ przedłuŇyę taki proces, ale jednoczeĻnie zajmujĢ
mniej miejsca na dysku i sĢ przez to mniej kosztowne. W wypadku danych, które nie muszĢ byę
szybko odtwarzane noĻniki z kopiĢ danych moŇna trzymaę w innym miejscu niŇ noĻniki z
oryginalnymi danymi.
Niektóre formy archiwizacji [edytuj]
* kopie analogowe (wydruki dokumentów)
* kopiowanie na noĻniki wymienne (np. dyskietki, płyty CD-R, płyty DVD-R)
* kopiowanie na inny dysk tego samego komputera (np. RAID)
* kopiowanie na taĻmħ magnetycznĢ
* kopiowanie na inny komputer (np. kopia zwierciadlana, serwer plików)
Baza danych to zbiór danych zapisanych w ĻciĻle okreĻlony sposób w strukturach
odpowiadajĢcych załoŇonemu modelowi danych. W potocznym ujħciu obejmuje dane oraz
program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych. Program
taki (czħsto zestaw programów) nazywany jest "Systemem zarzĢdzania bazĢ danych" (ang.
DataBase Management System, DBMS). W Ļcisłej nomenklaturze baza danych oznacza zbiór
danych, który zarzĢdzany jest przez system DBMS.
Bazy danych operujĢ głównie na danych tekstowych i liczbowych, lecz wiħkszoĻę współczesnych
baz umoŇliwia przechowywanie danych binarnych typu: grafika, muzyka itp.
BIOS (akronim ang. Basic Input/Output System - podstawowy system wejĻcia-wyjĻcia) to
zapisany w pamiħci stałej, inny dla kaŇdego typu płyty głównej komputera, zestaw podstawowych
procedur poĻredniczĢcych pomiħdzy systemem operacyjnym a sprzħtem. Program konfiguracyjny
BIOS-a to BIOS setup.
Program zapisany w pamiħci ROM (Read Only Memory - pamiħę tylko do odczytu) płyty głównej
oraz innych urzĢdzeı takich jak karta graficzna. W wypadku płyty głównej BIOS testuje sprzħt po
włĢczeniu komputera, przeprowadza tzw. POST (akronim ang. "Power On Self Test"), zajmuje siħ
wstħpnĢ obsługĢ urzĢdzeı wejĻcia/wyjĻcia, kontroluje transfer danych pomiħdzy komponentami
takimi jak dysk twardy, procesor czy napħd CD-ROM. Inicjuje program rozruchowy. BIOS
potrzebny jest w komputerach osobistych ze wzglħdu na architekturħ płyt głównych, gdzie dziħki
ACPI kontroluje zasilanie, a poza tym monitoruje temperaturħ itp.
Za pomocĢ wbudowanego w BIOS programu setup moŇna zmieniaę standardowe ustawienia
BIOS-u, np. parametry podłĢczonych dysków twardych lub zachowanie siħ komputera po jego
włĢczeniu (np. szybkoĻę testowania pamiħci RAM), a takŇe włĢczaę/wyłĢczaę niektóre elementy
płyty głównej, np. porty komunikacyjne. Za pomocĢ BIOS-u moŇna teŇ przetaktowywaę procesor
(zmiana czħstotliwoĻci i mnoŇnika), jednak nie jest to zalecane, poniewaŇ moŇe doprowadzię do
przeciĢŇenia urzĢdzenia, a nawet jego uszkodzenia.
Obecnie wiħkszoĻę BIOS-ów zapisywana jest w pamiħciach typu Flash, co umoŇliwia ich
póŅniejszĢ modyfikacjħ.
BIOS posiada szerokĢ gamħ funkcji zapewniajĢcych bezpiecznĢ realizacjħ podstawowych
operacji zwiĢzanych z obsługĢ dysków twardych.
Bufor to obszar pamiħci słuŇĢcy do przechowywania danych do komunikacji pomiħdzy dwoma
systemami, np. bufor karty sieciowej przechowuje pakiety, które majĢ zostaę wysłane, a bufor
karty graficznej - to co ma zostaę wyĻwietlone na ekranie.
Cache (pamiħę podrħczna) to mechanizm, w którym ostatnio pobierane dane dostħpne ze
Ņródła o wysokiej latencji i niŇszej przepustowoĻci sĢ przechowywane w pamiħci o lepszych
parametrach.
Cache jest elementem właĻciwie wszystkich systemów - współczesny procesor ma 2 albo 3
poziomy pamiħci cache oddzielajĢcej go od pamiħci RAM. Dostħp do dysku jest buforowany w
pamiħci RAM, a dokumenty HTTP sĢ buforowane przez poĻredniki HTTP oraz przez
przeglĢdarkħ.
Systemy te sĢ tak wydajne dziħki lokalnoĻci odwołaı - jeĻli nastĢpiło odwołanie do pewnych
danych, jest duŇa szansa, Ňe w najbliŇszej przyszłoĻci bħdĢ one potrzebne ponownie. Niektóre
systemy cache próbujĢ przewidywaę, które dane bħdĢ potrzebne i pobierajĢ je wyprzedzajĢc
ŇĢdania. Np. cache procesora pobiera dane w pakietach po kilkadziesiĢt czy teŇ wiħcej bajtów,
cache dysku zaĻ nawet do kolejnych kilkuset kilobajtów czytanego właĻnie pliku.
CAD - Komputerowe wspomaganie projektowania (CAD, Computer Aided Design, czyli
projektowanie wspomagane komputerowo) - proces projektowania, w którym komputer
wykorzystywany jest na kaŇdym etapie jako podstawowe narzħdzie pracy projektanta.
W skład CAD wchodzi opracowanie dokumentacji konstrukcyjnej (2D, oraz coraz czħĻciej 3D),
analizy kinematyczne, wytrzymałoĻciowe czy termiczne, prowadzone najczħĻciej z
wykorzystaniem MES, optymalizcja i wiele innych zagadnieı zwiĢzanych z powstawaniem
projektu gotowego wyrobu.
Dziħki zastosowaniu CAD inŇynierowie majĢ łatwiejszy dostħp do zasobów wiedzy, bibliotek,
know-how firmy, opracowaı normatywnych, przepisów prawnych i dyrektyw obowiĢzujĢcych w
konkretnej gałħzi przemysłu. Jest to moŇliwe dziħki wykorzystaniu w procesie projektowania
inŇynierskich baz danych, oraz pracy w Ļrodowiskach sieciowych.
CAM - Komputerowe wspomaganie wytwarzania (CAM - Computer Aided Manufacturing) -
system komputerowy, który ma za zadanie integracjħ fazy projektowania i wytwarzania. Jeden z
elementów zintegrowanego wspomagania wytwarzania (CIM).
CechĢ charakterystycznĢ systemu jest transformacja (przetwarzanie) obiektów (modeli
powstałych w wyniku modelowania komputerowego 2D/3D; modeler moŇe, ale nie musi byę
czħĻciĢ składowĢ programu CAM) na instrukcje maszynowe (dokładnie: na instrukcje sterujĢce
pozycjĢ narzħdzia obróbczego; maszyny NC i CNC), które umoŇliwiajĢ wytwarzanie elementów.
CHIPSET - Chipset to element elektroniczny wystħpujĢcy w wielu czħĻciach składowych
komputera. WydajnoĻę i niezawodnoĻę komputera w znaczĢcej mierze zaleŇy od tego układu.
Układ ten organizuje przepływ informacji pomiħdzy poszczególnymi podzespołami jednostki
centralnej. W skład chipsetu wchodzĢ zazwyczaj dwa układy zwane mostkami.
* Mostek północny odpowiada za wymianħ danych miħdzy pamiħciĢ a procesorem oraz steruje
magistralĢ AGP (teraz juŇ takŇe PCI-E 1-16x).
* Mostek południowy natomiast odpowiada za współpracħ z urzĢdzeniami wejĻcia/wyjĻcia,
takimi jak np. dysk twardy czy karty rozszerzeı.
Zgłoś jeśli naruszono regulamin