Architektura komputera
W inżynierii komputerowej architektura komputerowa jest projektem koncepcyjnym i podstawową strukturą operacyjną systemu komputerowego. Jest to rysunki techniczne i opis funkcjonalny wszystkich wymagań projektowych (zwłaszcza prędkości i połączeń), jest to sposób projektowania i realizacji różnych części komputera - skupiając się głównie na sposobie, w jaki jednostka centralna (CPU) działa wewnętrznie i jak uzyskuje dostęp do adresów w pamięci.
Można go zdefiniować jako naukę i sztukę wyboru i łączenia komponentów sprzętowych w celu stworzenia komputerów spełniających cele funkcjonalne, wydajnościowe i kosztowe.
Architektura komputerowa obejmuje co najmniej trzy główne podkategorie:
- Architektura zestawu instrukcji, czyli ISA, to abstrakcyjny model systemu obliczeniowego widziany przez programistę języka maszyny (lub języka zespołu), obejmujący zestaw instrukcji, tryby adresów pamięci, rejestry procesora oraz formaty adresów i danych.
- Mikroarchitektura, znana również jako Organizacja Komputerowa jest niższym poziomem, szczegółowy opis systemu, który jest wystarczający do pełnego opisania działania wszystkich części systemu komputerowego, oraz sposobu, w jaki są one połączone i współdziałają w celu wdrożenia ISA. Rozmiar pamięci podręcznej komputera, na przykład, jest kwestią organizacyjną, która generalnie nie ma nic wspólnego z ISA.
- Projektowanie systemu, które obejmuje wszystkie inne komponenty sprzętowe w ramach systemu komputerowego, np:
· Połączenia systemowe, takie jak magistrale komputerowe i przełączniki.
· Kontrolery pamięci i hierarchie.
· Mechanizmy odciążające procesor, takie jak bezpośredni dostęp do pamięci.
· Kwestie takie jak wieloprocesowość.
Po określeniu zarówno ISA, jak i mikroarchitektury, rzeczywisty system obliczeniowy musi być zaprojektowany jako sprzęt. Ten proces projektowania nazywany jest implementacją. Implementacja jest zazwyczaj procesem projektowania w zakresie inżynierii sprzętowej.
Realizacja może być dalej podzielona na trzy, ale nie do końca odrębne części:
- Logiczna realizacja: Projektowanie bloków zdefiniowanych w mikroarchitekturze, głównie na poziomie rejestru-transferu i bramki.
- Wdrożenie obwodu: Projektowanie na poziomie tranzystora podstawowych elementów (bramki, multipleksery, klapki, itp.), jak również niektórych większych bloków (ALU, cache, itp.), które mogą być zaimplementowane na tym poziomie, a nawet na niższym poziomie fizycznym, ze względów wydajnościowych.
- Realizacja fizyczna: Obwody fizyczne są wyciągane, różne elementy obwodu są umieszczane w układzie scalonym lub na płycie, a przewody łączące je są prowadzone.
W przypadku CPU cały proces wdrażania jest często nazywany projektowaniem procesora; może to być również rodzina powiązanych ze sobą konstrukcji procesorów, takich jak RISC i CISC.
Więcej poddefinicji
Niektórzy praktycy architektury komputerowej używają bardziej wyrafinowanych podkategorii:
- Makroarchitektura: Warstwy architektoniczne, które są bardziej abstrakcyjne niż mikroarchitektura, na przykład ISA.
- Instruction Set Architecture (ISA): Jak zdefiniowano powyżej.
- UISA (Microcode Instruction Set Architecture): Rodzina maszyn z różnymi poziomami mikroarchitektury sprzętowej może mieć wspólną architekturę mikrokodów i dlatego nazywana jest UISA.
- Zgromadzenie ISA: Inteligentny assembler może przekształcić abstrakcyjny język montażu wspólny dla grupy procesorów na nieco inny język maszynowy dla różnych implementacji procesorów.
- Programmer Visible Macroarchitecture: Narzędzia językowe wyższego poziomu, takie jak kompilatory, mogą definiować konkretny interfejs dla programistów za ich pomocą, wyabstrahując różnice pomiędzy bazowymi ISA, UISA i mikroarchitekturami; na przykład standardy C, C++ lub Java definiują trzy różne konkretne interfejsy programowania.
- Pin Architektura: Zestaw funkcji, które ma zapewnić mikroprocesor z punktu widzenia platformy sprzętowej. Na przykład, sygnały, które procesor ma emitować podczas wykonywania instrukcji.
Przykłady architektury komputerowej
- x86, wyprodukowany przez Intel i AMD.
- SPARC, wyprodukowany przez Sun Microsystems i inne firmy.
- PowerPC, wyprodukowany przez Apple, IBM i Motorolę.
Powiązane strony
- Sprzęt komputerowy
- Architektura oprogramowania
- Mikroarchitektura
Pytania i odpowiedzi
P: Co to jest architektura komputera?
O: Architektura komputera to projekt koncepcyjny i podstawowa struktura operacyjna systemu komputerowego. Obejmuje rysunki techniczne i funkcjonalny opis wszystkich wymagań projektowych, takich jak prędkości i połączenia, w celu stworzenia komputerów spełniających cele wydajnościowe, kosztowe i funkcjonalne.
P: Jakie są trzy główne podkategorie architektury komputera?
O: Trzy główne podkategorie architektury komputera to architektura zestawu instrukcji (ISA), mikroarchitektura (znana również jako organizacja komputera) i projektowanie systemu.
P: Na czym polega ISA?
O: Architektura Zestawu Instrukcji (ISA) to abstrakcyjny model systemu komputerowego, który jest widoczny dla programisty języka maszynowego lub języka asemblerowego. Obejmuje zestaw instrukcji, tryby adresowania pamięci, rejestry procesora oraz formaty adresów i danych.
P: Na czym polega mikroarchitektura?
O: Mikroarchitektura obejmuje szczegółowy opis systemu na niższym poziomie, który wystarcza do pełnego opisu działania wszystkich części systemu obliczeniowego, a także sposobu ich połączenia i wzajemnego oddziaływania w celu realizacji ISA.
P: Co obejmuje projektowanie systemu?
O: Projektowanie systemu obejmuje wszystkie inne elementy sprzętowe w systemie komputerowym, takie jak połączenia systemowe, takie jak magistrale komputerowe i przełączniki, kontrolery pamięci, mechanizmy odciążające procesor, takie jak bezpośredni dostęp do pamięci, kwestie związane z wieloprocesowością itd.
P: W jaki sposób wdrożenie dzieli się na trzy części?
O: Wdrażanie można podzielić na Wdrażanie logiczne, które obejmuje projektowanie bloków zdefiniowanych w mikroarchitekturze na poziomie rejestrów lub bramek; Wdrażanie obwodowe, które obejmuje projektowanie na poziomie tranzystorów dla podstawowych elementów lub większych bloków; Wdrażanie fizyczne, które obejmuje rysowanie obwodów fizycznych, umieszczanie różnych elementów obwodu na planie lub płytce chipa, prowadzenie przewodów łączących je ze sobą.