Budowa fizyczna dysku
Wszystkie dyski twarde maja podobna budowe. Wewnatrz obudowy
miesci sie od jednego do kilku talerzy. Po obu stronach kazdego z nich
znajduja sie sciezki podzielone na sektory zawierajace standardowo po
512 bajtów. Liczba sektorów na sciezce zalezy zatem od odleglosci
danej sciezki od srodka dysku: im dalej w kierunku zewnetrznej
krawedzi, tym wiecej sektorów na sciezce. Zapisane na dysku
informacje odczytywane sa przez glowice umieszczone na ruchomym
ramieniu. Te sciezki, które mozna odczytac bez potrzeby
przemieszczenia ramienia z glowicami, tworza jeden cylinder. Aby latwo
mozna bylo poruszac sie po tak skomplikowanej strukturze, cylindry,
glowice i sektory zostaly ponumerowane. Odwolanie do konkretnego
miejsca na dysku wymaga wiec podania trzech informacji (liczb) w
standardzie C/H/S - Cylinder / Head (glowica) / Sector (sektor).
Dokladnie taki schemat stosowano w przypadku starszych dysków o
pojemnosciach do 528 MB - obecnie istnieje koniecznosc stosowania
tzw. translacji adresów.
Adres sektora fizycznego
Sektor jest to obszar dysku, w którym zapisac mozna 512 bajtów danych. Dawniej
BIOS adresowal dane bezposrednio za pomoca metody CHS. Wykorzystywal przy
tym 24 bity do zapisania kazdego wskaznika, co pozwalalo na udostepnienie
przestrzeni adresowej o maksymalnej wielkosci 8,4 GB (2245512 bajtów). Wraz ze
wzrostem pojemnosci dysków wprowadzono bardziej wydajne tryby adresowania,
metoda adresacji CHS okazala sie niewystarczajaca - umozliwiala obsluge dysków
nie wiekszych niz 504 MB. LBA (Logical Block Adresssing). W trybie tym
adresowane sa ponumerowane sektory, co zapewnia pelna niezaleznosc od
fizycznej architektury dysku. Nie nalezy zatem wylaczac opcji Mode | LBA w menu
Standard CMOS Setup BIOS-u. Najbezpieczniej jednak wybrac tu parametr Auto.
LBA wnioslo w ten mechanizm tylko przesuniecie dwóch bitów z adresu glowicy na
adres cylindra, tak by DOS mógl zobaczyc cala przestrzen adresowa. W
przypadku pierwszych dysków IDE podawana w BIOS-ie liczba cylindrów, glowic i
sektorów dokladnie odzwierciedlala fizyczna budowe dysku. Nowoczesne dyski
IDE korzystaja z wewnetrznego mechanizmu translacji (translation mode), który
przelicza rzeczywiste parametry dysku do postaci akceptowalnej przez BIOS.
Ograniczenia BIOS-u sprawiaja, ze nie mozna dowolnie "zwiekszac" liczby
cylindrów czy sektorów, zmieniana jest zatem liczba glowic, których w
rzeczywistosci jest tylko 2 razy tyle co talerzy.
Budowa logiczna dysku
Wiekszosc popularnych systemów operacyjnych musi zostac
zainstalowana na partycji typu primary (glównej), co - ze wzgledu na
strukture tablicy partycji - umozliwia zainstalowanie do czterech
roznych systemów na jednym dysku. Oprócz partycji typu primary
mozna zalozyc równiez partycje extended (rozszerzona). Jej glówna
zaleta jest to, ze zajmujac tylko jedno miejsce w tablicy partycji dysku,
mozna na niej utworzyc znacznie wieksza liczbe dysków logicznych -
czyli partycji na partycji extended. Partycja rozszerzona zakladana jest
niemal na kazdym dysku. W przeciwienstwie do partycji podstawowych
dyski logiczne utworzone na partycji extended sa widoczne zawsze,
jesli system plików zgodny jest z zainstalowanym systemem
operacyjnym. Wiecej niz jedna partycje primary jednoczesnie "widza"
tylko niektóre systemy, np. Linux, Windows 98. Starsze z nich, jak
DOS, wspólpracuja tylko z aktywna partycja podstawowa (primary). W
danym momencie tylko jedna partycja moze miec ustawiona flage
aktywnosci. Aby przedstawic budowe logiczna dysku twardego nalezy
wpierw wyjasnic metode adresowania informacji na dysku: adres
sektora fizycznego, adres sektora logicznego oraz adres klastera.
Adres sektora logicznego
Sposób numerowania sektorów logicznych (w porównaniu z
adresem CHS) przedstawia ponizszy rysunek na którym
zalozono pewna fikcyjna geometrie dysku: 4 glowice, 4
cylindry i 8 sektorów na sciezke. Strona zerowa-strona ukryta
(ang. Hidden, nie ma swojego odpowiednika na dyskietce)
jest poswiecona celom systemowym. Sektory tej strony nie
wchodza do numeracji sektorów logicznych na dysku.
Regula numerowania sektorów logicznych
W pierwszym jego sektorze znajduje sie MBR zawierajacy tablice
partycji. Do oznaczenia cylindrów i glowic wykorzystuje sie cyfry
zaczynajace sie od 0. Szesnascie glowic ma zatem numery od 0 do
15. Sektory oznaczane sa liczbami od 1 do 63. Kazda partycja
zaczyna sie od rekordu ladujacego (boot sectora). Poniewaz
poczatek pierwszej partycji moze znajdowac sie na zerowym
cylindrze, ale pierwszej glowicy i pierwszym sektorze (CHS = 011),
pomiedzy MBR i BS pozostaja wolne 62 sektory (31 KB), które nie sa
wykorzystywane. Po BS znajduje sie obszar, w którym zapisane sa
informacje o rozmieszczeniu danych na partycji. Sektorem logicznym
0 jest pierwszy sektor fizyczny na stronie 1 i sciezce 0 dysku
(CHS=011). Kolejne numery otrzymuja kolejne sektory fizyczne
lezace na tej sciezce (CHS=012 to sektor 1 itd.). Po wyczerpaniu
sciezki zmieniamy strone nie zmieniajac cylindra. Dopiero po
wyczerpaniu wszystkich sektorów fizycznych biezacego cylindra,
zmieniamy cylinder, przechodzac na cylinder o numerze wyzszym o 1
i numeracje kontynuujemy od pierwszego sektora fizycznego
pierwszej strony tego cylindra.
tablica alokacji plików
Tablica opisujaca, w których klastrach dysku twardego lub dyskietki
magnetycznej system operacyjny ma szukac kazdego z zapisanych na
nim plików. FAT jest tworzony podczas formatowania nosnika danych.
Podczas zapisu pliku informacje o nim sa automatycznie zachowywane w
tablicy FAT. Potocznie przez FAT rozumie sie FAT16 lub FAT32.
System plików FAT zostal zaprojektowany przez firme Microsoft. Pierwsza
wersja tego systemu zostala zaprojektowana dla dysków o niewielkiej
pojemnosci (glównym jej przeznaczeniem byly dyskietki). Byla to bardzo
uboga wersja, nie obslugujaca nawet podkatalogów. Pózniej zaczely
powstawac kolejne, coraz lepsze wersje systemu plików FAT.
Obecnie rozróznia sie trzy rodzaje systemów plików FAT. Sa to:•FAT12
•FAT16•FAT32
PODSTAWOWA BUDOWA KOMPUTERA
- procesor (ang. Central Processing Unit = CPU), -
ROM (ang. Read Only Memory) – pamiec tzw. stala, do
przechowywania m.in. ustawien konfiguracyjnych, programów,
- RAM (ang. Random Access Memory) – pamiec do
przechowywania programów, danych, wyników posrednich
i koncowych; /pamiec operacyjna PAO/ - uklady wejscia/wyjscia –
umozliwiaja wprowadzanie danych i wyprowadzanie wyników
przetwarzania. Uklady wej/wyj sluza do wymiany danych miedzy
procesorem i pamiecia operacyjna a urzadzeniami zewnetrznymi.
Procesor jest polaczony z ukladami wej/wyj i z pamiecia operacyjna
za pomoca magistrali wej/wyj, w sklad której wchodza:
magistrale danych, adresów i sterowania – liczba linii
poszczególnych magistral jest rózna dla róznych procesorów.
SCHEMAT BLOKOWY PROCESORA
jednostka BU (ang. Bus Unit)
odpowiada za wspólprace procesora z pamiecia;
3 oddzielone od siebie magistrale: danych, adresów, sygnalów
sterujacych;
IU (ang. Instruction Unit)
dekoder odtwarzajacy rozkazy do wykonania przez procesor,
znajdujace sie w odpowiedniej kolejce.
Uklad ten zazwyczaj wspomagany jest przez pamiec ROM, w
której zawarty jest slownik tlumaczacy przyjmowane kody
rozkazowe na sekwencje operacji.
EU (ang. Execution Unit)
uklad wykonawczy, do którego przekazywane sa rozkodowane
instrukcje.
Operacje na liczbach staloprzecinkowych sa wykonywane w
module ALU (ang. Arythmetic Logic Unit) sterowanym
z bloku CU (ang. Control Unit). Operacje na liczbach
zmiennoprzecinkowych – FPU (ang. Floating Point Unit).
AU (ang. Addressing Unit)
jednostka adresowania, obsluguje m.in. pobieranie argumentów
rozkazów, czy przesylanie wyników pod wskazany adres.
MMU (ang. Memory Managment Unit)
modul zarzadzania pamiecia realizujacy dostep do pamieci,
czyli np. stronicowanie, czy segmentacje.
PREFETCH dla przyspieszenia pracy procesora podczas
fazy wykonania (wykonanie wyprowadzonego rozkazu pod
kontrola ukladu sterowania) jednego rozkazu realizuje
sie juz faze pobierania nastepnego rozkazu. Rozwiazanie
takie nazywane jest prepobieraniem.
REJESTRY PROCESORA
Rejestr ROZKAZÓW – przechowuje rozkaz wykonywany
przez uklad sterowania. Do niego wprowadzane sa kolejno
nastepujace po sobie rozkazy realizowanego programu.
Rejestr STATUSOWY – przechowuje wektor statusowy
charakteryzujacy wynik wykonywanej operacji
arytmetycznej lub logicznej, np.: czy wynik jest =>< 0.
Poszczególne bity rejestru statusowego nazywane sa flagami.
LICZNIK ROZKAZÓW – zawiera adres komórki pamieci
zawierajacej nastepny rozkaz do realizacji.
Rejestr ADRESÓW PAMIECI – przechowuje adres komórki
pamieci, z która procesor wymienia dane (czyli adres danej).
AKUMULATOR – rejestr (jeden lub wiecej), na którego
zawartosci sa wykonywane operacje arytmetyczno-logiczne.
Rejestry OGÓLNEGO PRZEZNACZENIA–rejestry, dla
których mozliwe sa nastepujace operacje, realizowane za
pomoca odpowiednich rozkazów:
- bezposrednie (tzn. bez posrednictwa akumulatorów) przesylanie
miedzyrejestrowe miedzy nimi a komórkami pamieci,
- przesylanie miedzyrejestrowe miedzy nimi a akumulatorami,
- przesylanie miedzyrejestrowe miedzy nimi,
- zwiekszenie lub zmiejszenie wartosci o 1.
Rejestry INDEKSOWE – odmiana rejestrów ogólnego
przeznaczenia; umozliwiaja stosowanie techniki adresowania
zwanej adresowanie indeksowym. Polega ono na tym, ze
kolejno zwiekszana lub zmniejszana zawartosc rejestru indeksowego
jest dodawana do pewnej stalej liczby dajac w wyniku ciag
adresów umozliwiajacych np. kolejne adresowanie danych u
mieszczonych w kolejnych komórkach pamieci.
WSKAZNIK STOSU – rejestr zawierajacy najnizszy adres
zapelnionego stosu. STOS – zespól rejestrów, z których
mozliwe jest odczytywanie kolejnych „komórek” wylacznie w
kolejnosci odwrotnej do kolejnosci ich wpisywania.
Rejestry WIELOFUNKCYJNE - w zaleznosci od potrzeb
moga byc akumulatorami, rejestrami ogólnego przeznaczenia,
rejestrami indeksowymi lub wskaznikami stosu.
OPERACJE WYKONYWANE PRZEZ PROCESOR
Kazdy procesor ma mozliwosc realizacji bardzo
wielu operacji, m.in. arytmetycznych, logicznych, przeslan
miedzyrejestrowych i innych. Wykonania niektórych z nich
moze zazadac programista za pomoca rozkazów umieszczonych
w programie wprowadzonym do pamieci, natomiast wykonanie
innych operacji odbywa sie niezaleznie od programisty i jego
programu w sposób ustalony przez konstruktora procesora.
W zwiazku z tym operacje realizowane w procesorach mozna
podzielic na 2 grupy: operacje podstawowe – których
wykonania moze zazadac programista wprowadzajac odpowiedni
rozkaz do programu. Kazda operacja podstawowa ma
przyporzadkowany dokladnie 1 rozkaz. Zbiór rozkazów tworzy
liste rozkazów danego procesora. mikrooperacje – zestaw
najbardziej elementarnych operacji potrzebnych do realizacji
operacji podstawowych; niezalezne od programisty.
ARCHITEKTURA KOMPUTERA jest zdefiniowana przez
atrybuty komputera widoczne dla programisty piszacego program
w jezyku maszynowym. Definicja ta obejmuje liste instrukcji,
format instrukcji, kody operacji, tryby adresowania oraz wszystkie
rejestry i lokacje pamieci, które moga byc bezposrednio modyfikowane
przez program napisany w jezyku maszynowym.
Implementacja sprzetowa jest zdefiniowana przez rzeczywista strukture
sprzetu, organizacje ukladów logicznych i organizacje dróg przeplywu
danych.
PRZEPLOT - Obraz, który uzyskiwany jest przez nalozenie dwóch
obrazów, gdzie jeden zawiera linie parzyste, a drugi nieparzyste. Tym
sposobem oko ludzkie nie zauwaza podczas wyswietlania kolejnych klatek
filmu, ze poszczególne klatki nie sa kompletne. Pojecie stosuje sie takze
do obrazków statycznych (np. GIFów). Podczas odczytywania pojawia sie
najpierw kilka linii, nastepnie pomiedzy nimi doczytywane sa kolejne linie
i tak dalej, az do pokazania calego obrazka.
PAMIEC RAM
Podstawowy rodzaj pamieci o dostepie swobodnym, nieodzowny w kazdym
komputerze, przechowujacy calosc lub czesc biezaco wykonywanego programu.
Pamiec operacyjna pozostaje w stalym kontakcie z procesorem, dla którego
logicznie przedstawia uporzadkowany ciag komórek zaadresowanych od 0 do 2n,
przy czym n oznacza liczbe bitów rejestru adresowego procesora. Pamiec
operacyjna moze byc zrealizowana jako pamiec stala lub pamiec zapisywalna.
Rozmiar (pojemnosc) pamieci operacyjnej, oprócz szybkosci procesora,
charakteryzuje mozliwosci komputera. Wspólczesne komputery PC z reguly
dysponuja dziesiatkami megabajtów pamieci operacyjnej. Takich ilosci pamieci
wymagaja programy stosujace interfejsy graficzne.
Podzial pamieci RAM ze wzgledu na budowe.
SRAM - (Static RAM), pamiec statyczna. Cechuje ja bardzo krótki czas
dostepu do poszczególnej komórki i nieulotnosc. Niestety, pamieci SRAM
sa drogie, dlatego tez wykorzystuje sie je glównie jako pamieci cache.
DRAM - (Dynamic RAM) pamiec dynamiczna. Pamiec ta jest wolniejsza
niz pamiec SRAM a w dodatku jest ona ulotna. Aby pamiec ta nie utracila
danych trzeba ja odswiezac z czestotliwoscia co najmniej kilkaset Hz.
Odswiezanie polega na zwyklym odczycie zawartosci komórki.
SDRAM - (Synchronous Dynamic RAM) pamiec dynamiczna, synchroniczna.
Pamiec ta jest podobna do pamieci DRAM, z tym ze dostep do komórek pamieci
jest zsynchronizowany z zewnetrznym zegarem taktujacym procesor.
Podzial pamieci RAM ze wzgledu na dostep
FPM RAM - (Fast Page Mode RAM), pamiec ta zorganizowana jest w strony,
przy czym najszybciej realizowany jest dostep do kolejnych komórek w
obrebie strony.
EDO RAM - (Extended Data Output RAM), jest to pamiec w przypadku
której w czasie odczytu danej komórki, moze zostac pobrany adres nastepnej.
BEDO RAM - (Burst EDO RAM), w przypadku tej pamieci zamiast jednego
adresu pobierane sa cztery, przy czym na magistrale wystawiany jest tylko
pierwszy co znacznie zwieksza szybkosc dostepu.
PAMIEC ROM
W pamieciach nieulotnych typu ROM umieszczone sa informacje stale.
ROM jest najbardziej niezawodnym nosnikiem informacji o duzej gestosci zapisu.
Zapis informacji dokonuje sie w procesie produkcji lub podczas ich programowania.
W pamieci ROM zapisuje sie ustawienia BIOSu.
Pamieci typu ROM przeznaczone sa glównie do umieszczania w nich startowej
sekwencji instrukcji, kompletnych programów obslugi sterowników i urzadzen
mikroprocesorowych, takze ustalonych i rzadko zmienianych danych stalych.
PODZIAL PAMIECI ROM
ROM programowana maska - Jej zawartosc ustala sie na podstawie wzorca
dostarczanego przez uzytkownika w trakcie procesu technologicznego. Pamiec ta
jest przeznaczona tylko do odczytu, co w wielu wypadkach uniemozliwia
jej zastosowanie.
PROM - Jest dostarczana przez producenta w stanie niezaprogramowanym
z mozliwoscia jednokrotnego ustalania dowolnej zawartosci bezposrednio przez
uzytkownika. Wlasciwa tresc pamieci ustala sie jednorazowo przez elektryczne
przepalenie odpowiednich polaczen wewnetrznych. Kazda pomylka w czasie
programowania eliminuje programowany uklad.
Pamiec EPROM - Najpopularniejszy rodzaj pamieci kasowalnej i programowalnej
o nieulotnej zawartosci informacji. Kasowanie zawartosci dokonuje sie przez
intensywne naswietlenie promieniem ultrafioletowym. Nie jest mozliwe kasowanie
pojedynczych bajtów pamieci, natomiast proces przeprogramowania zawartosci
pamieci moze byc powtarzany wielokrotnie.
Pamieci EEPROM- Kazdy bajt mozna kasowac elektrycznie i zapisac nowa
zawartoscia bezposrednio w urzadzeniu, w którym normalnie funkcjonuje pamiec,
a do zaprogramowania dowolnego bajtu wystarcza jeden cykl zapisu. Wykorzystanie
tej mozliwosci sprawia, ze pamiec ta jest idealnym rozwiazaniem przy uruchamianiu
nowego oprogramowania, badz modyfikacji zawartosci istniejacej pamieci.
Flash EEPROM. W tym typie pamieci zwykle nie mozna kasowac ani
programowac pojedynczych bajtów. Mozliwe jest kasowanie i programowanie
blokami pamieci lub w calosci.
ZASADA DZIALANIA PROCESORA
Ze wzgledu na przeplyw danych i rozkazów w procesorze, mozna wyróznic w nim
kilka zasadniczych modulów: Blok wstepnego pobierania i dekodowania instrukcji.
Odpowiada on za dostarczenie kolejnych polecen z pamieci operacyjnej i przekazanie
ich do odpowiedniej jednostki wykonawczej. Glówny blok wykonawczy to jednostka
arytmetyczno-logiczna ALU. Zapewnia ona prawidlowe przetworzenie wszystkich
danych staloprzecinkowych. ALU wyposazony jest w niewielka zintegrowana pamiec,
nazywana zestawem rejestrów. Kazdy rejestr to pojedyncza komórka uzywana do
chwilowego przechowywania danych i wyników. FPU procesor wykonujacy wszystkie
obliczenia zmiennoprzecinkowe.Po zakonczeniu "obliczen" dane bedace wynikiem
przetwarzania trafiaja do modulu wyjsciowego procesora. Jego zadaniem jest
przekierowanie nadchodzacych informacji np. do odpowiedniego adresu w
pamieci operacyjnej lub urzadzenia wejscia/wyjscia.
pamieci dynamiczne - DRAM,
pamieci statyczne - SRAM.
Pomiedzy tymi dwoma grupami pamieci wystepuja istotne róznice w ich parametrach i wlasnosciach uzytkowych. Pamieci dynamiczne sa pamieciami wolniejszymi od pamieci statycznych, sa natomiast znacznie tansze. Ponadto pamieci dynamiczne znacznie latwiej podlegaja scalaniu, co oznacza, ze dla porównywalnej wielkosci ukladu uzyskujemy w nich znacznie wieksze pojemnosci. Wada pamieci dynamicznych jest fakt, ze dla ich poprawnego funkcjonowania konieczny jest tak zwany proces odswiezania. Polega ona na cyklicznym, ponownym zapisie przechowywanej informacji do komórek tej pamieci. Z porównania wlasnosci tych pamieci wynika takze miejsce ich zastosowania w technice komputerowej. Pamieci dynamiczne stosowane sa do budowy glównej pamieci operacyjnej komputera, co wynika z ich niskiej ceny i duzych pojemnosci ukladów scalonych tej pamieci. Wada tych pamieci w porównaniu z pamieciami statycznymi jest przede wszystkim ich szybkosc dzialania.
RISC - nazwa architektury mikroprocesorów która zostala przedstawiona pod koniec
lat 70. Procesory charakteryzowaly sie bardzo rozbudowana lista rozkazów, ale
statystycznie tylko nieliczna ich czesc byla wykorzystywana w programie.
Zaprezentowano architekture mikroprocesorów. Jej podstawowe cechy to:
Zredukowana liczba rozkazów do niezbednego minimum. Ich liczba wynosi
kilkadziesiat, podczas gdy w procesorach CISC siega setek. Upraszcza to znacznie
dekoder rozkazów. Redukcja trybów adresowania, dzieki czemu kody rozkazów sa prostsze, bardziej zunifikowane, co dodatkowo upraszcza wspomniany wczesniej dekoder rozkazów. Ponadto wprowadzono tryb adresowania, który ogranicza ilosc przeslan – wiekszosc operacji wykonuje sie wg schematu:
Ograniczenie komunikacji pomiedzy pamiecia, a procesorem. Przede wszystkim do
przesylania danych pomiedzy pamiecia, a rejestrami sluza dedykowane instrukcje, które
zwykle nazywaja sie load (zaladuj z pamieci), oraz store (zapisz do pamieci); pozostale
instrukcje moga operowac wylacznie na rejestrach. Schemat dzialania na liczbach z
najdujacych sie w pamieci jest nastepujacy: zaladuj dana z pamieci do rejestru, na
zawartosci rejestru wykonaj dzialanie, przepisz wynik z rejestru do pamieci.
Zwiekszenie liczby rejestrów (np. 32, 192, 256, podczas gdy np. w architekturze
x86 jest zaledwie 8 rejestrów).
CISC – nazwa architektury mikroprocesorów o nastepujacych cechach:
Wystepowanie zlozonych, specjalistycznych rozkazów (instrukcji) - które do
wykonania wymagaja od kilku do kilkunastu cykli zegara
Szeroka gama trybów adresowania
Przeciwnie niz w architekturze RISC rozkazy moga operowac bezposrednio na
pamieci (zamiast przeslania wartosci do rejestrów i operowania na nich)
Powyzsze zalozenia powoduja iz dekoder rozkazów jest skomplikowany
Istota architektury CISC jest to, iz pojedynczy rozkaz mikroprocesora, wykonuje
kilka operacji niskiego poziomu, jak na przyklad pobranie z pamieci, operacje
arytmetyczna i zapisanie do pamieci. Przyklady rodzin procesorów o architekturze CISC to:
System/360 ,VAX ,PDP-11 ,x86
Darmowy hosting zapewnia PRV.PL