• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Architektury komputerowe

    Przeczytaj także...
    Lista rozkazów procesora (ang. instruction set) – zestaw podstawowych instrukcji, jakie dany procesor potrafi wykonać.Konrad Zuse (ur. 22 czerwca 1910 r. w Berlinie - zm. 18 grudnia 1995 r. w Hünfeld) – niemiecki inżynier, konstruktor, pionier informatyki; konstruktor prekursorskiego komputera działającego w systemie binarnym.
    MISD (Multiple Instruction, Single Data) - architektura przetwarzania równoległego, w której wiele równolegle wykonywanych programów przetwarza jednocześnie jeden wspólny strumień danych. W zasadzie jedynym zastosowaniem są systemy wykorzystujące redundancję (wielokrotne wykonywanie tych samych obliczeń) do minimalizacji błędów.
    Schemat blokowy prostego komputera. Czarne linie oznaczają przepływ danych, a czerwone linie przepływ sterowania.

    Architektura komputera oznacza w informatyce technicznej zbiór zasad i metod opisujących funkcjonalność, organizację i implementację komputerów. Niektóre definicje architektury komputerów definiują ją jako opis możliwości i model programowy komputera, ale nie konkretną implementację. W innych definicjach architektura komputera obejmuje projekt architektury zestawu instrukcji, projekt mikroarchitektury, syntezę logiczną i implementację.

    Urządzenie wejścia-wyjścia, urządzenie we/wy, urządzenie I/O (ang. input/output device) służy do komunikacji systemu komputerowego z jego użytkownikiem lub innym systemem przetwarzania danych. Urządzenie wejścia-wyjścia służy często do zamiany wielkości fizycznych na dane przetwarzane przez system lub odwrotnie. Np. mysz komputerowa przetwarza ruch ręki, odbiornik GPS aktualne położenie geograficzne, a monitor komputera przetwarza dane komputerowe na obraz.Rejestry procesora to komórki pamięci o niewielkich rozmiarach (najczęściej 4/8/16/32/64/128 bitów) umieszczone wewnątrz procesora i służące do przechowywania tymczasowych wyników obliczeń, adresów lokacji w pamięci operacyjnej itd. Większość procesorów przeprowadza działania wyłącznie korzystając z wewnętrznych rejestrów, kopiując do nich dane z pamięci i po zakończeniu obliczeń odsyłając wynik do pamięci.

    Wprowadzenie[ | edytuj kod]

    Komputer jest systemem złożonym o strukturze hierarchicznej - układem wzajemnie powiązanych podsystemów, z których każdy również ma strukturę hierarchiczną, aż do osiągnięcia najniższego poziomu - podsystemu elementarnego. Na każdym poziomie projektant zajmuje się strukturą (sposobem wzajemnego powiązania) i funkcjami (działaniem) poszczególnych składników.

    SISD - jest to architektura klasycznego komputera sekwencyjnego, zawierającego jeden procesor i jeden blok pamięci operacyjnej. Ciąg instrukcji wykonywany jest sekwencyjnie. Architektura taka może zawierać również pewne elementy równoległości, jak np. przetwarzanie potokowe (ang. pipelining). Procesor może się składać z kilku jednostek przetwarzających, jednak wszystkie te jednostki podlegają jednej jednostce sterującej procesora. Również jeżeli komputer składa się z kilku procesorów, ale wykonują one niezależne od siebie programy, to możemy traktować go jako zestaw maszyn SISD.Zmodyfikowana architektura harwardzka - znana również jako architektura mieszana, łączy w sobie cechy architektury harwardzkiej i architektury von Neumanna. Oddzielone zostały pamięci danych i rozkazów, lecz wykorzystują one wspólne magistrale danych i adresową. Architektura niniejsza umożliwia łatwe przesyłanie danych pomiędzy rozdzielonymi pamięciami.

    Komputer składa się z jednostki centralnej (CPU), magistrali systemowej, pamięci oraz urządzeń wejścia-wyjścia. Jednostka centralna składa się z rejestrów, jednostki arytmetyczno-logicznej (ALU), jednostki sterującej i połączeń wewnętrznych. Jednostka sterująca składa się z układów logicznego szeregowania, rejestrów i dekoderów jednostki sterującej oraz jej pamięci.

    Informatyka techniczna (ang.information technology) – dyscyplina w dziedzinie nauk inżynieryjno-technicznych oraz kierunek studiów technicznych korzystająca z elektroniki, do projektowania, wytwarzania i eksploatacji sprzętu cyfrowego oraz z podstaw matematyki do projektowania i implementacji oprogramowania podstawowego i systemowego dla przetwarzania danych w systemach teleinformatycznych o szerokich praktycznych zastosowaniach. Charles Babbage (ur. 26 grudnia 1791 w Teignmouth, zm. 18 października 1871 w Londynie) – angielski matematyk, astronom i mechanik, autor tablic logarytmicznych, konstruktor mechanicznych maszyn liczących.

    Podstawowe zagadnienia[ | edytuj kod]

  • Struktura i działanie procesora
  • Pamięć podręczna
  • Pamięć wewnętrzna
  • Pamięć zewnętrzna
  • Wejście wyjście
  • Wspieranie systemu operacyjnego
  • Arytmetyka komputera
  • Własności i funkcje listy rozkazów
  • Tryby adresowania i formaty rozkazów
  • Paralelizm na poziomie rozkazu i procesory superskalarne
  • Działanie jednostki sterującej
  • Sterowanie mikroprogramowe
  • Historia[ | edytuj kod]

    Pierwszą udokumentowaną architekturę komputera można znaleźć w korespondencji pomiędzy Charlesem Babbage i Adą Lovelace, opisującą tzw. silnik analityczny. Podczas budowy komputera Z1 w 1936, Konrad Zuse opisał po raz pierwszy komputer którego instrukcje są przechowywane w pamięci, tzw. stored-program computer.

    W informatyce przepływ sterowania oznacza kolejność, w jakiej pojedyncze wyrażenia lub instrukcje są wykonywane w paradygmacie programowania imperatywnego. W języku programowania instrukcja przepływu sterowania może zmienić przepływ sterowania tak, aby wyrażenia wykonywane były w innej kolejności, niż ta, w jakiej są wypisane w kodzie źródłowym. Pojęcie przepływu danych jest prawie zawsze ograniczane do pojedynczego wątku aplikacji, ponieważ dotyczy ono wykonywania instrukcji po jednej naraz.Synteza logiczna polega na znalezieniu takiej konfiguracji zasobów sprzętowych (bramek logicznych), przerzutników, komórek czy też makrokomórek), która realizować będzie założony układ cyfrowy (opisany zazwyczaj za pomocą języka opisu sprzętu (HDL) lub sieci połączeń). Proces ten przebiega według pewnych wytycznych nakładanych przez projektanta. Może to być minimalizacja potrzebnych zasobów sprzętowych, minimalizacja maksymalnego czasu propagacji sygnału w układzie lub zmniejszenie mocy pobieranej przez układ.

    Klasyfikacje[ | edytuj kod]

    Ze względu na rodzaj połączeń procesor-pamięć i sposób ich wykorzystania dzielimy architektury zgodnie z taksonomią Flynna:

  • SISD (ang. Single Instruction Single Data) – skalarne,
  • SIMD (ang. Single Instruction Multiple Data) – wektorowe (macierzowe),
  • MISD (ang. Multiple Instruction Single Data) – strumieniowe,
  • MIMD (ang. Multiple Instruction Multiple Data) – równoległe.
  • Ze względu na sposób podziału pracy i dostęp procesora do pamięci możemy podzielić architektury na:

    Pamięć operacyjna (ang. internal memory, primary storage) – pamięć adresowana i dostępna bezpośrednio przez procesor, a nie przez urządzenia wejścia-wyjścia procesora. W pamięci tej mogą być umieszczane rozkazy (kody operacji) procesora (program) dostępne bezpośrednio przez procesor i stąd nazwa pamięć operacyjna. W Polsce często pamięć ta jest utożsamiana z pamięcią RAM, choć jest to zawężenie pojęcia, pamięcią operacyjną jest też pamięć nieulotna (ROM, EPROM i inne jej odmiany) dostępna bezpośrednio przez procesor, a dawniej używano pamięci o dostępie cyklicznym.Magistrala (ang. bus) – zespół linii oraz układów przełączających służących do przesyłania sygnałów między połączonymi urządzeniami w systemach mikroprocesorowych, złożony z trzech współdziałających szyn:
  • SMP (ang. Symmetric Multiprocessing) – symetryczne,
  • ASMP (ang. Asymmetric Multiprocessing) – asymetryczne,
  • NUMA (ang. Non-Uniform Memory Access) – asymetryczne (rozróżniające pamięć lokalną i zdalną),
  • AMP (ang. Asynchronous Multiprocessing) – asynchroniczne,
  • MPP (ang. Massively Parallel Processors) – równoległe.
  • Ze względu na sposób organizacji pamięci i wykonywania programu:

    Jednostka arytmetyczno-logiczna (z ang. Arithmetic and Logical Unit lub Arithmetic Logic Unit, ALU) to jedna z głównych części procesora, prowadząca proste operacje na liczbach całkowitych.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ą.
  • architektura von Neumanna – zarówno dane, jak i kod programu przechowywany jest w tym samym obszarze pamięci;
  • architektura harwardzkarozkazy i dane przechowywane są w odseparowanych obszarach pamięci;
  • architektura mieszana – połączenie dwóch powyższych typów: obszary pamięci dla rozkazów i danych są odseparowane, jednak wykorzystują wspólne magistrale.
  • Przypisy[ | edytuj kod]

    1. Alan. Clements, Principles of Computer Hardware.
    2. John Hennessy, David Patterson, Computer Architecture: A Quantitative Approach.
    3. William Stallings, Organizacja i Architektura Systemu Komputerowego.
    4. Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000
    System operacyjny (ang. Operating System, skrót OS) – oprogramowanie zarządzające systemem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.MIMD (Multiple Instruction, Multiple Data) - według taksonomii Flynna rodzaj architektury komputerów w której przetwarzanie równoległe zachodzi zarówno na poziomie danych jak i instrukcji. Komputery zbudowane w architekturze MIMD posiadają wiele procesorów (najczęściej zrealizowanych w architekturze SIMD) pracujących niezależnie i asynchronicznie. Oznacza to iż w każdej chwili procesory mogą wykonywać różne instrukcje na odmiennych danych. Procesory mogą korzystać ze wspólnej pamięci dzielonej lub używać modelu rozproszonego w którym każdy z nich posiada prywatną przestrzeń adresową.




    Warto wiedzieć że... beta

    ASMP (ang. Asymmetric Multiprocessing) - architektura komputerowa, mająca na celu zwiększenie mocy obliczeniowej i funkcjonalności komputera poprzez wykorzystanie kilku procesorów.
    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.
    Augusta Ada King, hrabina Lovelace (ur. 10 grudnia 1815, zm. 27 listopada 1852) – matematyczka i informatyczka głównie znana z tego, że opisała mechaniczny komputer Charlesa Babbage’a, tzw. maszynę analityczną. Obecnie uważana jest za pierwszego programistę – stworzyła pierwszy w historii algorytm, który miał być wykonany przez maszynę Babbage’a. Kompletny egzemplarz maszyny analitycznej nigdy nie powstał, jednak w 2011 roku ogłoszono projekt jego budowy.
    Mikroarchitektura - w inżynierii komputerowej, jest opisem sprzętowej implementacji procesora definiującym jego działanie.
    Model programowy procesora (ang. ISA - Instruction Set Architecture), czasem także nieściśle architektura procesora — ogólne określenie dotyczące organizacji, funkcjonalności i zasad działania procesora, widoczne z punktu widzenia programisty jako dostępne mechanizmy programowania. Na model programowy procesora składają się m.in.:
    Architektura harwardzka – rodzaj architektury komputera. W odróżnieniu od architektury von Neumanna, pamięć danych programu jest oddzielona od pamięci rozkazów.
    SIMD (ang. Single Instruction, Multiple Data) – jeden z podstawowych rodzajów architektur komputerowych według taksonomii Flynna, obejmujący systemy, w których przetwarzanych jest wiele strumieni danych w oparciu o pojedynczy strumień rozkazów. Architektura SIMD jest charakterystyczna dla komputerów wektorowych.

    Reklama

    Czas generowania strony: 0.837 sek.