Sciaga - Architektura, ●Architektura


Architektura komputera - to te atrybuty systemu , które są widzialne dla programisty - mają bezpośredni wpływ na wykonywanie programu; np. Lista rozkazów, rozmiar reprezentacji tyów danych, mechanizmy wejścia/wyjścia, metody odwzorowywania pamięci. Ze względu na sposób organizacji pamięci i wykonywania programu można wyróżnić: Architekturę von Neumanna i Harvardzką Organizacja komputera - dotyczy jednostek operacyjnych systemu i ich połączeń, które dotyczą specyfikacji typu komputera; przykładowe atrybuty: sygnały sterujące, interfejsy komputer/urządzenia peryferyjne, wykorzystywana technologia pamięci Struktura komputera - sposób wzajemnego powiązania składników; funkcje określające współdziałanie poszczególnych składników Cztery podstawowe funkcje komputera: przetwarzanie danych, przechowywanie danych (krótkotrwałe - do czasu wyłączenia napięcia oraz długotrwałe), sterowanie obsługa transferu (źródło › odbiornik)Jednostka centralna (CPU, Central Processing Unit) - steruje komputerem; przetwarza dane; inaczej: główny procesor w danym systemie komputerowym Jednostka sterująca: tam rozkazy i dane dekodowane na sygnał elektryczny, sygnały wytwarzane w sekwencjiALU - jednostka arytmetyczno - logiczna; arithmetic logic unit; część CPU odpowiedzialna za wykonywanie operacji arytmetycznych jak dodawanie i mnożenie oraz wszystkich operacji porównania v.N.:przedstawiona po raz pierwszy w 1945, skończona i funkcjonalnie pełna lista rozkazów w systemie, dane i instrukcje jednakowo dostępne dla procesora, jedynym źródłem danych dla procesora jest pamięć główna, wykonanie rozkazu jest inicjowane przez pobranie z pamięci słowa interpretowanego jako instrukcja, nie pozwala na jednoczesne pobieranie danych i sygnałów, 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ść H.: zwiększona wydajność przetwarzania, podział pamięci na pamięć rozkazów i pamięć danych Organizacja pamięci: jednakowe komórki o tym samym rozmiarze, w każdej jedno słowo bitowe (np. 1, 16 lub 32 bity), kod słowa nie pozwala odróżnić rozkazu od danej, istnieje jednoznacznie unikatowy adres każdej komórki - wskaźnik lokacji Program = sekwencja instrukcji w chwili wykonywania instrukcji znany jest adres lub sposób wyznaczenia adresu, następnej instrukcji, jeżeli instrukcje znajdują się w kolejnych lokacjach - wówczas możliwe jest automatyczne adresowanie, układ wytwarzający adres kolejnego rozkazu to licznik rozkazów Tryb przerwań asynchronicznych - zdolność procesora do reagowania na wydarzenia które mogą wystąpić w dowolnym momencie czasu W celu zwiększenia dynamiki adresowania: tworzy się pamięci wirtualne, upraszcza wywoływanie procedur, dopuszcza rekursję, wprowadza nowe typy danych (np. liczby zmiennoprzecinkowe), poprawia się mechanizmy sterowania, ulepsza się procesy wymiany danych, wprowadza się nowe zasady przetwarzania informacji(np. przetwarzanie ewolucyjne w sieciach neuronowych)Algorytmy ewolucyjne: naśladują procesy zachodzące w populacji osobników ewoluujących w pewnym środowisku. Osobniki charakteryzują się zestawem cech, który determinuje ich jakość w sensie zdolności do zwiększania swego udziału w populacji w kolejnych pokoleniach. Przy ustaleniu odpowiedniej funkcji miary 'jakości' osobnika, możemy uruchomić algorytm, aby obliczyć rozwiązanie (zwykle przybliżone) jakiegoś problemu optymalizacyjnego (w szczególności może to być także zadanie wyszukiwania). Automat skończony: to maszyna o skończonej liczbie stanów, która zaczynając w stanie początkowym czyta kolejne symbole pewnego słowa. Po przeczytaniu każdego symbolu zmienia ona swój stan na stan będący elementem zbioru, który jest wartością funkcji przejścia. Jeśli po przeczytaniu całego słowa maszyna znajduje się w którymś ze stanów oznaczonych jako akceptujące (końcowe), mówimy że automat akceptuje czytane słowo i należy ono do jego języka regularnego. Maszyna Turinga - stworzony przez Alana Turinga abstrakcyjny model komputera służący do wykonywania algorytmów. Maszyna Turinga składa się z nieskończenie długiej taśmy podzielonej na pola. Taśma może być nieskończona jednostronnie lub obustronnie. Każde pole może znajdować się w jednym z N stanów. Maszyna zawsze jest ustawiona nad jednym z pól i znajduje się w jednym z M stanów. Zależnie od kombinacji stanu maszyny i pola maszyna zapisuje nową wartość w polu, zmienia stan i przesuwa się o jedno pole w prawo, w lewo lub pozostaje na miejscu. Taka operacja nazywana jest rozkazem. Maszyna Turinga jest sterowana listą zawierającą dowolną ilość takich rozkazów. Liczby N i M mogą być dowolne, byle skończone. Czasem dopuszcza się też stan (M+1)-szy, który oznacza zakończenie pracy maszyny. 20.Cykl (komputera/pamięci/procesora) - czas pomiędzy kolejnymi zmianami stanu

