W jakim celu jest wykorzystywany algorytm Boothe'a? Na wybranym przykładzie omów jego działanie.
Kiedy operacja uzupełnienia do dwóch przeprowadzana na n-bitowej liczbie całkowitej prowadzi do uzyskania tej samej liczby całkowitej?
Jaka jest struktura oraz założenia działania maszyny von Neumanna? Objaśnij prawo Moore'a.
Struktura maszyny von Neumanna 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 program)
urządzenia wejścia-wyjścia.
Założenia:
System komputerowy zbudowany w oparciu o tą architekturę 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 dane
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.
Prawo Moore'a dobrze opisuje ewolucję mikroprocesora i mówi o wzroście wydajności na przestrzeni lat. Mówi ono, że złożoność układów scalonych (liczba tranzystorów), przy zachowaniu minimalnego kosztu składników, będzie się podwajać co 18 miesięcy. Stwierdzenie to zachowuje prawdziwość od czasu wczesnych lat 70. Dzięki tak ogromnemu wzrostowi liczby elementów w jednym układzie, możliwe stało się zbudowanie coraz szybszych i mniejszych komputerów.
Jakie są zasadnicze różnice i podobieństwa pomiędzy architekturą mikroprocesora RISC a CISC.
CISC (ang. Complex Instruction Set Computers):
występowanie złożonych, specjalistycznych rozkazów (instrukcji) - które do wykonania wymagają od kilku do kilkunastu cykli zegara.
Szeroka gama trybów adresowania
przeciwnie niż w architekturze RISC rozkazy mogą operować bezpośrednio na pamięci (zamiast przesłania wartości do rejestrów i operowania na nich)
powyższe założenia powodują, iż dekoder rozkazów jest skomplikowany
RISC (Reduced Instruction Set Computers):
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
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ń
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
zwiększenie liczby rejestrów (np. 32, 192, 256), co również wpływa na zmniejszenie liczby odwołań do pamięci.
Jaką ogólną rolę pełnią rejestry procesora? Co to jest słowo stanu programu?
Rejestry procesora służą do przechowywania tymczasowych wyników obliczeń (rejestry danych), adresów lokacji w pamięci operacyjnej (rejestry adresowe). Na nich wykonywane są prawie wszystkie rozkazy procesora.
Słowo stanu programu - zwane również Rejestrem PSW (ang. Program Status Word) - zawiera kody warunkowe oraz inne informacje o stanie programu zawarte na polach:
znak - zawiera bit znaku wyniku ostatniej operacji arytmetycznej
zero - ustawiane gdy wynik operacji jest równy zeru
przeniesienie - używane przy operacjach arytmetycznych obejmujących wiele słów. Ustawiane gdy wynikiem operacji dodawania jest przeniesienie albo gdy wynikiem operacji odejmowania jest przeniesienie zanegowane
równość - ustawiane gdy wynikiem operacji porównywania logicznego jest równość
przepełnienie - używane do wskazywania przepełnienia arytmetycznego
zezwolenie/blokowanie przerwania - używane do obsługi przerwań
nadzorca - wskazuje tryb pracy procesora: nadzorca lub użytkownik. Niektóre rozkazy uprzywilejowane albo pewne obszary pamięci mogą być dostępne tylko w trybie nadzorcy.
13) Na czym polega optymalizacja przetwarzania potokowego w architekturze RISC.
Potokowość (ang. pipelining) - technika budowy procesorów polegająca na podziale logiki procesora odpowiedzialnej za proces wykonywania programu (instrukcji procesora) na specjalizowane grupy w taki sposób, aby każda z grup wykonywała cześć pracy związanej z wykonaniem rozkazu. Grupy te są połączone sekwencyjnie - potok (ang. pipe) - i wykonują pracę równocześnie, pobierając dane od poprzedniego elementu w sekwencji. W każdej z tych grup rozkaz jest na innym stadium wykonania.
Pobranie instrukcji z pamięci - (IF - Instruction fetch)
Zdekodowanie instrukcji - (ID - Instruction Dekode)
Wykonanie instrukcji - (EX - execute)
Dostęp do pamięci - (MEM - memory access)
Zapisanie wyników działania instrukcji - (WB - write back)
W 5-stopniowym potoku przejście przez wszystkie stopnie potoku zabiera co najmniej 5 cykli zegarowych. Jednak ze względu na jednoczesną pracę wszystkich stopni potoku, jednocześnie wykonywanych jest 5 rozkazów procesora, każdy w innym stadium wykonania. Oznacza to, że taki procesor w każdym cyklu zegara rozpoczyna i kończy wykonanie jednej instrukcji i statystycznie wykonuje rozkaz w jednym cyklu zegara.
Przez optymalizację rozumie się zmiany dokonywane w kodzie źródłowym lub w trakcie tłumaczenia kodu źródłowego na język maszynowy mające na celu osiągnięcie pożądanych cech przez program wynikowy. Optymalizacji kodu dokonuje się zazwyczaj ze względu na jeden z dwóch czynników:
rozmiar kodu
szybkość działania kodu (wydajność).
Umożliwienie sprawniejszego przetwarzania potokowego przez procesor może być uzyskane np. w efekcie usunięcia pojawiających się w programach zależności danych.
Jaka jest różnica między językiem maszynowym a asemblerowym?
Język maszynowy (kod maszynowy) - język programowania , w którym zapis programu wymaga instrukcji bezpośrednio jako liczb, które są rozkazami i danymi bezpośrednio pobieranymi przez procesor wykonujący ten program. Kod maszynowy może być generowany w procesie kompilacji (w przypadku języków wysokiego poziomu) lub asemblacji (w przypadku asemblera). W trakcie procesu tworzenia kodu maszynowego tworzony jest często kod pośredni, który może być zapisywany w pliku o odpowiednim formacie. Kod pośredni poddawany jest linkowaniu, które wygeneruje ostateczny obraz programu w taki sposób, że system operacyjny będzie mógł go wczytać, z ewentualnym dostosowaniem argumentów będących adresami do adresów odpowiednich bloków programu w pamięci, i wykonać zawarte w nim instrukcje.
Języki asemblera (zwyczajowo asemblery) to rodzina języków programowania niskiego poziomu, których jedno polecenie odpowiada zasadniczo jednemu rozkazowi procesora. Języki te powstały na bazie języków maszynowych danego procesora poprzez zastąpienie kodów operacji ich mnemonikami (w językach assemblera jest to składający się z kilku liter kod-słowo, które oznacza konkretną czynność procesora. Przykładem mogą być: "add" (ang. dodaj) czy "sub" (ang. subtract - odejmij)). Dzięki stosowaniu kilkuliterowych skrótów poleceń zrozumiałych dla człowieka pozwala to z jednej strony na tworzenie oprogramowania, z drugiej strony bezpośrednia odpowiedniość mnemoników oraz kodu maszynowego umożliwia zachowanie wysokiego stopnia kontroli programisty nad działaniem procesora.
Jaka jest różnica między przesunięciem arytmetycznym a logicznym?
Przesunięcie logiczne w prawo lub w lewo - przesunięcie bitów słowa w prawo lub w lewo; jednej strony bit jest tracony z drugiej wprowadzane jest zero; używane głównie do izolowania pola wewnątrz słowa.
Przesunięcie arytmetyczne w prawo - dane są traktowane jako liczby całkowite ze znakami przy czym bit znaku nie podlega przesunięciu; bit znaku jest replikowany w najbliższej pozycji bitowej na prawo; liczby w notacji U2 są dzielone przez dwa z odcięciem w przypadku liczb nieparzystych.
Przesunięcie arytmetyczne w lewo - z prawej strony jest wprowadzane zero; bit na prawo od bitu znaku jest tracony; realizacji mnożenia przez dwa pod warunkiem, że nie ma przepełnienia.
Jakie ogólne kategorie funkcji są specyfikowane w rozkazach komputerów?
a) transfer danych:
move, store, load, exchange, clear, set, push, pop
procesor:
* przeniesienie danych z jednego miejsca do drugiego
* określenie adresu pamięci, przekształcenie adresu wirtualnego na rzeczywisty, sprawdzenie pamięci podręcznej, zapis/odczyt pamięci
b) arytmetyczne:
- add, subtract, multiply, divide, absolute, negate, increment, decrement
- procesor:
* mogą obejmować transfer danych przed/po wykonaniu działania
* operacja jest wykonywana w ALU
* po wykonaniu następuje ustawienie kodu warunkowego i znacznika stanu
c) logiczne:
AND, OR, NOT, exclusive OR, EQUAL - na poziomie bitowym
AND - maska bitów, XOR - operacja uzupełniania jedynki
Test
Compare, set control variables, shift, rotate
Przesunięcie logiczne w prawo lub w lewo
Przesunięcie arytmetyczne w prawo
Przesunięcie arytmetyczne w lewo
Rotacja w prawo lub lewo - zachowuje wszystkie bity na których jest przeprowadzana; ostatni bit staje się pierwszym i na odwrót;
d) konwersji:
translate, convert
rozkazy zmieniające format lub operujące na formatach danych
e) wejścia-wyjścia:
input (read), output (write), start I/O, test I/O
Procesor:
* wydanie rozkazu modułowi wejścia-wyjścia
* określenie adresu odwzorowanego w pamięci
f) sterowania systemowego:
- rozkazy uprzywilejowane, zarezerwowane do wykorzystania przez system operacyjny
mogą czytać lub zmieniać zawartość rejestru sterowania
g) przekazywania sterowania:
umożliwiają zmianę kolejności wykonywania rozkazów
jump, jump conditional, jump to subordinate, return, execute, skip, skip conditional, halt, wait, no operation
Procesor:
* aktualizowanie licznika programu
* wywołania/powrót z podprogramu - zarządzanie przenoszeniem i powiązaniem parametrów
rozkazy rozgałęziania: bezwarunkowe albo warunkowe
rozkazy pominięcia
rozkazy wywołania procedury
Jakie są wady i zalety posługiwania się formatem rozkazu o zmiennej długości?
Polecenia zdefiniowane dla współczesnych komputerów mogą być:
rozkazami o stałej długości - marnują wiele miejsca, ale są szybkie i oferują lepszą wydajność przy zastosowaniu mechanizmów potokowości na poziomie instrukcji;
rozkazami o zmiennej długości - trudniej się dekodującymi, ale pozwalającymi zaoszczędzić wiele miejsca.
Dzięki tak ogromnemu wzrostowi liczby elementów w jednym układzie, możliwe stało się zbudowanie coraz szybszych i mniejszych komputerów.
Przy zmiennym formacie rozkazu, zarówno długość słowa rozkazu jak i sposób podziału na pola są różne dla różnych rozkazów.
Przy zmiennym formacie rozkazu, dekodowanie rozkazu następuje stopniowo, jedna faza dekodowania po drugiej.
W każdej fazie dekoduje się ustalone pola rozkazu. Wartości kodu w tych polach decydują o tym jakie pola dekodować w następnej fazie, a wiec na wejścia jakich dekoderów dopuścić bity kolejne dekodowane w następnej fazie.
Przy stwierdzeniu odpowiednich kodów w odpowiednich polach, dekodowanie bieżącego rozkazu ustaje i pobierany jest nowy rozkaz (poprzez odpowiednie sygnały z generatora sygnałów sterujących).
Strukturę dekodera stanowi drzewo dekoderów z bramkami dopuszczającymi odpowiednie bity do odpowiednich dekoderów.
Omów czynniki wpływające na długość formatu rozkazu.
Format rozkazu określa rozkład bitów rozkazu w odniesieniu do jego części składowych. Musi zawierać kod operacji oraz adresy argumentów w jednej z przedstawionych wcześniej postaci.
Format rozkazu musi w sposób jawny lub domyślny określać tryb adresowania każdego argumentu.
Im krótszy rozkaz, tym zajmuje mniej pamięci i może być szybciej wczytany. Dłuższe rozkazy pozwalają na umieszczenie większej ilości informacji lub dłuższych adresów. Długość rozkazu powinna być wielokrotnością jednostki transferu (najczęściej słowa), choć możliwe są wyjątki
od tej reguły. Słowo powinno być wielokrotnością długości znaku, jeśli operacje na znakach są brane pod uwagę (w maszynach do obliczeń numerycznych to może nie mieć dużego.
Format rozkazu (angielskie instruction format), układ pól składających się na rozkaz maszynowy: część operacyjna, część adresowa, pole identyfikacji rejestru uniwersalnego, pole modyfikacji adresu itp.
Wymień i zwięźle omów dwa podejścia do wielokrotnych przerwań.
uniemożliwienie przerwań jeśli jakiekolwiek przerwanie jest przetwarzane
- procesor ignoruje żądanie przerwania
- rozwiązanie preferowane dla sekwencyjnych przerwań
- nie uwzględnia się ważności przerwań i zadań krytycznych zależnych od czasu
określenie priorytetu obsługi przerwań
- przerwanie o wyższym priorytecie obsługi przerywa realizację przerwania o niższym priorytecie
Omów sekwencję zdarzeń następujących po rozpoznaniu przez procesor sygnału przerwania.
Przerwanie (ang. interrupt) lub żądanie przerwania (IRQ - Interrupt ReQuest) - sygnał powodujący zmianę przepływu sterowania, niezależnie od aktualnie wykonywanego programu. Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie przez procesor kodu procedury obsługi przerwania (ang. interrupt handler).
Co się dzieje, gdy zostanie zgłoszone przerwanie?
Sprawdzamy źródło przerwania, aby ustalić jego priorytet. (arbitraż programowy lub sprzętowy - równoległy, szeregowy bądź mieszany)
Zapamiętujemy stan maszyny. Czyli - zapamiętujemy rejestry specjalne i ogólne w jakimś bezpiecznym miejscu (pewnie na stosie), wrzucamy na stos również obecną wartość PC1). Dzięki temu po zakończeniu obsługi przerwania będzie można wrócić do poprzednich zajęć.
Wykonujemy kod znajdujący się w adresie, który jest przypisany dla danego źródła przerwania.
Jakie są korzyści wynikające ze stosowania architektury z wieloma magistralami w porównaniu z architekturą opartą na jednej magistrali?
Główną korzyścią jest wzrost wydajności systemu poprzez osobną obsługę urządzeń wolniejszych i szybszych. W architekturze międzypiętrowej jest to wdrożone poprzez zastosowanie magistrali szybkiego przesyłania, a w magistrali PCI poprzez zastosowanie szybkich sterowników wejścia/wyjścia i brak zależności od procesora.
33) Wymień i omów grupy funkcjonalne linii sygnałowych magistrali PCI?
Magistrala PCI posiada zdefiniowanych 49 obowiązujących linii sygnałowych realizujących
funkcje:
a) wyprowadzenia funkcjonalne - wyprowadzenia zegara i przywracania (reset)
b) wyprowadzania adresu i danych - 32 linie multipleksowane adresów i danych oraz linie wykorzystywane do interpretowania i określania ważności linii sygnałowych przenoszących dane i adresy
c) wyprowadzania sterowania interfejsu - koordynowanie transakcji i wspołdziałania między jednostkami inicjującymi a docelowymi
d) wyprowadzania arbitrażowe - każda jednostka nadrzędna PCI ma własną parę linii arbitrażowych łączących ją z arbitrem magistrali PCI
e) wyprowadzania informujące o błędach - informowanie o błędach parzystości
Ponadto magistrala posiada 51 opcjonalnych linii sygnałowych podzielonych na następujące grupy:
a) wyprowadzenia przerwania - przewidziane dla każdego urządzenia muszącego generować zapotrzebowanie na usługę. Własna linia przerwań łącząca ze sterownikiem przerwań
b) wyprowadzenia obsługi pamięci podręcznej
c) wyprowadzenia rozszerzenia magistrali 64-bitowej - 32 linie multipleksowane adresów i danych
d) wyprowadzenia testowania granic JTAG
Omów metody koordynacji czasowej zdarzeń zachodzących na magistrali
Przy koordynacji synchronicznej występowanie zdarzeń na magistrali jest wyznaczone przez zegar. Linia zegarowa magistrali transmituje regularną sekwencję kolejno zmieniających się zer i jedynek o takim samym czasie trwania. Pojedyncza transmisja 1-0 jest nazywana cyklem zegara lub cyklem magistrali. Wszystkie inne urządzenia dołączone do magistrali mogą odczytywać stan linii zegarowej a wszystkie zdarzenia rozpoczynają się równocześnie z cyklem zegara.
Przy koordynacji asynchronicznej zdarzenie na magistrali jest zależne od zdarzenia poprzedniego. Zapewnia to większą elastyczność, ale jest trudniejsze do wdrożenia.
Koordynacja synchroniczna:
łatwiejsza do wdrożenia i testowania
system nie może w pełni wykorzystać postępu w wydajności urządzeń ponieważ wszystkie urządzenia zależą od ustalonej szybkości zegara.
Koordynacja asynchroniczna:
bardziej elastyczna
magistrala może współpracować z urządzeniami o różnych prędkościach wykorzystującymi nowe i stare technologie przesyłania.
Opisz zasadnicze funkcje realizowane przez mostki: północny i południowy chipsetów.
Mostek północny ma za zadanie komunikację z:
- pamięcią operacyjną poprzez magistralę pamięci,
- procesorem za pomocą magistrali FSB (Front Side Bus),
- magistralami AGP, PCI, ISA.
Może także zawierać kontroler grafiki. Musi być ściśle dopasowany do konkretnej platformy.
Innymi słowy mostek północny odpowiada za komunikację pomiędzy procesorem, grafiką i pamięcią.
Mostek południowy zawiera:
- kontrolery napędów ATA,
- kontrolery stacji dyskietek,
- kontrolery USB,
- kontrolery urządzeń wejścia/wyjścia.
Może także zawierać kontrolery dźwięku, dysków SATA, magistrali IEEE 1394 oraz kontrolery kart sieciowych. Może także być wykorzystywany w różnych platformach. Innymi słowy mostek południowy odpowiada za komunikację z urządzeniami zewnętrznymi (np. HDD, FDD, PCI, USB, itp.).
Opisz zasadnicze elementy funkcjonalne i magistrale tworzące mostek północny.
do komunikacji między mostkami, w przypadku nVidii, zastosowano licencjonowaną magistralę AMD, zwaną HyperTransport. Jest to niezwykle wyspecjalizowana szyna danych. Jej szerokość wynosi jedynie 8 bitów (osiem przewodów), co znacznie ułatwia montaż chipsetu na płycie (mniejsza liczba połączeń), lecz zapewnia odpowiedni transfer danych dzięki bardzo szybkiemu taktowaniu.
Magistrala procesor-pamięć, czyli ważna szyna danych łącząca się z chipsetem. Rodzaj taktowania oraz tryb pracy zależy przede wszystkim od rodzaju stosowanej pamięci. Kiedyś były to układy SDRAM, obecnie używa się DDR SDRAM, które pozwalają na pracę w zakresie od 100 do 400 MHz, ale przesył danych jest dwukrotnie szybszy niż w zwykłych pamięciach SDRAM.
Magistrala procesor-chipset odpowiada za komunikację procesora ze światem zewnętrznym i nie może powodować przestojów danych nawet podczas intensywnego wykorzystania centralnej jednostki obliczeniowej.
Szyna AGP - kolejne połączenie z mostkiem północnym. Standard ten wprowadzony przez Intel jako następca złącza PCI był pierwszą magistralą pracującą z szybkością 66 MHz. Ponadto możliwy stał się przesył danych w bardziej efektywny sposób dzięki czemu podwojono transfer.
Ponadto mostek północny budują również:
1) kontrolery pamięci
2) kontroler magistrali systemowej
3) kontroler portu karty grafiki
4) zintegrowana karta graficzna
Jaka jest różnica między pamięciami DRAM i SRAM pod względem budowy oraz zastosowań.
Pamięci RAM można podzielić na:
Statyczne (SRAM):
- wartości binarne są przechowywane za pomocą przerzutnikowych konfiguracji bramek logicznych
- zachowują tak długo dane, jak długo są zasilane
- ulotne
- statyczne pamięci RAM są nieco szybsze niż dynamiczne
Dynamiczne (DRAM):
- wykonane z komórek, które przechowują dane podobnie jak kondensatory przechowują ładunek elektryczny
- wymagają okresowego odświeżania (układów odświeżania)
- ulotne
- dynamiczna pamięć RAM jest gęściej upakowana (mniejsze komórki) i tańsza niż odpowiadająca jej statyczna pamięć RAM
Czym różni się pamięć SDRAM od zwykłej pamięci DRAM?
Technologia synchronicznej pamięci DRAM bazuje na rozwiązaniach stosowanych w pamięciach dynamicznych, zastosowano tu jednak synchroniczne przesyłanie danych równocześnie z taktem zegara. Funkcjonalnie SDRAM przypomina typową DRAM, zawartość pamięci musi być odświeżana. Jednak znaczne udoskonalenia, takie jak wewnętrzny pipelining czy przeplot (interleaving) sprawiają, że ten rodzaj pamięci oferuje bardzo wysoką wydajność. Warto także wspomnieć o istnieniu programowalnego trybu burst, gdzie możliwa jest kontrola prędkości transferu danych oraz eliminacja cykli oczekiwania (wait states).
Omów różnice pomiędzy dostępem do pamięci sekwencyjnym, bezpośrednim a swobodnym?
a) dostęp sekwencyjny -
- dostęp liniowy blok po bloku wprzód lub wtył
- czas dostępu zależy od pozycji bloku względem pozycji bieżącej
- np. taśmy
b) dostęp bezpośredni
- każdy blok ma unikalny adres
- czas dostępu realizowany przez kok do najbliższego otoczenia i sekwencyjne przeszukiwanie
- np. dysk magnetyczny
c) dostęp swobodny
- każdy adresowalna lokacja w pamięci ma unikalny, fizycznie wbudowany mechanizm
adresowania
- czas dostępu nie zależy od poprzednich operacji i jest stały
np.. RAM
Jakie są ogólne zależności pomiędzy czasem dostępu, kosztem pamięci a pojemnością?
W hierarchicznym układzie pamięci występują współzależności między szybkością, pojemnością a kosztem. Takie współzależności występują również kiedy rozpatrujemy organizację komórek pamięci i funkcjonalne układy logiczne zawarte w mikroukładzie. W przypadku pamięci półprzewodnikowych jednym z kluczowych problemów projektowych jest liczba bitów danych, które mogą być jednocześnie zapisywane lub odczytywane. W przypadku organizacji, w której fizyczne uporządkowanie komórek w układzie jest takie samo, jak uporządkowanie logiczne (postrzegane przez procesor) słów w pamięci, komórki są zorganizowane w postaci W słów B-bitowych. Natomiast w przypadku organizacji 1-bitowej w określonym czasie zapisuje się lub odczytuje tylko jeden bit.
Jakie są różnice między odwzorowaniem bezpośrednim, skojarzeniowym i sekcyjno-skojarzeniowym?
Odwzorowanie obszarów (bloków) pamięci głównej w linie pamięci podręcznej:
statyczne - bezpośrednie, direct mapped (każdy blok ma swoją linię)
dynamiczne - skojarzeniowe, fully associative (każdy blok może być odwzorowany w dowolną linię całej pamięci)
dynamiczne - sekcyjno-skojarzeniowe, set associative (każdy blok może być odwzorowany w dowolną linię z pewnej grupy)
Jakie są różnice między pamięciami EPROM, EEPROM a pamięcią błyskawiczną (flash)?
EPROM - odczytywalna i zapisywalna elektrycznie; przed zapisem wszystkie komórki muszą być wymazane
odczytywana i zapisywana elektrycznie
przed operacją zapisu wszystkie komórki muszą być wymazane przez naświetlenie znajdującego się już w obudowie układu promieniowaniem ultrafioletowym
proces wymazywania może być wykonywany wielokrotnie - każde wymazanie trwa ok. 20 minut
nielotna.
Flash Memory - pamięć pośrednia pomiędzy EPROM i EEPROM
wprowadzona po raz pierwszy w połowie lat 80.
wymazywana elektrycznie (nawet w ciagu kilku sekund)
możliwe wymazywanie bloków pamięci zamiast całego mikroukładu
niemożliwe wymazywanie na poziomie bajtów
wysoka gęstość upakowania (jeden tranzystor na bit)
EEPROM - zapisywalna bez wymazywania poprzedniej zawartości
może być zapisywana bez wymazywania poprzedniej zawartości; aktualizowany jest tylko bajt (lub bajty) adresowane
nieulotna
EEPROM jest mniej gęsto upakowana niż EPROM
Czym różni się pamięć ulotna od odświeżanej?
Pamięci ulotne przechowują dane tak długo, jak długo włączone jest ich zasilanie.
Czym jest odświeżanie? Jest to ponowne zapisywanie wcześniej zapisanej w pamięci informacji.
Dlaczego jest to potrzebne? Dlatego, że pamięć DRAM jest zbudowana na kondensatorach, a te z czasem się rozładowują. Czyli po jakimś czasie nasze informacje by zniknęły.
Problemu by nie było, gdybyśmy używali równomiernie całej pamięci, gdyż wtedy wszystkie dane byłyby na bieżąco nadpisywane. Ponieważ jednak tak się nie dzieje, i często jesteśmy w takiej sytuacji, że jakieś informacje czekają dłuższy czas na użycie, to trzeba odświeżać.
Odświeżanie musi się odbywać z dość dużą częstotliwością, tak, aby nie przekroczyć czasu krytycznego - czyli takiego, po którym nie możemy już być pewni, czy zapisana tam informacja jest tą, którą my tam zapisaliśmy.
Warto wziąć pod uwagę to, że odświeżanie może dość skutecznie zająć procesor, któremu zostanie niewiele czasu na zrobienie czegokolwiek innego.
Co to jest bit parzystości? Omów jego wykorzystanie używając wykresu Venna.
Bitem parzystości nazywamy bit kontrolny, który przyjmuje wartość 1, gdy liczba jedynek w przesyłanej wiadomości jest nieparzysta lub 0, gdy odwrotnie. Innymi słowy - bit parzystości sprawia, że wiadomość ma zawsze parzystą liczbę jedynek.
a)przypisujemy 4 bity danych przedziałom wewnętrznym
b)pozostałe przedziały wypełniamy bitami parzystości. Bity parzystości wybieramy tak, że całkowita liczba 1 w każdym okręgu jest parzysta.
c)powstaje błąd
d)sprawdzamy bity parzystości. Jest sprzeczność w okręgach A i C. Dobrze w B. Znamy pozycję złego bitu możemy go poprawić
Omów główne sposoby dostępu do jednostek danych zgromadzonych w pamięci komputera?
To samo co w pyt. 48?
Omów miary wydajności pamięci?
a) czas dostępu:
dostęp swobodny - czas niezbędny do zrealizowania operacji odczytu lub zapisu (od chwili doprowadzenia adresu do chwili zmagazynowania lub udostępnienia danych)
- dostęp nieswobodny - czas potrzebny na umieszczenie mechanizmu odczytu-zapisu w pożądanym miejscu
b) czas cyklu pamięci:
czas dostępu plus dodatkowy czas, który musi upłynąć, zanim będzie mógł nastąpić kolejny dostęp
c) szybkość transferu:
- szybkość z jaką dane mogą być wprowadzane do jednostki pamięci lub z niej wyprowadzane
W przypadku pamięci podręcznej o odwzorowaniu bezpośrednim adres w pamięci głównej składa się z trzech pól. Wymień i zdefiniuj te pola.
Każdy adres pamięci głównej można widzieć jako składający się z trzech pól:
•najmniej znaczące bity określają położenie bajtu w bloku pamięci
•pozostałe s bitów określa jeden z 2S bloków pamięci głównej.
•układy logiczne pamięci podręcznej interpretują te s bitów jako: znacznik - s-r bitów pole linii - r bitów
•to ostatnie pole identyfikuje jeden z m = 2r wierszy pamięci podręcznej
W przypadku pamięci podręcznej o odwzorowaniu skojarzeniowym adres w pamięci głównej składa się z dwóch pól. Wymień i zdefiniuj te pola.
Sterujące układy logiczne pamięci podręcznej interpretują adres pamięci jako znacznik i pole słowa. Pole znacznika jednoznacznie określa blok pamięci głównej. W celu stwierdzenia, czy blok znajduje się w pamięci podręcznej, sterujące układy logiczne pamięci podręcznej muszą jednocześnie zbadać zgodność znacznika każdego wiersza.
W przypadku pamięci podręcznej o odwzorowaniu sekcyjno-skojarzeniowym adres w pamięci głównej składa się z trzech pól. Wymień i zdefiniuj te pola.
Adres przekazywany przez procesor jest rozkładany na trzy składniki:
- Słowo - oznacza miejsce, pozycję danej w linijce cache lub bloku RAM (analogicznie jak w innych sposobach odwzorowania)
- Sekcja - wyznacza jednoznacznie dwie linijki zgrupowane w jednej sekcji, w której dany blok może być odwzorowany.
- Znacznik - jest wykorzystywany do określenia, czy potrzebne procesorowi dane są aktualnie w cache i w której z linijek w sekcji są zapisane. W wypadku pamięci dwudrożnej w celu określenia trafienia należy dokonać dwóch porównań znaczników.
63) Opisz algorytm zastępowania LRU. Czy łatwo go zaimplementować?
Algorytm LRU (last recently used - najdawniej używany) - algorytm określa, że należy zastąpić ten blok w sekcji który pozostawał w pamięci podręcznej najdłużej bez odwoływania się do niego.
66) Podaj zasadę lokalności odniesień. Jak zasada lokalności odniesień wiąże się z użyciem wielu poziomów pamięci podręcznej?
Przydatność pamięci podręcznej zależy od stopnia lokalności odniesień do danych w programie:
- lokalność czasowa: dane raz użyte niedługo zostaną użyte ponownie (warto je zachować w szybszej pamięci)
- lokalność przestrzenna: jeśli w programie użyto jakichś danych to za chwilę zostaną użyte dane sąsiadujące w pamięci (warto pobierać do pamięci podręcznej całe bloki)
Miarą lokalności odniesień w trakcie wykonywania programu jest współczynnik trafień (hit ratio) czyli proporcja trafień do chybień.
- Zastosowanie pamięci podręcznej przynosi zazwyczaj wzrost zazwyczaj wydajności, gdyż wiele programów ma w sposób naturalny wysoki stopień lokalności odniesień (w praktyce stosunek trafień do chybień sięga nawet powyżej 90%)
- Chcąc zwiększać wydajność programów dzięki optymalnemu wykorzystaniu pamięci podręcznej należy maksymalizować stopień lokalności odniesień w kodzie (grupować odniesienia do tych samych i sąsiadujących danych w jedno miejsce)
69) Wymień i omów trzy ogólne klasyfikacje urządzeń zewnętrznych. Jakie są główne funkcje modułu wejścia-wyjścia? Jakie są przesłanki wskazujące na niezbędność modułu wejścia-wyjścia?
Kategorie urządzeń zewnętrznych:
- Przeznaczone do odczytywania przez człowieka - drukarki, terminale wizyjne
- Przeznaczone do odczytywania przez maszynę - dyski i taśmy magnetyczne, czujniki
- Komunikacyjne - odpowiednie do komunikowania się z odległymi urządzeniami
Rodzaje urządzeń zewnętrznych:
- wejściowe: klawiatura, mysz, dysk, skaner
- wyjściowe: monitor ekranowy, drukarka
- komunikacyjne: modem, karta sieciowa
Główne funkcje modułu wejścia-wyjścia:
* Sterowanie i taktowanie
- koordynowanie przepływu informacji między zasobami wewnętrznymi a urządzeniami zewnętrznymi
- w dowolnym przedziale czasu procesor może komunikować się z jednym lub wieloma urządzeniami zewnętrznymi wg nieprzewidywalnego schematu, zależnie od potrzeb programu w odniesieniu od wejścia lub wyjścia
- Zasoby wewnętrzne, takie jak pamięć główna i magistrala systemowa, mogą być wykorzystywane wspólnie przez różne operacje, w tym operacje we-wy danych. Jeśli system wykorzystuje magistralę, to każde z oddziaływań między procesorem a modułem we-wy wymaga jednego lub wielu arbitraży magistralowych
- Układ we-wy musi koordynować przepływ informacji między zasobami wewnętrznymi a urządzeniami zewnętrznymi
- Może być potrzebny oddzielny zegar taktujący przesyłanie danych do/z urządzenia zewnętrznego
- Sygnały sterujące sprawdzają i ustawiają odpowiedni stan urządzenia
* Komunikacja z procesorem
- Dekodowanie rozkazu, przesyłanie danych oraz informacji o stanie, rozpoznawanie adresu urządzeń peryferyjnych.
* Komunikacja z urządzeniem zewnętrznym
- Rozkazy, informacje o stanie, dane
* Buforowanie danych
- różne prędkości transferu danych do i z pamięci głównej lub procesora oraz urządzeń peryferyjnych.
* Wykrywanie błędów
- Defekty mechaniczne lub elektryczne
- Zmiana wzoru bitowego danych (kody korekcyjne, bit parzystości).
Na konieczność funkcjonowania modułu wskazują:
- znaczna różnorodność urządzeń peryferyjnych
- mniejsza szybkość transmisji danych do i z urządzeń peryferyjnych w porównaniu z procesorem lub w niektórych przypadkach odwrotnie (niedopasowanie szybkości)
- różnorodność formatów danych i długości słów wykorzystywana przez urządzenia peryferyjne.
71) Omów budowę i zasady działania klawiatury
Razem z monitorem najbardziej powszechny środek współpracy między komputerem a użytkownikiem. Podstawową wymienianą jednostką jest znak. Z każdym znakiem wiąże się kod, zwykle o długości 7 do 8 bitów. Najczęściej używanym kodem jest kod 7-bitowy nazywany ASCII. Każdy znak w tym kodzie reprezentowany jest przez unikalny 7-bitowy kod binarny. Możliwe jest więc reprezentowanie 128 różnych znaków. W kodzie tym występują 2 typy znaków:
- drukowalne - znaki alfabetu, cyfry i znaki specjalne, które mogą być drukowane na papierze lub wyświetlana na ekranie
- kontrolne - niektóre znaki kontrolne są używane przy drukowaniu lub wyświetlaniu znaków np. znak powrotu karetki; inne znaki kontrolne związane są z procedurami komunikacyjnymi.
W przypadku wejścia z klawiatury naciśnięcie klawisza powoduje:
Wygenerowanie sygnału elektrycznego, który jest interpretowany przez przetwornik w klawiaturze i tłumaczony na wzór bitowy odpowiedniego kodu ASCII
Wzór bitowy jest następnie transmitowany do modułu we-wy w komputerze. W samym komputerze tekst może być przechowywany w tym samym kodzie ASCII.
W przypadku wyjścia:
Kody ASCII znaków są transmitowane z modułu we-wy do urządzenia zewnętrznego.
Przetwornik w tym urządzeniu interpretuje kod i wysyła niezbędne sygnały elektryczne do urządzenia wyjściowego w celu albo wyświetlenia, albo wykonania wymaganej funkcji sterującej.
72) Wymień i opisz dokładnie trzy techniki realizowania operacji we-wy.
1. Programowane wejście-wyjście - (wszystkim steruje procesor) dane są wymieniane między procesorem a modułem we-wy. Procesor wykonuje program, który umożliwia mu bezpośrednie sterowanie operacją we-wy, włącznie z rozpoznawaniem stanu urządzenia, wysyłaniem rozkazu odczytu lub zapisu oraz transferem danych. Gdy procesor wydaje rozkaz modułowi we-wy, musi poczekać na zakończenie operacji we-wy. Jeśli procesor jest szybszy niż moduł we-wy, oznacza to stratę czasu procesora.
2. Wejście-Wyjście sterowane przerwaniami - (procesor zajmuje się obsługą urządzeń które zgłaszają stan przerwania) procesor wydaje rozkaz we-wy, po czym wykonuje inne rozkazy, co z kolei ulega przerwaniu przez moduł we-wy, gdy zakończył on swoją pracę.
3. Bezpośredni dostęp do pamięci - moduł we-wy i pamięć główna wymieniają dane bezpośrednio, bez angażowania procesora. Jest to rozwiązanie alternatywne w stosunku do dwóch pierwszych gdzie zarówno w przypadku programowego we-wy, jak i sterowanego przerwaniami procesor jest odpowiedzialny za pobieranie danych z pamięci głównej (wyjście) oraz zapisywanie ich w tej pamięci (wejście).
Omów działanie modułu DMA. Gdy moduł ten przejmuje kontrole nad magistralą i ją zachowuje, co wówczas robi procesor?
Działanie DMA.
Dodatkowy układ DMA przejmuje od procesora sterowanie urządzeniami wejścia-wyjścia i ma bezpośredni dostęp do pamięci.
Procesor wydaje rozkazy układowi DMA, podając informacje:
* rodzaj operacji: odczyt lub zapis
* adres urządzenia wejścia-wyjścia
* adres pamięci przeznaczonej dla operacji
* liczbę bajtów (słów) do odczytania/zapisania
Omów strukturę i zasadę działania interfejsu równoległego SCSI.
Small Computer System Interface - równoległa magistrala danych przeznaczona do przesyłania danych między urządzeniami.
wszystkie urządzenia podłączone do magistrali są równorzędne, każde z nich może pełnić rolę zarówno inicjatora (rozpoczynać operację) jak i celu (wykonywać operację zleconą przez inicjator). Niektóre urządzenia potrafią pełnić tylko jedną z ról.
SCSI jest lokalną magistralą wejścia-wyjścia w systemach komputerowych wykorzystywaną do dołączania napędów dyskowych, stacji taśm magnetycznych, skanerów i innych podobnych urządzeń. W ramach przyjętego standardu zmiana rodzaju i konfiguracji urządzeń peryferyjnych jest możliwa bez wymiany podstawowego sprzętu i oprogramowania systemowego.
Do magistrali można dołączyć kilka jednostek inicjujących czyli urządzeń SCSI mogących zainicjować proces we-wy oraz kilka jednostek docelowych czyli urządzeń wybieranych do wykonania operacji. W systemach SCSI, przy ubieganiu się o dostęp do magistrali, stosowany jest mechanizm rozproszonego arbitrażu.
W ten sposób urządzeniom inicjującym umożliwiono współbieżne prowadzenie procesów wejścia-wyjścia. Od wszystkich urządzeń SCSI wymaga się zdolności do asynchronicznego przesyłania informacji. Dodatkowo - ale wyłącznie w fazie transmisji danych - może być stosowany tryb synchroniczny.
W zależności od sposobu realizacji połączeń magistralowych sygnały przesyłane są względem wspólnej masy lub różnicowo.
Struktura rozkazów podzielona jest na trzy kategorie: obowiązkowe, dodatkowe i specyfikowane przez producenta. Urządzenia SCSI powinny realizować wszystkie rozkazy obowiązkowe przewidziane dla danego typu urządzenia, a ponadto mogą reagować na inne polecenia potrzebne do ich obsługi.
W zdefiniowanym zestawie rozkazów znalazły się i takie, które umożliwiają systemom operacyjnym pobieranie - od dołączonych urządzeń SCSI informacji niezbędnych do automatycznego zainicjowania ich pracy. Sformalizowana sekwencja zgłoszeń identyfikuje typ urządzenia, jego charakterystyki oraz wszystkie ustawiane parametry. Kolejne zgłoszenia określają gotowość urządzenia do pracy, typ jego nośników informacji i inne związane z urządzeniem dane.
W znakomitej większości konfiguracji do magistrali poprzez kontroler podłączony jest jeden komputer oraz urządzenia pamięci masowej (dyski twarde oraz napędy taśmowe). Każde z urządzeń podłączonych do magistrali SCSI posiada unikalny w obrębie magistrali adres - identyfikator (ang. SCSI ID).
Omów strukturę i zasadę działania interfejsu szeregowego FireWire.
FireWire to standard łącza szeregowego umożliwiającego szybką komunikację i synchroniczne usługi w czasie rzeczywistym. Jest zdefiniowany w dokumencie IEEE 1394. Choć w swojej filozofii jest podobny do USB to przeznaczony jest do zastosowań bardziej profesjonalnych, tzn. do takich gdzie transmisja na poziomie 12 Mbps jest niewystarczająca.
FireWire jest powszechnie używany do łączenia kamer wideo i urządzeń pamięci masowej. Stosuje się go zamiast popularniejszego USB z powodu większej szybkości transmisji oraz dlatego, że nie wymaga użycia komputera. Nie ma również konieczności wysyłania sygnałów potwierdzających aktywność urządzenia po drugiej stronie.
FireWire odmiennie niż USB zarządza magistralą - nie wymaga kontrolera magistrali czyli hosta. W standardzie USB magistralą zarządza kontroler (host), na jednej magistrali może pracować tylko jeden host i jest nim zawsze komputer. W FireWire urządzenia są równouprawnione, co pozwala na transmisję bezpośrednio pomiędzy urządzeniami dołączonymi do magistrali, bez pośrednictwa komputera. Dzięki temu możliwe jest z jednej strony łączenie przy pomocy magistrali FireWire kilku komputerów ze sobą, z drugiej strony możliwa jest bezpośrednia komunikacja między urządzeniami, na przykład przesyłanie danych pomiędzy skanerem i drukarką bez używania pamięci lub procesora komputera.
Zalety FireWire:
cyfrowa transmisja - standard nie wymaga konwersji sygnału cyfrowego w postać analogową i odwrotnie. Oznacza to lepszą jakość sygnału i brak jakichkolwiek zakłóceń.
Małe rozmiary - transmisja odbywa się po cienkim, szeregowym kablu
prostota użycia - nie jest wymagana praktycznie żadna instalacja ani konfiguracja sprzętu czy oprogramowania
hot plug and play - urządzenia zgodne z IEEE-1394 mogą być podłączane bądź odłączane podczas pracy; nie wymagają również restartu komputera.
Skalowalność - obsługa urządzeń transmitujących z prędkością 100,200, 400 megabajtów na sek.
elastyczność - urządzenia na magistrali mogą być w dowolny sposób łączone między sobą
szybkość - standard oferuje izochroniczną transmisję danych co w połączeniu z dużą prędkością magistrali powoduje, że jest idealny w zastosowaniach video oraz audio.
Omów strukturę i zasadę działania interfejsu szeregowego USB.
(Universal Serial Bus - uniwersalna magistrala szeregowa).
USB to rodzaj sprzętowego portu komunikacyjnego komputerów, zastępującego stare porty szeregowe i porty równoległe. Jest uniwersalny w tym sensie, że można go wykorzystać do podłączenia do komputera wielu różnych urządzeń. Urządzenia podłączane w ten sposób mogą być automatycznie wykrywane i rozpoznawane przez system, przez co instalacja sterowników i konfiguracja odbywa się w dużym stopniu automatycznie. Możliwe jest także podłączanie i odłączanie urządzeń bez konieczności wyłączania czy ponownego uruchamiania komputera.
Zalety USB:
prosta eksploatacja - podłączamy i gotowe. Urządzenia USB można podłączać i odłączać przy włączonym komputerze. System operacyjny rozpoznaje urządzenie i najczęściej ma pasujący do niego sterownik. Nie ma również ryzyka pomylenia wtyków lub niewłaściwego ich podłączenia.
Wszechstronność - większość pecetów ma kilka gniazd USB, umieszczonych z przodu, z boku i z tyłu obudowy.
Szybkość - w USB 2.0 dane pędzą przez przewody z prędkością 480 MB/s
uniwersalność: praktycznie każdy komputer zbudowany w ciągu ostatnich 10 lat wyposażony jest w gniazdo USB
zasilanie - może zasilać urządzenia o niewielkim zużyciu prądu
prosta budowa - w centrum zawsze znajduje się komputer, do którego podłączone jest urządzenie USB. Urządzenie wymienia dane bezpośrednio z pecetem.
Komputer pełni funkcję tzw. hosta USB. Jako gospodarz pyta on regularnie wszystkie podłączone przez USB urządzenia, tak zwanych klientów, czy są nowe dane do transmisji. Goście sami z siebie nie mogą wysyłać żadnych danych. Ta procedura zwana jest pollingiem (ang. odpytywanie).
Omów różnice pomiędzy monitorami LCD oraz CRT.
CRT (z ang. Cathode-Ray Tube) - oznaczenie kineskopu z działem elektronowym. W języku polskim pod tym słowem przyjęto potoczną nazwę skrótową, synonim dla wyrażenia: monitor CRT - czyli oznaczenie dla modeli monitorów komputerowych, których ekran oparty jest na kineskopie.
Właściwe określenie to monitory kineskopowe.
W monitorach tego rodzaju do wyświetlania obrazu używa się wiązki elektronów wystrzeliwanej z działa elektronowego (najczęściej katoda), która odchylana magnetycznie (przy pomocy cewek odchylania poziomego i pionowego) pada na luminofor, powodując jego wzbudzenie do świecenia.
Wyświetlacz ciekłokrystaliczny, LCD (ang. Liquid Crystal Display) - urządzenie wyświetlające obraz, którego zasada działania oparta jest na zmianie polaryzacji światła na skutek zmian orientacji cząsteczek ciekłego kryształu pod wpływem przyłożonego pola elektrycznego.
Wszystkie rodzaje wyświetlaczy ciekłokrystalicznych składają się z czterech podstawowych elementów:
komórek, w których zatopiona jest niewielka ilość ciekłego kryształu
elektrod, które są źródłem pola elektrycznego działającego bezpośrednio na ciekły kryształ
dwóch cienkich folii, z których jedna pełni rolę polaryzatora a druga analizatora.
źródła światła
Zasadę działania wyświetlacza najłatwiej jest prześledzić na przykładzie pasywnego wyświetlacza odbiciowego, z fazą nematyczną, skręconą. W wyświetlaczu tym światło wnikające do niego jest wstępnie polaryzowane pionowo przez filtr polaryzacyjny (1). Następnie światło przechodzi przez szklaną elektrodę (2) i warstwę ciekłego kryształu (3). Specjalne mikrorowki na elektrodach (2 i 4) wymuszają takie uporządkowanie cząsteczek tworzących warstwę ciekłokrystaliczną, aby przy wyłączonej elektrodzie nastąpiło obrócenie polaryzacji światła o 90°. Dzięki temu światło może przejść przez folię (5) pełniącą rolę analizatora światła, która przepuszcza tylko światło spolaryzowane poziomo, odbić się od lustra (6), przejść ponownie przez analizator (5), ulec ponownej zmianie polaryzacji o 90° na warstwie ciekłego kryształu i ostatecznie opuścić bez przeszkód wyświetlacz, przez górną folię polaryzacyjną. Po przyłożeniu napięcia do elektrod, generowane przez nie pole elektryczne wymusza taką zmianę uporządkowania cząsteczek w warstwie ciekłego kryształu, że nie obraca ona polaryzacji światła. Powoduje to, że światło nie przechodzi przez analizator, co daje efekt czerni.
Monitor CRT
obszar faktycznie wykorzystywany jest mniejszy od nominalnego, np. monitor 15" faktycznie ma ekran od ok. 13,8" do 14" (w zależności od producenta)
posiada mniejszą plamkę i bezwładność, dla monitorów CRT już w połowie lat 90. (1994-1996) wycofano z produkcji monitory z plamką powyżej 0.28 (przekątna plamki), z handlu takie monitory zniknęły kilka lat później
posiada lepsze odwzorowanie kolorów
są większe, obecnie monitory 14" już nie występują, a monitory 15" są już prawie całkowicie wycofane z rynku (pozostały tylko nieliczne z bardzo dobrymi parametrami, UVGA i XVGA z plamką poniżej 0,25 mm)
dominują monitory CRT 17" i 19"
rozdzielczość można ustawiać dynamicznie bez problemów związanych ze skalowaniem
monitory CRT są ciężkie, zajmują dużo miejsca, ale cały czas są niezastąpione dla profesjonalnych aplikacji CAD/CAM
obraz jest widoczny pod każdym kątem (nie ma efektu zanikania obrazu przy patrzeniu pod ostrym kątem z boku)
nie występuje charakterystyczny dla większości obecnych matryc LCD problem z wyświetlaniem koloru czarnego
przez wielu graczy nadal uważany jest za lepszy, zwłaszcza w grach typu FPP.
Monitor LCD
jest zdecydowanie mniejszy gabarytowo niż CRT
zużywa mniej prądu
jest wolny od efektu migotania
w pierwszych modelach ekranów LCD występuje tzw. efekt smużenia, co oznacza, że niepoprawnie wyświetlany jest szybko zmieniający się obraz (filmy, gry)
nie odkształca obrazu - obraz jest odwzorowywany na niemal płaskiej powierzchni
optycznie ma większą przekątną niż analogiczne monitory CRT (np. LCD 15" jest w przybliżeniu równy CRT 16,5"), ze względu na to, że nie ma tzw. martwego pola
generuje słabsze pole magnetyczne i według wielu użytkowników, jest mniej szkodliwy dla wzroku.
czas reakcji jest nieporównywalnie większy niż w monitorach CRT (istnieją monitory LCD o porównywalnym do CRT czasie reakcji, jednak są to modele z najwyższej półki z matrycami MVA i PVA, chociaż popularyzują się i tanieją bardzo szybko). Wysoki czas reakcji wiąże się ze smużeniem (opisanym w punkcie 4).
większość modeli LCD, zwłaszcza matryce typu TN, nie potrafi poprawnie odwzorować czerni na monitorze (jest to spowodowane koniecznością podświetlania powierzchni monitora od tyłu na całej powierzchni ekranu). Matryce typu IPS mają głębszą czerń.
w małej części modeli LCD czasami pojawiają się martwe piksele, które odwracają uwagę od wyświetlanego obrazu - nie zawsze powracają do normy.
Egzamin
9) Opisz strukturę i podstawowe funkcje karty graficznej.
Podstawowym zadaniem karty graficznej jest:
przechowywanie informacji o tym jak powinien wyglądać obraz na ekranie monitora
odbiór i przetwarzanie otrzymywanych od komputera informacji o obrazie
odpowiednie wyświetlanie tegoż obrazu za pośrednictwem monitora
Budowa karty graficznej:
Większość kart graficznych (i wszystkie współczesne) składają się z następujących elementów:
Procesor graficzny (GPU) - odpowiedzialny za generowanie obrazu w pamięci obrazu
Pamięć obrazu - bufor ramki (ang. framebuffer) - przechowuje cyfrowe dane o obrazie, tekstury, dane geometrii sceny, etc
Pamięć ROM - pamięć przechowująca dane (np. dane generatora znaków) lub firmware karty graficznej, obecnie realizowana jako pamięć flash EEPROM
RAMDAC (ang. Digital-to-Analog Converter) przetwornik cyfrowo-analogowy - odpowiedzialny za przekształcenie cyfrowych danych z pamięci obrazu na sygnał sterujący dla monitora analogowego; w przypadku kart wyłącznie z wyjściem cyfrowym RAMDAC nie ma zastosowania.
Interfejs do systemu komputerowego - umożliwia wymianę danych i sterowanie kartą graficzną - zazwyczaj PCI, AGP, PCI-Express
Wiele z kart graficznych posiada także:
Framegrabber - układ zamieniający zewnętrzny, analogowy sygnał wideo na postać cyfrową (tylko w kartach posiadających przechwytywanie obrazu)
Procesor wideo - układ wspomagający dekodowanie i przetwarzanie strumieniowych danych wideo; w najnowszych konstrukcjach zintegrowany z procesorem graficznym.
Najważniejsze funkcje:
- Technologia przetwarzania i oświetlenia (Transform and Lighting), T&L - W karcie graficznej jest odpowiedzialny za przyspieszanie obliczeń animacji. Jego brak obciąża procesor, przez co znacznie zmniejsza się płynność renderowania grafiki trójwymiarowej. Technologię T&L obecnie zastępuje cieniowanie (Shader)
- Shader (cieniowanie) - Program opisuje właściwości pikseli oraz wierzchołków. Cieniowanie pozwala na skomplikowane modelowanie oświetlenia i tekstur na. Jest jednak wymagające obliczeniowo i dlatego dopiero od kilku lat sprzętowa obsługa cieniowania jest obecna w kartach graficznych dla komputerów domowych. Biblioteki graficzne Direct3D i OpenGL używają trzech typów cieniowania:
Vertex Shader (Cieniowanie wierzchołkowe)
Geometry Shader (cieniowanie geometryczne)
Pixel Shader lub Fragment Shader (cieniowanie pikseli)
Obecnie, z uwagi na wymagania bibliotek DirectX w wersji 10, zniknął podział panujący dotychczas na Pixel i Vertex Shader. Obliczenia, jakimi te odrębne jednostki się zajmowały, są teraz wykonywane przez jednolite jednostki obliczeniowe, które są dynamicznie przydzielane do takiego typu obliczeń, jaki jest aktualnie potrzebny. Rozwiązanie takie zostało nazwane przez ATI Stream Processors a przez nVidię Unified Shaders.
- HDR rendering, rendering z użyciem szerokiego zakresu dynamicznego (High Dynamic Range Rendering) - Sposób generowania sceny trójwymiarowej przy użyciu większego niż normalnie zakresu jasności. Efektem tej technologii jest scena z realistycznym oświetleniem.
- Antyaliasing - Technologia wygładzanie krawędzi (łuków, okręgów oraz innych krzywych) poprzez nałożenie dodatkowych pikseli o mniejszym nasyceniu i jasności niż piksele obiektu oraz poprzez niewielką zmianę położenia pikseli w pobliżu krawędzi. Ze względu na coraz większe rozdzielczości monitorów (a tym samym mniejsze rozmiary plamek) antyaliasing nie jest już tak potrzebny. Szacuje się że za jakiś czas nie będzie już potrzebny.
- Efekty cząsteczkowe - Symulacje zjawisk (takich dym, pył, deszcz, ogień) budowanych z małych wirtualnych cząsteczek traktowanych jak obiekty punktowe które podlegają prawom fizyki oraz interakcji z otoczeniem.
- Mapowanie wypukłości (bump mapping) - Sposób teksturowanie obiektów symulujący wypukłości powierzchni, bez ingerencji w geometrię obiektu trójwymiarowego. Efektem może być gładka kula wyglądająca jak by była nierówna.
- Filtrowanie anizotropowe - Technika filtrowania tekstur poprawiająca ich jakość.
Wymień podstawowe funkcje systemu 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
kontroluje zasilanie jak również monitoruje temperaturę płyt głównych
Na czym polega test POST wykonywany przez BIOS?
POST (ang. Power-On Self Test) - rodzaj testu poprawności działania podstawowych podzespołów komputera, routera czy drukarki wykonywanego przy każdym uruchomieniu lub restarcie.
Test POST jest przeprowadzany w kilku fazach. Faza pierwsza to sprawdzenie obecności i prawidłowości działania układów niezbędnych do działania komputera. Na tym etapie nie jest dostępna jeszcze żadna karta rozszerzenia i błędy są komunikowane przez miniaturowy głośnik (ang. PC speaker) umieszczony w obudowie jednostki systemowej. W pierwszej kolejności jest testowana poprawność pracy procesora, później pamięci RAM i następnie karty graficznej. Niepomyślny wynik POSTu skutkuje serią odgłosów wydanych przez głośnik. Odgłosy te, a dokładniej ich ilość i czas trwania są kodem błędu. Korzystając z instrukcji obsługi możemy ustalić, co jest przyczyną problemów. Nowoczesne płyty główne zamiast używania dość niewygodnego kodu dźwiękowego informują o rezultacie testu POST za pomocą kolorowych diod LED lub wyświetlacza siedmiosegmentowego umieszczonego na płycie głównej. Inne rozwiązanie to komunikaty głosowe (nagrane przez lektora i zapisane w specjalnym układzie scalonym na płycie głównej). Kolejny etap testu POST wykonywany już po zainicjowaniu większości podzespołów składa się z testu pamięci RAM oraz testu dysków twardych. Gdy test POST zostanie zakończony i nie zostaną znalezione żadne błędy komputer wyda pojedynczy pisk (ang. beep) (rzadziej dwa) i rozpocznie procedurę uruchamiania systemu operacyjnego.
Zasadnicze kroki procedury uruchamiania komputera i ładowania systemu operacyjnego.
1) Rejestry CS i IP świeżo uruchomionego procesora zawierają wartości F000 i FFF0. W komputerach osobistych ten adres wskazuje na obszar zarezerwowany dla BIOSu; również później wykonywany kod nie wychodzi poza ten obszar. Procesor jako pierwszą wykonuje instrukcję spod adresu F000:FFF0, czyli szesnaście bajtów przed górnym krańcem pamięci w trybie rzeczywistym. W tym momencie rozpoczyna się tzw POST.
2) Aby upewnić się, że komputer jest sprawny, BIOS przeprowadza test wszystkich podzespołów i w razie błędu daje o tym znać użytkownikowi. Jeżeli błąd przy testowaniu nastąpi po przygotowaniu do pracy karty graficznej, na ekranie wypisywany jest odpowiedni komunikat. Błędy ze wcześniejszej fazy są przedstawiane przy pomocy systemowego głośnika.
3) Ładowanie systemu operacyjnego. Po zakończeniu testowania, BIOS wywołuje przerwanie 0x19. Kod, do którego przekazywane jest sterowanie, próbuje załadować pierwszy sektor z zerowej ścieżki aktualnego urządzenia uruchamiającego do pamięci. W razie powodzenia sytuacji jest on zamieszczony pod adresem 0000:7C00. Następnie BIOS skacze pod ten adres.
4) Jeżeli ładowanie systemu nie powiedzie się z powodu braku sektora startowego wywoływane jest przerwanie 0x18. Wyświetlany jest tekst: „No Boot device available” i nie można nic zrobić.
Podaj definicje: grafika rastrowa i grafika wektorowa.
Grafika wektorowa - sposób opisu obrazu oparty na formułach matematycznych. W przeciwieństwie do tradycyjnej grafiki bitmapowej (opierającej się na zapamiętywaniu koloru i położenia pojedynczych pikseli), grafika wektorowa zachowuje informacje o tworzących kształty obiektów liniach oraz krzywych - włączając ich położenie oraz barwę.
Grafika rastrowa - obrazy tworzone są z położonych regularnie, obok siebie pikseli. Posiadają one różne kolory lub odcienie jasności. Tworzone w ten sposób obrazy zwykło się nazywać mapami bitowymi.