Копроцесор

Въведение

Специфични задачи за обработка

Например, математически копроцесор може да контролира цифровата обработка; графичен копроцесор може да обработва видео изобразяване. Например, микропроцесорът Intel Pentium включва вграден математически копроцесор.

Ядрото е свързано

Копроцесорът може да бъде прикрепен към ARM процесора. Копроцесорът разширява възможностите за обработка на ядрото чрез разширяване на набора от инструкции или предоставяне на конфигурационни регистри. Един или повече копроцесори могат да бъдат свързани към ядрото на ARM чрез интерфейса на копроцесора.

Копроцесорът може да бъде достъпен чрез набор от специални ARM инструкции, които осигуряват интерфейс от тип за зареждане. Например копроцесорът 15 (CP15), ARM процесорът използва регистрите на копроцесора 15 за управление на кеша, TCM и паметта.

Разширен набор от инструкции

Копроцесорът може също така да разшири набора от инструкции, като предостави специален набор от нови инструкции. Например, има специален набор от инструкции, които могат да бъдат добавени към стандартния набор от инструкции ARM за обработка на векторни операции с плаваща запетая (VFP).

Тези нови инструкции се обработват в етапа на декодиране на конвейера ARM. Ако в етапа на декодиране бъде открита инструкция за копроцесор, тя ще бъде изпратена до съответния копроцесор. Ако копроцесорът не съществува или не разпознава тази инструкция, ARM смята, че е възникнало изключение за недефинирана инструкция. Това също така позволява на програмистите да използват софтуер за симулиране на поведението на копроцесора (използвайки подпрограми за услуга за изключение на недефинирани инструкции).

Вътрешна структура

Вътрешната структура на копроцесора 80x87 е показана на фигура 1. Тя може да бъде разделена на две основни части: контролен блок (CU) и цифров изпълнителен блок (NEU).

Контролният блок (CU) свързва копроцесора със системната шина на CPU и както копроцесорът, така и CPU наблюдават потока от инструкции, които се изпълняват. Ако текущата инструкция, която трябва да бъде изпълнена, е инструкция на копроцесор (т.е. инструкция ESCape), тогава копроцесорът ще я изпълни автоматично, в противен случай инструкцията ще бъде предадена на процесора за изпълнение.

Блокът за цифрово изпълнение (NEU) репликира и изпълнява всички инструкции на копроцесора. Той има стек, съставен от 8 80-битови регистъра, който се използва за съхраняване на формата на данни с плаваща запетая с операнди с разширена точност и резултати от операции на математически инструкции. По време на изпълнението на инструкцията на копроцесора или укажете данните в регистъра на стека, или използвайте механизма за натискане/изскачане, за да съхранявате или четете данни от върха на стека.

В компонента NEU има някои регистри, които записват работния статус на копроцесора, като: регистър на състоянието, контролен регистър, регистър на флагове и регистър на указателя на изключение. Функциите на тези регистри ще бъдат въведени отделно по-късно.

Съвременен компютърен копроцесор

През 2006 г. AGEIA обяви картата за ускоряване на физиката PhysX, PhysX е проектирана да се справи с тези отнемащи време и сложни физически изчисления. През 2008 г. Nvidia придоби AGEIA и NVIDIA използва физическия двигател PhysX, за да използва технологията CUDA за ускоряване на изчисленията от ядрото на дисплея.

През 2008 г. Khronos Group пусна OpenCL, който е общ език, който поддържа графични процесори ATI/AMD и Nvidia.

През 2012 г. Intel обяви копроцесора Intel Xeon Phi.

През 2013 г. Apple пусна копроцесора за движение M7 за първи път на iPhone 5s.

Супер процесор

Смъртта на копроцесора

80486CPU имаше копроцесор преди за подобряване на изчислителните възможности с плаваща запетая. Процесорът е стотици пъти по-бърз от оригинала и компютрите обикновено нямат копроцесори.

ARM микропроцесор

Микропроцесорът ARM може да поддържа до 16 копроцесора за различни операции за съвместна обработка. По време на изпълнение на програмата всеки копроцесор Процесорът изпълнява само свои собствени инструкции за съвместна обработка, като игнорира инструкциите на ARM процесора и други копроцесори. Инструкциите на копроцесора на ARM се използват главно от процесора ARM за инициализиране на операциите за обработка на данни на копроцесора ARM и за прехвърляне на данни между регистрите на процесора ARM и регистрите на копроцесора, както и в регистрите и паметта на копроцесора ARM Прехвърляне данни между. Инструкциите за ARM копроцесор включват следните пет: — Инструкции за манипулиране на номера на CDP копроцесор — Инструкции за зареждане на данни на LDC копроцесор — Инструкции за съхранение на данни на STC копроцесор — Инструкции за трансфер на данни от регистри на MCR ARM към регистри на копроцесор — Инструкция за прехвърляне на данни от регистър на MRC копроцесор към регистър на ARM процесор.

ARM: Копроцесорът включва следните пет:

CDP: Инструкции за манипулиране на данни от копроцесора.

LDC: Инструкция за зареждане на данни от копроцесора.

STC: Инструкции за съхранение на данни на копроцесора.

MCR: Инструкция за трансфер на данни от регистъра на ARM процесора към регистъра на копроцесора.

MRC: Инструкция за трансфер на данни от регистъра на копроцесора към регистъра на ARM процесора.

Related Articles
TOP