komputera/pamięci/procesora. Procesor wykonuje rozkazy w kolejnych cyklach w następującej kolejności:1. Fetch F - pobranie rozkazu z pamięci 2. Decode D - zdekodowanie słowa w dekoderze 3. Read R - odczyt argumentu rozkazu 4. Execute E - wykonanie rozkazu 5. Write W - zapamiętanie wyniku Rysunek procesora: SP - wskaźnik stosu / stack pointer MAG - układ wytwarzania adresów / memory address generator CR - rejestr warunków / condition registry R - rejestry TMP/R - rejestry tymczasowe IR - rejestr rozkazów / instruction registry AR - rejestr adresów / address registry PC - program counter DECODER - dekodery Przerzutniki - elementy pamiętające - są podstawowymi elementami służącymi do budowy układów sekwencyjnych. Istnieje jeden typ przerzutnika asynchronicznego, mianowicie RS, zaś wśród synchronicznych wyróżnia się przerzutniki typu: D T JK JK-MS (JK Master-Slave) We wszystkich przerzutnikach synchronicznych można wyróżnić następujące końcówki: • wejście zegarowe C • wyjście Q (oraz jego zanegowana wartość) • wejścia asynchroniczne zerujące (Reset) i ustawiające (Set) • stosowne dla danego typu przerzunika wejście/wejścia Wejścia asynchroniczne - o ile występują - służą do zmiany wyjścia Q niezależnie od wejścia zegarowego. Za pomocą każdego przerzutnika synchronicznego można zrealizować wszystkie inne. 24.Przesunięcie bitowe - operacja na liczbie zapisanej w systemie dwójkowym; przesunięcie w prawo jest równoznaczne z całkowitoliczbowym podzieleniem przez 2 i polega na zastąpieniu każdego bitu liczby przez bit starszy o jedną pozycję oraz dodanie zera na bicie najstarszym; przesunięcie w lewo natomiast jest równoznaczne z pomnożeniem przez dwa i jest operacją analogicznie odwrotną. 25.Multiplekser - należy do klasy układów kombinacyjnych; schemat: Posiada k wejść, n wejść adresowych (zazwyczaj k=2n) i jedno wyjście y. Jego działanie polega na połączeniu jednego z wejść xi z wyjściem y. Numer wejścia jest określany przez podanie jego numeru na linie adresowe A. Jeśli na wejście strobujące (blokujące) S (ang. strobe) podane zostanie logiczne zero, to wyjście y przyjmuje określony stan logiczny, niezależny od stanu wejść X i A. Demultiplekser - jest układem posiadającym jedno wejście x, n wejść adresowych, oraz k wyjść (zazwyczaj k=2n) Jego działanie polega na połączeniu wejścia x do jednego z wyjść yi. Numer wyjścia jest określany przez podanie jego numeru na linie adresowe a0... an-1. Na pozostałych wyjściach panuje stan zera logicznego.Jeśli na wejście strobujące podane zostanie logiczne zero, to wyjścia yi przyjmują określony stan logiczny (zwykle zero), niezależny ani od stanu wejścia x, ani wejść adresowych. W praktyce spotykane są jedynie demultipleksery w wyjściach zanegowanych, czyli na wybranym wyjściu jest stan 0 a na wszystkich pozostałych 1. 26.Sumator - jest to cyfrowy układ kombinacyjny, który wykonuje operacje dodawania dwóch lub więcej liczb dwójkowych. Gdy uwzględnia przeniesienie jest to Full Adder - FA, gdy nie - Half Adder - HA. Schemat FA: ai , bi - bity dodawane si - bit sumy ci - otrzymany bit przeniesienia ci+1 - przekazany bit przeniesienia 27.Rozróżniamy następujące kody binarn ze znakiem: • kod znak / moduł (Z/M, sign modu, S/M) • kod uzupełnień do 1 (U1) • kod uzupełnień do 2 (U2) Zapisanie liczby w nie dziesietnym 1234510 = X8. • znajdujemy największą potęgę podstawy oblicznaego systemu (czyli 8), jaka mieści się w danej liczbie: jest to 4096 = 84; • dzielimy 12345 przez 4096; wynik: 3 + reszta: 57 • zapisujemy 3; • teraz sprawdzamy, czy 8 do potęgi o jeden mniejszej mieści się w naszej reszcie z dzielenia: nie, gdyż 83 = 512 > 57 - wówczas do wyniku dopisujemy 0; • sprawdzamy kolejną potęgę 8: 82 = 64 > 57 - dopisujemy kolejne 0 • sprawdzamy następną potęgę: 81 = 8 < 57, więc dzielimy: • 57 : 8 = 7 r 1 - zapisujemy do wyniku 7; jedynki nie ma co analizować - dopisujemy do wyniku 1; • ostatecznie: 1234510 = 300718. 33.Mnożenie dużych liczb: • mamy dane liczby binarne: • A - (a0 a1 a2 a3 a4 a5 a6 ...) • B - (b0 b1 b2 b3 b4 b5 b6 ...) • dzielimy je na dwubitowe składniki: • A1 - (a0 a1 0 0 0 0 0...) • A2 - (0 0 a2 a3 0 0 0...) • A3 - (0 0 0 0 a4 a5 0...) • to samo z B • co łatwo stwierdzić, A = A1 + A2 + A3 + A4 +..., B = B1 + B2 + B3 + B4 +... • teraz: AB = (Óai)(ÓBi) = Ói,j Ai Bj ·2i+j



Wyszukiwarka