Компютърната архитектура е съвкупност от характеристики и параметри, определящи функционалната, логическа и структурна организация на компютрите. Това понятие включва принципите на построяване и функциониране на компютърните системи, заедно с основните програмни средства за работата му. Архитектурата на съвременните компютърни системи е многостепенна йерархия на апаратните (хардуер) и програмни (софтуер) средства, които изграждат системата.
Според друго определение това е набор от дисциплини, описващи функционалността, организацията и реализацията на компютърните системи. Някои я дефинират като описваща програмния модел и способностите на компютъра, но не и конкретната им реализация. Според други компютърната архитектура включва набора от инструкции, микроархитектурата, организацията на логиката и реализацията.
Според IEEE () компютърната архитектура е набор от хардуерни и софтуерни компоненти и интерфейсите между тях, които определят организационната структура на компютърната система. IEEE, „IEEE Standard Computer Dictionary; A Compilation of IEEE Standard Computer Glossaries“, Standard Coordinating Committee of the IEEE Computer Society, ISBN-1-55937-079-3, 1990 Компютърната архитектура може да бъде разделена на две части – архитектура на хардуера и архитектура на софтуера. Всяка една от тези две части по-нататък може да се разглежда като съвкупност от архитектури на компонентите и модулите, от които е изградена.
История За първи път понятието се споменава в кореспонденцията между Чарлз Бабидж и Ада Лъвлейс, където се описва Analytical engine, вид сметачна машина. Два други важни исторически примера са: статията на Джон фон Нойман от 1945 г., „First Draft of a Report on the EDVAC“, в която се описва организацията на логическите елементи и по-подробната работа на Алън Тюринг „Proposed Electronic Calculator“, също от 1945, в която се цитира статията на фон Нойман.Възпроизведена в B. J. Copeland (Ed.), „Alan Turing's Automatic Computing Engine“, OUP, 2005, pp. 369 – 454.
Самият термин „архитектура“ в компютърната литература е въведен през 1959 г. от служителите на IBM Джонсън (Lyle R. Johnson), Кан (Mohammad Usman Khan) и Брукс (Frederick P. Brooks, Jr.) Джонсън трябвало да напише съобщение за разработвания суперкомпютър IBM 7030 Stretch за научната лаборатория в Лос Аламос. За да опише в детайли форматите, типовете инструкции, параметрите на хардуера и подобренията на скоростта, вместо машинна организация той употребява израза системна архитектура.
Впоследствие Брукс пише в книгата „Planning a Computer System: Project Stretch, ed. W. Buchholz“, 1962:
Брукс участва и в разработката на серията компютри IBM System/360 (днес IBM zSeries), в които под „архитектура“ се подразбира „това, което потребителят трябва да знае“.
Първите компютърни архитектури са създадени на хартия и след това директно изградени с хардуер.ACE претърпява седем преработки на хартия за година, преди започването на работа по прототипа през 1948. B. J. Copeland (Ed.), „Alan Turing's Automatic Computing Engine“, OUP, 2005, p. 57 По-късно прототипите на компютърни архитектури се изграждат въз основа на т.нар. Transistor–Transistor Logic (TTL) – такива са прототипите на Motorola 6800 и PA-RISC, които се тестват, донастройват и тогава се изграждат хардуерно.
Към 1990-те обичайната практика е новите компютърни архитектури да се строят, тестват и донастройват в рамките на съществуваща архитектура–симулатор.
Подкатегории Дисциплината компютърна архитектура се разделя на три основни подкатегории: наборът от инструкции (, ISA) определя какъв машинен код чете процесорът и как го обработва, включително размера на машинната дума, начина на адресиране на паметта (memory address modes), процесорните регистри (processor registers), и типа данни. микроархитектурата определя как конкретният централен процесор ще осъществява набора от инструкции. Например размерът на процесорната кеш-памет най-общо няма нищо общо с набора от инструкции. системният дизайн включва всички останали хардуерни компоненти на компютъра и други въпроси като: обработка на данните извън процесора, например директен достъп до паметта виртуализация, многопроцесорност и софтуер.
В големите компании, производители на процесори като Intel, се използват и други по-тесни понятия като макроархитектура, асемблерски набор от инструкции, пин архитектура
Външни препратки Архитектура на компютърните системи – основни дефиниции
Източници