Architektura komputerów
Przechowywanie danych
Bity
• Bit = Binary Digit
• ... czyli inaczej cyfra dwójkowa
• Za pomocą pojedynczego bitu można kodować jeden z dwóch stanów
• Można też wykonywać na nich operacje
Operacje na bitach
• NOT (negacja) „nie”
• AND (koniunkcja) „i”
• OR (alternatywa) „lub”
• XOR (alternatywa wyłączająca) „albo-albo”
Bramka NOT Bramka NOT
x NOT x
0 1
1 0
Bramka AND
x1 x2 x1 AND x2
0 0 0
0 1 0
Bramka OR
x1 x2 x1 OR x2
0 0 0
0 1 1
1 0 1
Bramka XOR
x1 x2 x1 XOR x2
0 0 0
0 1 1
Przerzutnik
• Wejście
Wejście
AND OR
NOT
Wyjście
Przerzutnik
• Wejście
AND
OR Wyjście
1
Przerzutnik
• Wejście
Wejście
AND OR
NOT
Wyjście 1
0
1 1
1 1
Przerzutnik
• Wejście
AND
OR Wyjście
0
1 1
1 1
Przerzutnik
• Wejście
Wejście
AND OR
NOT
Wyjście 0
1
0 1
0 0
Przerzutnik
• Wejście
AND
OR Wyjście
0
1 1
0 0
Pamięci komputerowe
• Stosuje się pojedyncze kondensatory połączone w prostokątną sieć.
• Raz naładowany kondensator
przechowuje ładunek (bit 1) aż do
rozładowania (bit 0). Rozładowuje się zwierając elektrycznie okładki.
• Na jednej kości (czipie) można umieścić miliony kondensatorów
Ulotność pamięci
• Dane przechowywane przez przerzutniki są natychmiast tracone po wyłączeniu
zasilania
• Dane przechowywane w technologii
kondensatorowej są wrażliwe na zanik napięcia i trzeba je co jakiś czas
Dyski magnetyczne
• Bity równooddalone od środka tworzą na jednym talerzu ścieżkę.
• Dane na jednej ścieżce dzieli się na sektory.
Każda ścieżka ma tyle samo sektorów.
• Układ równooddalonych od środka ścieżek tworzy cylinder (na kilku talerzach).
• Liczba ścieżek na dysku i sektorów na ścieżce zależy od formatowania (inicjowania).
Parametry techniczne dysku
• czas wyszukiwania (przemieszczanie głowic)
• opóźnienie obrotowe (połowa czasu pełnego obrotu)
• czas dostępu (suma ww)
• szybkość przesyłania (czas transmisji
System szesnastkowy
• Często, aby skrócić zapis dwójkowy, grupuje się bity po 4 i interpretuje za pomocą cyfr szesnastkowych.
• Bajt = 8 bitów = 2 cyfry szesnastkowe
• Przykłady:
– 00010001 = 91 (=9*16+1)
– 11111111 = FF (=16*16+15) – 00000000 = 00 (=0*16+0)
System szesnastkowy
Ciąg bitów Reprezentacja szesnastkowa
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
Reprezentacja dziesiętna 0
1 2 3 4 5 6 7 8 9
Pamięć operacyjna
• Podstawowa pamięć komputera
• Dzieli się na słowa 8-bitowe bajty, 16- bitowe słowa.
• 1kB = 1.024 bajty
• 1MB = 1.048.576 bajtów
• 1Gb = 1.073.741.824 bajty
• Każda komórka pamięci ma swój
Pamięć RAM
• RAM = Random Access Memory, czyli pamięć o dostępie bezpośrednim lub swobodnym (a nie losowym!). Jest
uporządkowana, ale dostęp do każdej komórki jest tak samo łatwy.
• Bity w pojedynczej komórce też są
oczywiście uporządkowane od najbardziej
Pamięć masowa
• … inaczej zwana zewnętrzną.
• Realizowana w technologii trwałej (dyski magnetyczne, płyty CD, taśmy,...)
• Dostęp do niej wymaga prawie zawsze
pewnych mechanicznych działań. Wydłuża to czas dostępu (jest ok. 1.000.000-krotnie wolniejszy, niż do pamięci operacyjnej).
Płyty kompaktowe
• Format CD-ROM (Compact Disc Read-Only- Memory) różni się od CD-DA (Compact Disc Digital-Audio).
• W odróżnieniu od twardych dysków dane zapisywane są spiralnie od środka płyty ku brzegowi.
• Dane są zapisywane z jednorodną gęstością, więc płyta musi zwalniać w miarę zbliżania się promienia lasera do brzegu.
Strimery
• ... czyli streamery
• pamięci taśmowe, formatowane podobnie jak
dyski na segmenty. Każdy z segmentów zawiera kilka równolegle biegnących ścieżek. Dostęp do ścieżek jest niezależny.
• Powolne
• Mają dużą pojemność
• Służą do archiwizacji danych
Pliki
• Jednostki przechowywania informacji w pamięci masowej
• Dzielą się na tekstowe, binarne oraz pliki o dostępie bezpośrednim (rekordowe)
• Pliki o dostępie bezpośrednim są podzielone rekordy logiczne (nie mylić z rekordami
fizycznymi odpowiadającymi charakterystyce urządzenia zapisującego).
Reprezentacja tekstów
• ASCII (American Standard Code for Information Interchange) wprowadzony został przez
Amerykański Narodowy Instytut Normalizacji (ANSI).
• Podstawę stanowią kody o numerach od 32 do 127.
• Kody od 0 do 31 – kody sterujące, mogą mieć
specjalne znaczenie dla systemów operacyjnych, protokołów sieciowych itp.
• Kody od 128 do 255 – lokalne strony kodowe używane przez konkretne zastosowania, np.
Inne kody
• UNICODE (unikod) – kod 16-bitowy umożliwia kodowanie 65536 symboli
• ISO – kod 24-bitowy pozwala na
reprezentowanie ponad 17 milionów symboli
Reprezentacja obrazów
• Mapa bitowa – opisujemy piksel po pikslu cały obraz. Zazwyczaj na każdy piksel zużywamy 3 bajty odpowiadające stopniu jasności trzech składowych koloru: czerwonej, zielonej i
niebieskiej (RGB). Stosuje się też metody kompresji do formatów GIF i JPEG.
• Reprezentacja wektorowa – opisujemy obiekty znajdujące się na obrazie, a komputer przelicza, które piksle zapalić w jaki sposób.
Reprezentacja wektorowa - zastosowania
• Czcionki – opisujemy nie piksle, składające się na czcionkę, a sposób jej rysowania.
• Gry komputerowe – nie przedstawiamy piksel po pikslu tego co mamy pokazać, tylko opisujemy obiekty, które znajdują się na scenie wydarzeń, a komputer je odtwarza z odpowiedniego kąta.
• CAD – projektowanie wspomagane
Kompresja danych
• Kodowanie grupowe – zliczamy powtarzające się sekwencje.
• Kodowanie względne – podajemy zmiany w stosunku do poprzedniego bloku (np. klatka filmowa)
• Kodowanie częstościowe – częstsze symbole mają krótsze kody (np. kody Huffmana)
• Kodowanie Lempela-Ziva (zip,rar,...) ze
słownikiem adaptacyjnym. Do każdego ciągu danych dostosowuje oryginalny sposób
kompresji wykorzystujący zauważone
Kompresja obrazów
• GIF (Graphics Interchange Format). Trzybajtowe opisy piksli zamienia się na jednobajtowy z
palety 256 kolorów. Używany powszechnie w grach komputerowych.
• JPEG (Joint Photographics Experts Group) – szczególnie. Popularny dla zdjęć kolorowych.
Zapisuje się różnice między kolejnymi pikslami, które to różnice zazwyczaj nie są duże. Operuje się też jasnością, na którą nasze oko jest
Transmisja danych
• Związana jest zawsze z
niebezpieczeństwem przekłamania
• Bity parzystości – dodatkowy redundantny bit służący do wykrycia błędu, gdy tylko
jeden bit gdzieś jest przekłamany.
• Bajty kontrolne – kontrolują parzystość bloków bitów.
Kody samokorygujące
• Za pomocą dodatkowej liczby bitów
(zazwyczaj log n dla n-bitowych kodów) można uzyskać samonaprawianie się przekłamania pojedynczego bitu.
• Takie systemy stosowane są w
urządzeniach zewnętrznych typu CD i