niedziela, 3 marca 2013

BIOS

BIOS ( Basic Input/Output System – podstawowy system wejścia-wyjścia) – zapisany w pamięci stałej zestaw podstawowych procedur pośredniczących pomiędzy systemem operacyjnym a sprzętem. Jest to 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.

Działanie

W wypadku płyty głównej BIOS testuje sprzęt po włączeniu komputera, przeprowadza tzw. POST             ("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, jak również 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 i pamięci RAM, jednak nie jest to zalecane, ponieważ może doprowadzić do przeciążenia urządzenia, a nawet jego uszkodzenia.
Niektórzy producenci sprzętu komputerowego umieszczają na płytach głównych dodatkowy moduł pamięci flash, która stanowi zabezpieczenie dla podstawowego BIOS-u, gdy ten zostanie np. uszkodzony/zniszczony przez wirus komputerowy lub w niewłaściwy sposób zaktualizowany. W takim przypadku zawartość zapasowego BIOS-u przepisywana jest do pierwszego, podstawowego modułu pamięci flash. Mechanizm ten nosi nazwę DualBIOSu.

poniedziałek, 25 lutego 2013

Procesor

Procesor (ang. processor), także CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.
Procesory (zwane mikroprocesorami) wykonywane są zwykle jako układy scalone zamknięte w hermetycznej obudowie, często posiadającej złocone wyprowadzenia (stosowane ze względu na odporność na utlenianie). Ich sercem jest monokryształ krzemu, na który naniesiono techniką fotolitografii szereg warstw półprzewodnikowych, tworzących, w zależności od zastosowania, sieć od kilku tysięcy do kilkuset milionów tranzystorów. Połączenia wykonane są z metalu (aluminium, miedź).
Jedną z podstawowych cech procesora jest długość (liczba bitów) słowa, na którym wykonywane są podstawowe operacje obliczeniowe. Jeśli słowo ma 64 bity, mówimy, że procesor jest 64-bitowy.
Innym ważnym parametrem określającym procesor jest szybkość, z jaką wykonuje on rozkazy. Przy danej architekturze procesora, szybkość ta w znacznym stopniu zależy od czasu trwania pojedynczego taktu.


Budowa

W funkcjonalnej strukturze procesora można wyróżnić takie elementy, jak:
  • zespół rejestrów do przechowywania danych i wyników, rejestry mogą być ogólnego przeznaczenia lub mają specjalne przeznaczenie,
  • jednostkę arytmetyczną (arytmometr) do wykonywania operacji obliczeniowych na danych,
  • układ sterujący przebiegiem wykonywania programu,
  • inne układy, w które producent wyposaża procesor w celu usprawnienia jego pracy.
Cykl rozkazowy procesora.

PROCESOR stanowi główny element komputera, ponieważ jest odpowiedzialny za przetwarzanie informacji. Składa się on z układów sterujących, arytmometru oraz rejestrów . Układy sterujące odpowiadają za: dostarczenie arytmometrowi danych do obliczeń z pamięci operacyjnej, przekazywanie wyników obliczeń z powrotem do pamięci oraz właściwą kolejność przetwarzania. W arytmometrze odbywają się wszystkie obliczenia realizowane przez komputer. W rejestrach procesora przechowuje się adresy wybranych miejsc pamięci operacyjnej oraz dane i wyniki obliczeń. W wyróżnionym rejestrze nazywanym licznikiem rozkazów jest umieszczany adres miejsca w pamięci wewnętrznej zawierającego bieżący rozkaz dla procesora. Praca procesora odbywa się w tzw. cyklach rozkazowych.
Rozkazowy.jpg
Przebieg jednego cyklu rozkazowego można opisać za pomocą następującego algorytmu:
  1. Zawartość miejsca pamięci wewnętrznej wskazywanego przez licznik rozkazów LR zostaje przesłana do układów sterujących procesora.
  2. W układach sterujących następuje rozdzielenie otrzymanej informacji na dwa pola: pole operacji i pole argumentów. Pole operacji zawiera adres rozkazu, który należy wykonać. Pole argumentów zawiera adresy, pod którymi są przechowywane dane oraz adres przeznaczenia wyniku.
  3. Na podstawie wyznaczonych adresów następuje przesłanie z pamięci wewnętrznej argumentów do odpowiednich rejestrów, a na podstawie adresu rozkazu arytmometr wykonuje odpowiednie działanie (operację arytmetyczną lub logiczną) na zawartościach rejestru.
  4. Wynik przetwarzania (wynik wykonanej operacji) jest wysyłany do pamięci wewnętrznej pod adres przeznaczenia wyniku.
  5. Następuje zmiana wartości licznika rozkazów LR tak, aby wskazywał on kolejny rozkaz dla procesora.

Wykonywanie obliczeń może zostać przerwane. Jeżeli procesor otrzyma sygnał informujący go o żądaniu obsługi przerwania następuje przerwanie obliczeń, zapamiętanie stanu licznika rozkazów i wczytanie do licznika rozkazów adresu podprogramu (procedury) obsługi przerwania. Dalsze zachowanie się procesora jest uzależnione od podprogramu obsługującego przerwanie. Oprócz przerwań nadchodzących z zewnątrz procesora (np. odczyt znaku z klawiatury) są przerwania wewnętrzne procesora. Jednym z takich przerwań może być przerwanie jego pracy w przypadku, gdy procesor odczyta rozkaz dzielenia dowolnej liczby przez liczbę 0.

Płyta główna

Płyta główna (ang. motherboard, mainboard) – obwód drukowany urządzenia elektronicznego, na którym montuje się najważniejsze elementy, umożliwiając komunikację wszystkim pozostałym komponentom i modułom.
W komputerze na płycie głównej znajdują się: procesor/y, pamięć operacyjna lub gniazda do zainstalowania tych urządzeń oraz gniazda do zainstalowania dodatkowych płyt zwanych kartami rozszerzającymi (np. PCI), oraz gniazda do urządzeń składujących (dyski twarde, napędy optyczne itp.), złącze klawiatury i zasilacza. W niektórych konstrukcjach także gniazda do innych urządzeń zewnętrznych do których sprzęt znajduje się na płycie głównej (port szeregowy, port równoległy, USB).
Koncepcję zbudowania komputera osobistego wyposażonego tylko w minimum potrzebnych urządzeń zmontowanych na jednej płycie drukowanej oraz gniazd, do których podłącza się dodatkowe urządzenia zapoczątkowała firma IBM wprowadzając komputer osobisty, zwany też PC.



Budowa płyty głównej

 

W miarę wzrostu stopnia integracji układów scalonych, w celu poprawy szybkości działania oraz obniżenia kosztów budowy całego komputera postępuje integracja elektroniki komputera w kilku układach scalonych umożliwiających współpracę procesora z innymi układami.
W konfiguracjach dominujących w pierwszej dekadzie XXI wieku większość urządzeń zrealizowanych na płycie głównej zgrupowana jest w dwóch układach scalonych zwanych mostkami. Bliższy procesorowi zwany mostkiem północnym oraz współpracujący głownie z procesorem poprzez mostek północny zwany południowym lub zintegrowana w układzie MCP.
Mostek północy jest połączony z procesorem za pomocą magistrali FSB lub łączy Hyper Transport. W nowszych rozwiązaniach układ ten zawiera podstawowy kontroler PCIe (lub w starszych rozwiązaniach – AGP), służący najczęściej do podłączenia urządzeń z rodzaju kart graficznych (także zintegrowanych), ale też wszelkich urządzeń wymieniających z procesorem lub pamięcią duże ilości danych (bardzo często zintegrowane karty sieciowe).
Mostek południowy (jeśli występuje) jest podłączony do mostka północnego za pomocą magistrali (na przykład FSB) albo łączem typu Punkt-Punkt jak Hyper Transport. Zawiera drugi kontroler PCIe, kontrolery SATA, ATA, USB, zintegrowany kontroler dźwięku (np. AC97), kontrolery Ethernetu, itd... Jeśli na płycie głównej występuje tylko jeden układ, to najczęściej wszystkie funkcje mostka południowego i północnego są w nim zintegrowane.
Poza wyżej wymienionymi elementami na płycie głównej zawsze jest umieszczony układ BIOS-u, a także moduł zegara czasu rzeczywistego (RTC) wraz z modułem bateryjnego podtrzymania zegara.

niedziela, 24 lutego 2013

Szybkość pamięci

Koszt pamięci jest zazwyczaj związany z szybkością dostępu do danych danego rodzaju pamięci – im szybsza pamięć tym jest droższa. Dlatego stosowane są różne techniki przenoszenia danych pomiędzy różnego typu pamięciami, aby zapewnić możliwie krótki czas dostępu do najbardziej potrzebnych danych przy ograniczonych zasobach najszybszych pamięci. Dane aktualnie używane są trzymane w szybszej pamięci, natomiast te aktualnie niepotrzebne w wolniejszej. Ponieważ różnice w czasie dostępu między kolejnymi poziomami są często rzędu 10:1, dobre wykorzystanie właściwości pamięci podręcznej (cache) ma zazwyczaj większe znaczenie niż liczba cykli procesora koniecznych do wykonania algorytmu. Zasada przenoszenia mniej potrzebnych danych do wolniejszej pamięci jest podstawą funkcjonowania pamięci wirtualnej komputera oraz stronicowania pamięci.
Klasyczne rodzaje pamięci używane w komputerach PC (uszeregowane od najszybszej):
  • rejestry procesora, rozmiar rzędu kilkudziesięciu do kilkuset bajtów
  • pamięć podręczna procesora pierwszego poziomu (cache L1), wbudowana w procesor, rozmiar od 4 do 64 kB
  • pamięć podręczna procesora drugiego poziomu (cache L2), rozmiar od 128 kB do 24 MB
  • pamięć RAM, rozmiar obecnie od 256 MB (dawniej od kilku kB) do kilku GB
  • plik wymiany (swap) na dysku twardym, rozmiar rzędu kilkudziesięciu MB do kilku GB (definiowany przez użytkownika lub automatycznie przez system operacyjn

Pamięć Komputera

Pamięć komputerowa to różnego rodzaju urządzenia i bloki funkcjonalne komputera, służące do przechowywania danych i programów (systemu operacyjnego oraz aplikacji). Potocznie przez "pamięć komputerową" rozumie się samą pamięć operacyjną.


Podział pamięci ze względu na:

  • ulotność:
    • pamięci ulotne przechowują dane tak długo, jak długo włączone jest ich zasilanie
    • pamięci nieulotne zachowują dane także po odłączeniu zasilania
  • możliwość zapisu i odczytu:
    • tylko do odczytu (zapis odbywa się w fazie produkcji)
    • jednokrotnego zapisu
    • wielokrotnego zapisu, ale ograniczoną liczbę razy, długotrwałego i utrudnionego
    • wielokrotnego trwającego w porównywalnie z odczytem, łatwego i nieograniczoną liczbę razy
    • wymagająca kasowania przed zapisem nowych danych
  • nośnik:
    • półprzewodnikowy (układ scalony)
    • optyczny
    • magnetyczny (w tym pamięć ferrytowa)
    • magnetooptyczny
    • polimerowy (np. Millipede)
    • papierowy (np. karta dziurkowana)
    • linia opóźniająca (np. pamięć rtęciowa)
  • łatwość (możliwość) przeniesienia wraz z zapisem do innego urządzenia
  • miejsce w konstrukcji komputera:
    • rejestry procesora
    • pamięć podręczna, czyli cache
    • pamięć operacyjna - dostępna bezpośrednio przez procesor, w tym RAM
    • zewnętrzna - dostępna dla procesora jako urządzenie zewnętrzne, w tym pamięci USB, masowa (stacje dysków, taśm itp.)
    • pamięć robocza podzespołów (np. rejestry stanu urządzenia, bufory w kartach sieciowych, bufor wysyłanego lub odebranego znaku w łączu szeregowym, pamięć obrazu w kartach grafiki)
  • sposób dostępu do informacji:
    • pamięć o dostępie swobodnym - po wybraniu adresu dostępna jest dowolna jednostka pamięci
    • pamięć o dostępie szeregowym (cyklicznym) (rejestry przesuwne, pamięć taśmowa) - dostęp do danych wymaga odczytania ich kolejno
    • pamięć skojarzeniowa (asocjacyjna) - miejsce dostępu do niej jest zależne od zawartości innej pamięci
    • pamięć wielopoziomowa - pamięć o dostępie szeregowym w obrębie szeregowym, z możliwością wyboru sektorów

 

poniedziałek, 28 stycznia 2013

Maszyna Von Neumanna

Architektura von Neumanna – pierwszy rodzaj architektury komputera, opracowanej przez Johna von Neumanna, Johna W. Mauchly’ego oraz Johna Presper Eckerta w 1945 roku. Cechą charakterystyczną tej architektury jest to, że dane przechowywane są wspólnie z instrukcjami, co sprawia, że są kodowane w ten sam sposób.
W architekturze tej komputer składa się z czterech głównych komponentów:
  • pamięci komputerowej przechowującej dane programu oraz instrukcje programu; każda komórka pamięci ma unikatowy identyfikator nazywany jej adresem
  • jednostki sterującej odpowiedzialnej za pobieranie danych i instrukcji z pamięci oraz ich sekwencyjne przetwarzanie
  • jednostki arytmetyczno-logicznej odpowiedzialnej za wykonywanie podstawowych operacji arytmetycznych.
  • urządzeń wejścia/wyjścia służących do interakcji z operatorem
Jednostka sterująca wraz z jednostką arytmetyczno-logiczną tworzą procesor.
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).