Компютър

Компютърът е изчислително устройство с общо предназначение, което може да бъде програмирано да извършва набор от аритметични и/или логически операции. Възможността на устройството да извършва поредица такива операции позволява компютърът да се използва за решаване на теоретично всяка изчислителна/логическа задача. Тези аритметични и логически операции са също така част от програмния код, с който работят компютрите. Целта е обработката на въведена информация (и компютърни данни), най-често дигитализирана или представена в цифров вид, чийто резултат може да се изведе в най-общо казано използваема форма.
Обикновено съвременният компютър се състои от поне един процесор, обикновено централен процесор (CPU) под формата на микропроцесор, заедно с някакъв вид компютърна памет, обикновено полупроводникови чипове памет. Периферните устройства включват входни устройства (клавиатури, мишки, джойстик и т.н.), изходни устройства (екрани на монитори, принтери и т.н.) и устройства за въвеждане/извеждане, които изпълняват и двете функции (напр. сензорен екран от 2000-те години).
От функционална гледна точка всички компютри са съставени от четири основни елемента:
На практика в повечето съвременни компютри аритметично-логическото устройство, управляващото устройство и част от паметта са обединени в общ компонент, наричан централен процесор.
Компютрите могат да имат различно устройство, като чисто механични конструкции за аритметични изчисления са известни още от древността, но почти всички съвременни компютри са изпълнени с електронни компоненти. Първите изцяло електронни компютри са създадени в средата на 20 век, като най-ранните от тях са с размерите на голямо помещение и с електрическа мощност от порядъка на 100 kW. Съвременните машини, базирани на интегрални схеми, имат милиони до милиарди пъти по-висока производителност при консумирана мощност от няколко до няколко стотици вата. Днес някои по-прости компютри са достатъчно компактни, за да се поберат в различни мобилни устройства, и достатъчно икономични, за да се захранват от малка батерия.
Поставената за решаване задача първо трябва да бъде описана в подходяща форма за обработка. Исторически се е наложило представянето на информацията в паметта на компютъра в двоичен код. Действията по обработка се свеждат до използването на проста логическа алгебра (Булева алгебра). Тъй като практически всяка математическа задача може да се сведе до булеви операции, електронният компютър може да се използва за решаване на повечето математически проблеми, както и на повечето задачи за обработка на информация, които могат да бъдат сведени до математически.
В ежедневната реч под „компютър“ най-често се разбират персоналните компютри в техните разнообразни форми, които в наши дни са се превърнали в символ на Информационната епоха. В същото време далеч по-многобройни са вградените компютърни системи със специализирани функции, неизменна част от различни устройства – от MP3 плейъри до изтребители и от детски играчки до промишлени роботи.
В английския език най-ранното известно използване на думата „компютър“ (на английски: computer, буквално „изчислител“) е в книгата от 1613 г. „The yong mans gleanings“ на английския писател Ричард Брейтуейт. Там така е наречен човек, извършващ изчисления, като това остава основното ѝ значение до средата на 20 век. От края на 19 век думата започва да се използва и в значение, близко до съвременното – машина, която извършва изчисления. В края на 1940-те и началото на 1950-те, с развитието на електронни цифрови изчислителни (или сметачни) машини, фразата „изчислителна машина“ (на английски: computing machine) постепенно е изместена от краткото компютър (на английски: computer), като прилагателните „електронен“ и „цифров“ постепенно отпадат.
В българския език, особено в специализираната техническа литература до към 1990-те години, първоначално се използват термините „автоматични сметачни машини“, „електронноизчислителни машини“ или „цифрови електронноизчислителни машини“ (често съкращавано на ЕИМ и ЦЕИМ). Впоследствие се разпространява и заемката от английски „компютър“. По-късно, в зависимост от използваните електронни компоненти, се говори за машини първо поколение – изградени с електронни лампи, второ поколение – с полупроводникови транзистори и диоди, но с обемен монтаж, трето поколение – с повърхностен монтаж и интегрални схеми с ниска степен на интеграция и четвърто поколение – с интегрални схеми с висока степен на интеграция. Появата на микропроцесора през 1971 г. дава началото на изграждането на компютри от пето поколение
Съвременните компютри възникват в резултат на съчетаването на две технологии, които се развиват самостоятелно в продължение на столетия – автоматизацията на изчисленията и програмируемостта.
Първите устройства за изчисления – сметалата, се появяват през древността, като са известни още от Шумер в средата на III хилядолетие пр.н.е. През II-I век пр.н.е. са създадени механични устройства, предназначени за астрономически и навигационни изчисления – широко използваната астролабия и по-редкият и сложен механизъм от Антикитера. През I век египетският инженер Херон конструира механичен театър, задвижван със сложна система от въжета, който изпълнява 10-минутно представление. В началото на XVII век е изобретена сметачната линия, която остава широко използвана до масовото навлизане на електронните калкулатори през XX век.
Първият механичен калкулатор е създаден през 1641 г. от френския математик Блез Паскал, като няколко негови образци са запазени до днес. През 1673 г. немският математик Готфрид Лайбниц представя в Парижката академия усъвършенствана конструкция на своя „Изчисляващ часовник“ – първата сметачна машина, извършваща четирите математически действия. Ключов елемент в нея е стъпаловиден цилиндър с десет зъба, всеки с различна дължина, чрез който се реализират операциите умножение и деление.
През 1799 г. френският механик Жозеф Мари Жакард конструира тъкачен стан, използващ перфокарти за управление на работния процес, които през 20 век ще бъдат широко използвани за въвеждане на данни в първите поколения компютри. С него през 1801 г. на техническо изложение в Париж Жакард за първи път демонстрира автоматизирано управление на работен процес. По-късно са разработени и други програмируеми механични устройства, като механични играчки и музикални кутии.
Конструираният от французина Шарл Ксавие Тома дьо Колмар аритмометър през 1821 г., достатъчно здрав и надежден за ежедневна употреба, става първата серийно произвеждана сметачна машина – около 100 броя годишно.
В периода 1812 – 1822 г. английският математик Чарлз Бабидж конструира машина за автоматизирана обработка на таблица от числови данни, за която получава златен медал от Астрономическото общество на Великобритания. Тъй като резултатите от работата на машината не били пригодни за по-нататъшна обработка, Бабидж започва работа върху машина, която да изпълнява функциите на универсален изчислител. Наследство от неговата работа са над 200 чертежа, в които са изобразени около 50 000 детайла и около 4000 пояснения към тях. Проектираната от Бабидж машина съдържа няколко устройства: за запазване на цифровата информация (числата), за извършване на операции, за управление на последователността от операции, и за въвеждане и извеждане на числата; с други думи – всички основни блокове на архитектурата на съвременните компютри. С въвеждането на управляващо устройство Бабидж става автор на фундаменталния принцип на програмното управление: процесът на обработката на информация (данни) се направлява от друга информация (инструкции или програма), специално предназначена за това.
Принос към развитието на изчислителните машини има и Херман Холерит, който в края на 19-и и началото на 20 век проектира система за въвеждане на набор от символи върху перфокарта, и изобретява табулираща машина която Холерит използва с успех за автоматизиране на изчислителната дейност по преброяване на населението на САЩ.
През 1936 г. англичанинът Алън Тюринг теоретично разработва принципите, на които се основава универсалната изчислителна машина (т.нар. „машина на Тюринг“), като подобни резултати постигат и американците Емил Пост и Алонсо Чърч, както и германецът Курт Гьодел (1934 – 36 г.)
През 1938 г. в Масачузетския технологичен институт Клод Шенън за първи път демонстрира, че двупозиционните превключвателни елементи (независимо дали релета, електронни лампи или бъдещите транзистори) могат да бъдат използвани за извършване на математически и логически операции на т. нар. булева алгебра, т.е. да обработват числа, изразени в двоична бройна система.
Междувременно вследствие на развитието на технологиите в електротехниката и електрониката през първите три десетилетия на 20 век става възможно и конструирането на първите електромеханични изчислителни машини.
В периода 1936 – 1938 г. германецът Конрад Цузе конструира машината Z-1, изградена с електромагнитни релета, в която за въвеждане на данните е използвана клавиатура, а за извеждането им – лампи. В периода до края на 1939 г. Цузе разработва машината Z-2, в която устройството за въвеждане на данни работело с перфорирана 35-милиметрова кинолента, а през 1941 г. завършва и първата универсална изчислителна машина Z-3, която била използвана във военната индустрия при проектирането на немските самолети и ракети.
През 1940 г. Джордж Стибиц създава BEL-1 (изградена с електромагнитни релета) – първата изчислителна машина, която можела да работи с комплексни числа. Впоследствие Стибиц конструира и машините BEL-2 (1942 г.) и BEL-5 (1947 г.) Поради ниската надеждност на релетата Стибиц вгражда в конструкциите първите диагностични схеми за откриване на грешки.
През август 1944 г. Хауърд Айкен представя в Харвардския университет машината Марк I (изградена с електромагнитни релета), която работила в продължение на 15 години. Впоследствие Айкен конструира и машината Марк-2.
Първата изчислителна машина с изцяло електронен изчислителен блок и с отделна памет е конструирана от Джон Атанасов в Щатския колеж в Айова. В периода 1936 – 41 г. той и асистентът му Клифърд Бери разработват изчислителна машина (много по-късно наречена компютър на Атанасов – Бери), предназначена да решава системи линейни уравнения с до 30 неизвестни. Входните данни – десетични числа, се въвеждат от стандартна перфокарта, след което се преобразуват в 51-разредни двоични числа. Изчислителният и управляващият блок съдържат около 300 електронни лампи. Паметта представлява два диска с 32 набора от по 51 кондензатора (или 32 51-битови машинни думи). В края на 1941 г. са завършени всички възли, но има известни проблеми при въвеждането на двоичните числа. Нападението на 7 декември 1941 г. на японската армия над Пърл Харбър и включването на САЩ във Втората световна война обаче прекъсват работата на Атанасов, машината е изоставена и по-късно разглобена.
През 1941 г. Джон Мокли, преподавател в школата Мур към университета на Пенсилвания гостува на Джон Атанасов, за да се запознае с неговата машина. Остава неясно доколко Мокли използва наученото, но той инициира разработката на изчислителна машина през 1942 г. С неговата докладна записка се запознава Херман Голдстайн, доцент по математика от Мичиганския университет, който по това време е офицер за връзка между школата Мур и артилерийското управление на американската армия. Докладната на Мокли, допълнена от Джон Екерт, е предадена през юни 1943 г. във Вашингтон, което в крайна сметка довежда до възлагане на договор на Пенсилванския университет от артилерийското управление за конструиране на електронна изчислителна машина.
Под ръководството на Мокли, Екерт и Голдстайн, десет инженера, 200 техника и голям брой работници и помощен персонал създават за две години (1943 – 45 г.) първата универсална действаща електронна изчислителна машина, наречена (Electronics Numerical Integrator and Computer), работеща с десетична бройна система. Машината съдържа около 18 000 електронни лампи и 1500 релета и консумира около 130 kW мощност. Управлението на машината (задаването на инструкции) се извършва с комутационен панел с щепсели и превключватели, което изисква значително време и усилия при изпълнението на всяка нова задача, т.е. ENIAC не е компютър със запаметена програма. Паметта за данни е с обем 20 машинни думи.
Работата върху ENIAC е засекретена и поради това случайно, при разговор с Голдстайн, през 1944 г. за нея разбира Джон фон Нойман. На 30 юни 1945 г. (още преди завършването на ENIAC) той публикува изследване, озаглавено „Първа чернова на доклад за EDVAC“ („First Draft of a Report on the EDVAC“), в което описва принципите на компютър със запаметена програма, т.е. програмата, както и данните, трябва да бъде представена като набор от двоични числени стойности, които да се пазят в паметта, което би позволило машината да извършва операциите доста по-бързо, отколкото ако инструкциите се задават чрез физическо свързване.
Краят на Втората световна война води до разсекретяване на някои от проектите по изграждане на изчислителни машини и през лятото на 1946 г. тази и други идеи са направени докладвани на конференция в Пенсилванския университет.
Конструирането на по-съвършения EDVAC завършва през 1950 г. Паметта му е изградена от ултразвукови живачни закъснителни линии, като тя става първата проектирана машина, в която е реализиран актуалният и до днес принцип за вградено управление на изчислителния процес.
Междувременно по проект на Морис Уилкс и под негово ръководство през 1949 г. (или една година преди EDVAC) в Кеймбриджкия университет във Великобритания е завършена машината EDSAC, която става първата пусната в експлоатация машина със запаметена програма.
Като превключващи елементи в първото поколение компютри се използват релета и електронни лампи. Въпреки че тези компоненти позволяват значително по-висока скорост на работа от по-ранните механични превключватели, по различни причини тяхната надеждност е сравнително ниска. Например изграждането на логически схеми с последователна логика, с релета изисква да се елиминирана проблемът с вибрациите на контактите при превключване. При електронните лампи този проблем не съществува, но те изискват известно време, за да достигнат работната си температура, а след няколко хиляди работни часа катодите им се изтощават и губят термоелектронната си емисия. Проблем с дори една-единствена дефектирала лампа често води до диагностика на целия възел, за да бъде намерена и подменена.
По изброените причини първите електронни (лампови) компютри са като цяло по-бързи, но по-ненадеждни от електромеханичните машини. При ламповите компютри като EDVAC, средното време между два отказа е около 8 часа, докато системите с релета като Марк I се повреждат по-рядко. В крайна сметка ламповите машини се разпространяват по-широко, тъй като значително по-голямата им скорост на изчисление се оказва по-важна от проблемите с надеждността.
Процесорите от това поколение работят с много по-ниска тактова честота в сравнение със съвременните микроелектронни устройства. През този период обичайните честоти на системния часовник са до около 100 kHz, като основният ограничаващ фактор е скоростта на превключване.
Устройството на компютрите се оптимизира, след като различни нови технологии улесняват създаването на по-малки и по-надеждни електронни устройства. Решаващо значение в този процес има изобретяването на транзистора през 1947 г. През 50-те и 60-те години базираните на дискретни транзистори процесори и изобщо компютри вече не разчитат на обемисти, ненадеждни и нетрайни превключващи елементи, като електронните лампи и релетата. Това дава възможност за изграждането на по-сложни и надеждни процесори, съставени от една или повече печатни платки, съдържащи отделни компоненти.
В началото на 60-те години е изобретен метод за производство на голям брой транзистори в ограничено пространство – появяват се първите интегрални схеми. Интегралната схема позволява в един общ полупроводников кристал, наричан чип, да се включат множество транзистори. В компютърната техника те се използват първоначално само в много прости неспециализирани електронни схеми, например отделни логически елементи. Процесорите, базирани на такива елементарни интегрални схеми, обикновено се наричат устройства с ниска степен на интеграция (SSI). Например SSI интегралните схеми, използвани в Apollo Guidance Computer, съдържат по няколко десетки транзистора. Изграждането на цял процесор от SSI интегрални схеми изисква хиляди отделни чипове, но все пак заема много по-малко пространство и има много по-нисък разход на енергия от дотогавашните устройства с дискретни транзистори. С напредъка на микроелектрониката интегралните схеми започват да включват все повече транзистори и пасивни елементи, намалявайки броя на отделните схеми, необходими за създаване на пълен процесор. Интегралните схеми със средна (MSI) и висока степен на интеграция (LSI) съдържат вече стотици, а след това и хиляди транзистори. Така първият компютър на DEC с LSI схеми, вариант на модела PDP-11, има процесор, изграден с общо четири интегрални схеми.
През 1964 г. IBM въвеждат компютърната архитектура System/360, в която за пръв път е въведена идеята за микрокод и стандартизиране на изпълняваните програми. Дотогава повечето електронни компютри, включително такива на един и същ производител, са несъвместими помежду си и не могат да изпълняват едни и същи програми. Архитектурата System/360 става толкова популярна, че в продължение на близо две десетилетия доминира на пазара на мейнфрейм компютри.
Компютрите, изпълнени с транзистори, имат няколко отчетливи предимства пред предшествениците си. Освен подобрената надеждност и по-ниската консумация на енергия, те имат и много по-високо бързодействие, поради много по-краткото време на превключване на транзистора (в сравнение с електронната лампа транзисторът има по-малки междуелектродни паразитни капацитети, а в сравнение с електромеханичното реле няма движещи се елементи, които имат голяма инерция). Благодарение на увеличената надеждност и значително по-високото бързодействие, през 60-те години процесорите достигат тактови честоти от десетки мегахерци. През този период се появяват и първите високоефективни векторни процесори, предшественици на по-късните специализирани суперкомпютри.
Изобретяването на микропроцесорите през 70-те години на 20 век значително променя устройството и разширява приложението на компютрите. Появата на пазара на първия 4-битов микропроцесор – Intel 4004 през 1970 г. е последвана през 1974 г. от 8-битовия микропроцесор с широко приложение – Intel 8080, който създава предпоставките за принципно нови решения при изграждането на компютърния хардуер. Основните производители на мейнфрейм компютри и миникомпютри започват собствени разработки в посока минимизиране на размерите на дотогавашните си компютърни архитектури, създавайки микропроцесори с набори от инструкции, съвместими с използваните в по-старите им системи хардуер и софтуер. Този процес постепенно довежда до появата и масовото разпространение на персоналните компютри.
Докато по-старите модели процесори са съставени от отделни компоненти и множество интегрални схеми с ниска и средна степен на интеграция, разположени върху една или повече платки, микропроцесорът представлява самостоятелен чип, който позволява много по-голямо съкращаване на времето за превключване. Това с времето ще даде възможност микропроцесорите да достигнат тактови честоти от десетки мегахерци до над три гигахерца. Освен това с подобряването на технологиите за конструиране на транзистори в интегралните схеми техният брой започва силно да се увеличава – съответно да се увеличат функционалните възможности на процесора (както впрочем и на останалите интегрални схеми, използвани в компютъра). Тази емпирична закономерност е формулирана в наблюдавания за пръв път през 60-те години закон на Мур, според който технологично постижимата плътност на разполагане на транзисторите в интегралните схеми се удвоява за 18 до 24 месеца.
Въпреки че сложността, размерът, устройството и общият вид на процесорите се е променил значително от тяхната поява насам, основните принципи на тяхното функциониране остават приблизително същите. Крайната миниатюризация на логическите елементи обаче увеличава въздействието на физични явления, като електромиграцията, а намаляването на разстоянията между тях при повишаване на тактовата честота – до критично влияние на т. нар. паразитни капацитети. Практически след 2007 г. увеличаването на изчислителната мощност на микропроцесорните системи се търси в посока увеличаване на броя на микропроцесорните ядра, разположени на един чип и работещи в паралел, т.е. валидността на закона на Мур вече е твърде спорна. Това е една от причините да се търсят алтернативни конструкции на процесори, като квантовия компютър, както и да се разширяват приложенията на паралелизма и на други методи, разширяващи класическия модел на фон Нойман.
Тази класификация е доста обща, защото непрекъснато се откриват нови приложения на компютрите. Много задачи, които допреди няколко десетилетия са били непосилни за персоналния компютър, днес могат да бъдат изпълнени от портативни или свръхминиатюрни компютри и уреди.
От първоначалното им създаване технологиите за изработка на компютри са се променили радикално. Първите компютри са били изцяло механични. През 30-те години на 20 век се въвежда използването на релета, а през 40-те Джон Атанасов и Клифърд Бери създават първия електронен компютър (ABC). От 60-те години компютрите се изграждат на базата на полупроводникови компоненти – транзистори, диоди и интегрални схеми. Освен тези основни технологии, в развитието на компютрите е имало опити и с други доста екзотични такива. Например, за икономическо моделиране са били използвани канали с различни стеснявания, през които тече вода.
Според активните компоненти и вида и характеристиките на пасивните компоненти, от които е изградена една ЕИМ (или с популярното название компютър), е приета следната класификация:
Днес се разработват нови технологии, които да увеличат производителността на компютрите, например:
За класифицирането технологията е важна, защото предопределя колко са например функциите, които изпълнява компютърът, и каква е скоростта на обработка и обемът на обработена информация за единица време. Изключение правят единствено квантовите компютри, тъй като тяхната технология би позволила дотолкова да се увеличи скоростта на обработка на информация, че това ще доведе до качествено нови функции.
Първите електронни компютри са били много скъпи и масивни – с размерите на стая.
Това ограничава тяхната употреба само до научни изчисления, често за военни цели. ENIAC например е създаден за балистични изчисления, като по-късно е използван за проверка на конструкцията на първата водородна бомба. За осъществяването на това изследване (проведено от 15 декември 1945 г. до януари 1946 г.) са използвани над един милион перфокарти за вход/изход на данни (Много от съвременните суперкомпютри също се използват за симулации, включващи ядрени оръжия.) Британският Colossus е използван от Алън Тюринг за криптоанализ през Втората световна война.
С развитието на универсалните компютри приложенията им стават практически неизчерпаеми. Основната им функция днес си остава обработката на данни, но тя придобива много мащабни размери – особено след създаването на глобалната мрежа Интернет. Например проектът Уикипедия използва уики технологията и Интернет, за да систематизира натрупаните от човечеството знания и да ги направи максимално достъпни за широк кръг потребители.
По-голямата част от съвременните компютри са изградени съгласно архитектурата, описана от Джон фон Нойман.
Например основни съставни части на един съвременен персонален компютър са:
Сърцето на компютъра е процесорът, наричан още Централен процесор (ЦП), (Central Processing Unit, CPU). Той управлява работата на всички останали устройства и изпълнява самата програма (намираща се в паметта на компютъра). Състои се от аритметично-логическо устройство (АЛУ), управляващо устройство (УУ) и регистров блок (РБ).
АЛУ изпълнява целочислените (събиране, изваждане и т.н.), логическите (И, ИЛИ, НЕ) и сравнителните операции.
Управляващото устройство следи къде се намира следващата за изпълнение инструкция в паметта и се грижи резултатът от изпълнението на инструкцията да бъде записан в паметта, ако това е посочено в програмата.
Регистровият блок се използва за служебни цели на УУ и АЛУ и като свръхбърза памет за съхраняване на получаваните резултати.
Дънната платка е една от основните хардуерни части на персоналния компютър. Чрез нея се свързват всички останали части – процесор, памет, входно-изходни устройства.
Оперативната памет е последователност от номерирани клетки с еднаква големина, съдържащи информация. Тази информация може да е инструкция, която процесорът трябва да изпълни, или данни, които трябва да се обработят. Всяка клетка има адрес, чрез който програмата се обръща към необходимото място в паметта. Оперативната памет също така бива наричана памет от 1-во ниво, според отдалечеността от процесора. По принцип тя се дели на ROM (Read Only Memory) и RAM (Random Access Memory).
Най-близка до процесора и най-често вградена в него е малка по-размер памет, наречена кеш памет (процесорен кеш). Времето за достъп до тази памет е най-малко. Кешът най-често е разделен на две части – за данни и за инструкции. Процесорът зарежда в кеша си (на база евристични алгоритми) части от оперативната памет, наречени линии, за да ускори изчислителния процес. Поради факта, че оперативната памет работи със скорост, която е в пъти по-малка от тази на процесора, когато последният трябва да ползва ОП, се налага да изчака, което е продиктувало създаването на процесорния кеш. Процесорният кеш за разлика от ОП не може да бъде директно адресиран от програмиста.
Оперативната памет се различава от външната памет по това, че в нея се съхраняват активните програми, т.е. тези, които се изпълняват от процесора. Чрез техника, наречена суопинг (swapping), външната памет (обикновено твърд диск) може да се използва като оперативна. Външната памет под формата на твърд диск се нарича обикновено памет от 2-ро ниво.
Съществува и понятието памет от 3-то ниво, която се използва при компютри с големи изисквания за количеството на съхранените данни. Такива системи са библиотеките от ленти, които могат да съхранят огромно количество информация, но времето за достъп до нея е огромно, защото самата лента трябва да бъде поставена в четящото устройство от автомат, като бъде физически преместена от мястото на съхранение.
Дънната платка, процесорът, оперативната памет и захранващият блок се намират монтирани в т.нар. системен блок или компютърна кутия, към която се свързват входно-изходните устройства – обикновено твърд диск, флопидисково устройство, монитор, клавиатура, мишка и др.
Съставена е от много елементи, но най-важното при съвременните персонални компютри е, че техните видеокарти са съставени от множество профилирани процесори, които в определени изчисления (най-вече при обработка на видеоинформация, но не само) вече сериозно изместват централния процесор и ускоряват работата на цялата машина значително.
Периферните устройства увеличават функционалността на компютъра. Повечето от тях улесняват и разширяват връзката им с околния свят, в частност с човека.
Пълен списък на съществуващите периферни устройства е посочен в статията за периферни устройства. Основните от тях са:
И други на базата на Universal Serial Bus (USB).