Architektura komputera

Cards (44)

  • ENIAC był pierwszym liczącym i całkującym komputerem, wykonanym w 1946 roku w Pensylwanii.
  • ENIAC ważył 30 ton i potrafił wykonywać 5000 operacji na minutę.
  • Programowanie ENIAC polegało na:
    • ręcznym ustawianiu przełączników
    • wtykaniu i wyjmowaniu kabli
  • Architektura von Neumanna była koncepcją komputera, opartą na sterowaniu centralnym. Miał własną pamięć oraz urządzenia wejścia-wyjścia. Wykonywał elementarne operacje.
  • Organizacja komputera składa się z:
    • listy rozkazów
    • liczby bitów przeznaczonych dla konkretnych typów danych
    • mechanizmów wejścia-wyjścia
    • metodyki adresowania pamięci
    • zagadnień związanych z architekturą jednostki
    • zagadnień organizacyjnych (jednostki i ich funkcje)
  • Architektura komputera składa się z:
    • formatów instrukcji
    • kodów operacyjnych instrukcji
    • rejestrów
    • pamięci instrukcji i danych
    • wpływów instrukcji na rejestry i pamięć
    • algorytmu sterowania wykonywaniem instrukcji
  • Komputer jednoprocesowy składa się z jednego procesora, jednostki centralnej CPU, pamięci głównej, układu wejścia-wyjścia, połączeń systemowych.
  • Jednostka centralna CPU jest odpowiedzialna za przetwarzanie danych.
  • Pamięć główna w komputerze jednoprocesowym przechowuje dane.
  • Układ urządzeń wejścia-wyjścia przenoszą informacje między urządzeniem i innymi środowiskami, jak i odwrotnie.
  • Połączenie systemowe umożliwia komunikację pomiędzy jednostką centralną, układem wejścia-wyjścia a pamięcią główną.
  • Procesor w komputerze jednoprocesowym składa się z jednostki sterującej, jednostki arytmetyczno-logicznej (ALU) i rejestrów.
  • Jednostka centralna zarządza działaniem procesora.
  • Jednostka arytmetyczno-logiczna (ALU) przetwarza dane na komputerze.
  • Rejestrypołączeniami wewnętrznymi procesora.
  • Rejestry można podzielić na rejestry widoczne dla użytkownika oraz rejestry kontrolne i stanu.
  • Rejestry widoczne dla użytkownika charakteryzują się minimalizacją odniesień do pamięci głównej, przy użyciu języka maszynowego.
  • Rejestry widoczne dla użytkownika można podzielić następująco:
    • rejestry ogólnego znaczenia
    • rejestry danych
    • rejestry adresów
    • rejestry kodów warunkowych
  • Rejestry kontrolne i stanu są używane przez jednostkę sterującą, która zarządza procesorem. Dodatkowo przesyła dane między procesorem a pamięcią.
  • Do rejestrów kontrolnych i stanu zaliczamy:
    • rejestr rozkazu (IR)
    • rejestr adresowy pamięci (MAR)
    • rejestr buforowy pamięci (MBR)
    • licznik programu (PC)
  • Komputery wielordzeniowe składają się z jednostki centralnej CPU, rdzenia oraz procesora.
  • CPU jest odpowiedzialne za pobieranie i wykonywanie rozkazów w komputerze wielordzeniowym.
  • Rdzeń w komputerze wielordzeniowym jest jednostką przetwarzania w układzie procesora.
  • Procesor jest kawałkiem krzemu, który może składać się z jednego lub większej ilości rdzeni.
  • Mikrokontroler to układ scalony złożony z mikroprocesora, pamięci ROM i RAM, peryferii wejścia-wyjścia oraz z zegara lub innych funkcji umożliwiających samodzielne działanie.
  • Mikrokontroler ma zastosowanie kontrolno-sterowane w urządzeniach w robotyce, w systemach wbudowanych i urządzeniach AGD.
  • Mikrokontroler jest dobrym wyjściem dla aplikacji, które nie potrzebują większych komplikacji bądź wysokiego zużycia energii.
  • Mikrokontroler w porównaniu z mikroprocesorem jest mniejszy, naraża na mniejsze koszty, ale jest wolniejszy.
  • Potokowe przetwarzanie rozkazów jest wykonywaniem wielu instrukcji jednocześnie. Tworzy się potok instrukcji, który powoduje, że każda pojedyncza instrukcja jest na innym etapie przetwarzania.
  • Kolejność potokowego przetwarzania rozkazów to:
    1. pobieranie instrukcji rozkazu (fetch)
    2. dekodowanie instrukcji (decode)
    3. wykonywanie instrukcji (execute)
    4. dostęp do pamięci (memory access)
    5. zapis wyników (write back)
  • Wzór na wydajność przetwarzania:
    T=T=(k+(n1))(k+(n-1))
    gdzie:
    • n - ilość wykonywanych rozkazów
    • k - ilość etapów przetwarzania
    • T - jednostka czasu
  • CISC to komputer ze złożoną listą rozkazów. Wykonuje złożone specjalistyczne rozkazy od kilku do kilkunastu cyklów zegara, które mogą operować bezpośrednio na pamięć. Posiada szeroką gamę typów adresowania, która powoduje długie rozkazy, przez co komplikuje strukturę i działanie układu sterującego.
  • RISC to komputer ze zredukowaną listą rozkazów do minimum, Posiada prostsze kody adresowania oraz ograniczoną komunikację między pamięcią a procesorem.
  • Zaletami RISC jest prostsza jednostka sterująca, możliwość zwiększenia taktowania procesora czy przetwarzanie potokowe. Jej wadami są trudności w tworzeniu oprogramowania bądź duże obciążenie magistral pamięciowych.
  • Operacje wykonywane przez procesor uzależnione są od zegara systemowego. Wszystkie operacje zaczynają się od jego pulsu.
  • Pulsem zegara określamy cykl na sekundę, którą podajemy w hercach.
  • Wzór na średnią liczbę cykli:
    \frac{\sum_{i=1}^{n}CPI_{i}*I_{i}}{I_{c}}_{}
    gdzie:
    • CPI i - liczba wymaganych cykli do wykonania rozkazu
    • I i - liczba wykonanych rozkazów
    • I c - liczba rozkazów maszynowych wykonywanych do zakończenia programu
  • Wzór na szybkość wykonywania rozkazów:
    MIPS=MIPS=fCPI106\frac{f}{CPI*10^6}
    gdzie:
    • f - częstotliwość
  • Gdy w trakcie wykonywania programu procesor uzyskuje dostęp do tego samego fragmentu pamięci w sposób powtarzalny, nazywamy to zasadą lokalności. Działa ona w przypadku rozkazów i danych. Istnieją dwa rodzaje lokalności: czasowa i przestrzenna.
  • Lokalność czasowa odwołuje się do programu w niedalekiej przyszłości do tych jednostek pamięci, do których program odnosił się w niedalekiej przeszłości.