Компютърна архитектура

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Компютърната архитектура е съвкупност от характеристики и параметри, определящи функционалната, логическа и структурна организация на компютрите. Това понятие включва принципите на построяване и функциониране на компютърните системи, заедно с основните програмни средства за работата му. Архитектурата на съвременните компютърни системи е многостепенна йерархия на апаратните и програмни средства, които изграждат системата[1].

Според друго определение,[2] това е набор от дисциплини, описващи функционалността, организацията и реализацията на компютърните системи. Някои я дефинират като описваща програмния модел и способностите на компютъра, но не и конкретната им реализация.[3] Според други компютърната архитектура включва вида на набора от инструкции (instruction set architecture), вида на микроархитектурата (microarchitecture), на логиката (logic design) и реализацията.[4]

История[редактиране | редактиране на кода]

За първи път компютърна архитектура се споменава в кореспонденцията между Чарлз Бабидж и Ада Лъвлейс, където се описва Analytical engine, вид сметачна машина. Два други важни исторически примера са:

  • статията на Джон фон Нойман от 1945 г., „First Draft of a Report on the EDVAC“, в която се описва организацията на логическите елементи и
  • по-подробната работа на Алън Тюринг „Proposed Electronic Calculator“, също от 1945, в която се цитира статията на фон Нойман.[5]

Самият термин „архитектура“ в компютърната литература е въведен от служителите на IBM Джонсън (Lyle R. Johnson), Кан (Mohammad Usman Khan) и Брукс (Frederick P. Brooks, Jr.) през 1959 г. Джонсън трябвало да напише съобщение за разработвания суперкомпютър IBM 7030 Stretch за научната лаборатория в Лос Аламос. За да опише в детайли форматите, типовете инструкции, параметрите на хардуера и подобренията на скоростта, той употребява системна архитектура вместо машинна организация.

Впоследствие Брукс пише в книгата „Planning a Computer System: Project Stretch, ed. W. Buchholz“, 1962:

Компютърната архитектура, както и другата, е изкуството да се определят нуждите на ползвателя спрямо структурата и тогава тя да се проектира така, че да отговори на тези нужди доколкото е възможно по-ефективно в рамките на икономическите и техническите ограничения

F. Brooks, „Planning a Computer System: Project Stretch, ed. W. Buchholz“
В оригинал
Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints.

Брукс участва и в разработката на серията компютри IBM System/360 (днес IBM zSeries), в които под „архитектура“ се подразбира “това, което потребителят трябва да знае”.

Първите компютърни архитектури са направени на хартия и след това директно вградени в хардуера.[6] По-късно прототипите на компютърни архитектури се изграждат въз основа на т.нар. Transistor–Transistor Logic (TTL) - такива са прототипите на Motorola 6800 и PA-RISC, които се тестват, донастройват и тогава се вграждат хардуерно.

Към 1990-те обичайната практика е новите компютърни архитектури да се строят, тестват и донастройват в някоя съществуваща архитектура - симулатор.

Източници[редактиране | редактиране на кода]

  1. Компютърни архитектури. // Посетен на 10 август 2015.
  2. ((en)) Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering. Association for Computing Machinery, 2004. с. 60. Computer architecture is a key component of computer engineering and the practicing computer engineer should have a practical understanding of this topic...
  3. ((en)) Principles of Computer Hardware. Fourth. с. 1. Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same architecture.
  4. ((en)) Computer Architecture: A Quantitative Approach. Fifth. с. 11. This task has many aspects, including instruction set design, functional organization, logic design, and implementation.
  5. Възпроизведена в B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, pp. 369-454.
  6. ACE претърпява седем преработки на хартия за година, преди започването на работа по прототипа през 1948. B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, p. 57