|
Сивостен :: Компютърът: Микропроцесор (статия) - Компютри, Хардуер, Микропроцесор
 | |
Микропроцесорът е на практика сърцето на компютъра. Заедно с паметта, те са двете основни звена на всяка модерна архитектура, базирана на модела на фон Нойман. Как обаче работи? Всъщност независимо дали е AMD или Intel, процесорът работи по един и същ начин, поне по отношение на основните принципи. И точно тях ще разгледаме в този материал. Така че ако някога сте се чудили какво прави този мъничък чип с голямо охлаждане, настоящата статия ще ви запознае накратко с технологията, която позволява на компютъра да си върши работата, независимо дали тя е четене, писане, слушане, гледане или пък игра.
Какво му е толкова забележително на микропроцесора? Преди да се появи първият процесор на Интел, а именно 4004 през 1971 г., цялата изчислителна работа, се е извършвала от множество отделни компоненти. Какво ще рече това – куп транзистори, свързани с жици, всеки един самостоятелен, са се грижели за цялата работа, извършвана в момента от един единствен чип. Както се досещате, това е водело до доста обемисти дизайни и е изключвало масовата употреба на компютрите.
Всъщност самият 4004 няма отношение към индустрията извън факта, че на негова база се появява цяла серия чипове и неговата технология се основават и модерните микропроцесори. Иначе като приложение конкретно този чип се явява сърцето на първите джобни калкулатори. Затова пък един от неговите наследници – 8-битовият 8080, който се появява през 1974 г., вече загатва за възможностите на технологията. Която обаче трябва да изчака до 1979 г., когато се появява 8088, включен в дизайна на IBM PC, родоначалник на модерните персонални компютри, за да направи истинска революция в индустрията.
Следващите чипове 80286, 80386, 80486 и т.н. та чак до Пентиум серията, всъщност са еволюция на първоначалния 8088. С тази разлика, че например Pentium 4 е само около пет хиляди пъти по-бърз от родоначалника си и въпреки новите технологии, приложени в създаването му, може да изпълнява абсолютно същия код като него. И в нормалната си работа прави точно това. Всъщност еволюцията включва освен увеличаване на честотата и подобрение по отношение на броя инструкции, които чипът изпълнява за единица време. Докато на 8088 са му били необходими петнадесет такта, за да изпълни една инструкция, на модерните процесори е нужен под един.
За да разберем как става това, трябва да сме запознати с основните принципи, на чиято база работи един процесор. Като начало можем да кажем, че той изпълнява множество машинни инструкции, които се заключават до изчисление, преместване на данни от едно място в паметта в друго и прескачане от даден набор инструкции към друг. Изчисленията се правят от аритметично логическо устройство (АЛУ), което извършва операции като събиране, изваждане, умножение и деление, както и сложни изчисления, включващи големи числа с плаваща точка, при модерните процесори.
За да изпълни тези операции, процесорът включва няколко основни компонента извън АЛУ, като например декодер на инструкциите, тактуващ часовник, програмен брояч, адресна шина и шина за данни и множество регистри и тригери. Декодерът на инструкциите например в зависимост от изпълнявания набор инструкции „отключва” определени тригъри, да пропуснат пристигащите по шината данни и операции, които да бъдат извършени от АЛУ, „дава информация” дали процесорът ще пише, или чете адреси от паметта, нулира програмния брояч и е пряко свързан с тактуващия часовник, който синхронизира цялата работа на процесора.
Данните се съхраняват в паметта, която разгледахме в статията „Компютърът: Оперативна памет”, така че ще оставим този въпрос. Нека разгледаме какви инструкции получава процесорът. Всеки процесор има даден набор от инструкции, свързани с операциите, които може да извършва. Всяка от тях има различно значение и когато бъде заредена в регистъра на инструкциите и декодирана от декодера на инструкциите, „отключва” някаква операция. На машинно ниво те се представят като комбинация от битове, но на асемблерно изглеждат като думи, които репрезентират точно и по единствен начин машинната инструкция. Такива инстукции са например JUMP <адрес>, която указва преминаване към даден адрес в паметта или ADD (за събиране на две клетки от паметта), JGE (прескачане към даден адрес, ако е изпълнено условие по-голямо или равно) и т.н.
На всяка подобна инструкция съответства даден код. Декодерът на инструкциите работи с тези кодове и ги преобразува в електрически сигнали, които биват изпращани към различни части в процесора. Какво се случва, като се получи например инструкция за деление? Най-елементарното обяснение би било, че по време на първия цикъл се активират програмният брояч, линията за четене, тригъра на шината за данни и инструкцията се прехвърля в регистъра на инструкции. По време на втория цикъл инструкцията се декодира, на АЛУ се указва, че следва деление, пренасочва се изходът към даден регистър и програмният брояч се увеличава с единица. И като цяло това е всичко. Естествено по-сложни инструкции се налага да бъдат обработени на повече стъпки.
И в общи линии така работи един микропроцесор. Разбира се, това е една малка част от случващото се между милионите транзистори в кристала на процесора, но дава най-обща представа за функцията на този толкова важен компонент на компютъра. В модерните чипове например има реализирани сложни механизми за предвиждане кои точно данни ще се използват в следващия момент с цел предварителното им зареждане в кеша, което ускорява обработката на информацията неимоверно. Има специални инструкции, обслужващи графичната обработка и т.н. Но с изключение на тези неща, които отличават процесора в наши дни от първоначалния 8088, основната концепция си остава същата през годините. |
Добави коментар 
Ако сте регистрирани във форума можете да коментирате и тук
|
|