Копроцесор: Архитектура, работа, видове и приложения

Опитайте Нашия Инструмент За Премахване На Проблемите





В микропроцесор чип, добавена е нова схема за постигане на специални задачи, а също и операции с числа за разтоварване на ядрото на процесора, така че процесорът да може да функционира много бързо. Допълнителен процесор като копроцесор се използва главно в компютрите за постигане на специални задачи като обработка на графичен дисплей и широки аритметични изчисления. Този процесор е проектиран да изпълнява такива задачи много ефективно в сравнение с процесора, като по този начин общата скорост на компютъра може да бъде увеличена. Тази статия обсъжда общ преглед на a копроцесор – архитектура, работа и нейните приложения.


Какво е копроцесор?

Процесор, който работи с основния процесор на компютър като CPU един до друг, е известен като копроцесор. Този процесор е известен също като допълнителен компютърен процесор. Чрез използването на този процесор могат да се извършат някои трудни математически изчисления, като графики, показани на екрана, обработка на сигнали, обработка на низове, аритметика с плаваща запетая, входно-изходен интерфейс и др.



  Копроцесор
Копроцесор

Архитектура на копроцесора

Архитектурата на копроцесора като 8087 е показана по-долу. По принцип този копроцесор работи паралелно с микропроцесора. Този копроцесор е разработен от Intel и се използва с 16-битови микропроцесори от семейството 8086. Когато процесорът функционира в комбинация с микропроцесора, изчислителната част просто се обработва от процесора и това позволява на процесора да използва ресурсите за изпълнение на различни други дейности.

Следващата фигура представя архитектурата на копроцесора 8087. Тази архитектура включва две основни единици като контролна единица и единица за цифрово изпълнение, която също се нарича NEU.



  8087 копроцесорна архитектура
8087 копроцесорна архитектура

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

Блокът за управление в копроцесора трябва да контролира изпълнението на инструкциите (IE), за което отговаря блокът за цифрово изпълнение. Най-често блокът за управление на микрокод (CU) на блока за цифрово изпълнение получава цифровите инструкции от контролния блок на копроцесора. Този копроцесор има пълни 8 регистъра от 80 бита и всеки от тях се използва в стека LIFO. Операндите, върху които ще се появят инструкциите на копроцесора, съществуват в регистровия стек.

  PCBWay

Съществуващият стек е насочен през 3-битовия SP (указател на стека), който съдържа двоичните стойности, които варират от 000 до 111, за да се покажат 8-те регистъра на стека. Работи в рамките на кръгъл стек в режим LIFO. Но след като се извърши действието за нулиране, указателят може да се инициализира с двоична стойност „000“.

Трите класификации на числовите данни, върху които работи копроцесорът, са пакетирани десетични числа, реални числа и двоични цели числа. Двоичните цели числа са три вида 16-битово цяло число от дума, 32-битово кратко цяло число и 64-битово дълго цяло число. 80-битовият BCD формат означава пакетираните десетични числа, докато реалните числа са 3 вида; 32-битов къс реален, 64-битов дълъг реален и 80-битов временен реален.

За прехвърляне на числови данни в копроцесора или a Използва се 16-битова експонентна шина или 64-битова мантиса . Копроцесорът включва 16-битова контролна дума и 16-битова дума за състояние.

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

По подобен начин думата за състояние се чете по такъв начин, че процесорът изпраща данните в регистъра за състояние към място в паметта. Освен това този копроцесор чете регистъра на състоянието от това конкретно място на паметта. Това означава, че процесорът и микропроцесорът комуникират помежду си чрез основната памет.

Как работи копроцесорът?

Копроцесорът е проектиран да работи главно с процесорите 8086 и 8088. Копроцесорът се използва, за да помогне на системата да работи по-мощно чрез разтоварване на специфични задачи на процесора. След като този процесор работи в комбинация с микропроцесора, тогава инструкциите както на микропроцесора, така и на копроцесора се интегрират при писане на програмата. Началото на инструкциите в програмата на асемблерния език има „F“, което представлява инструкциите на копроцесора, докато инструкциите без префикс „F“ показват инструкциите на микропроцесора.

Първоначално инструкциите се извличат от микропроцесора от мястото на паметта и последователно се зареждат в опашката, като в същото време копроцесорът 8087 също чете и съхранява инструкциите във вътрешна опашка. Така че това означава, че всяка отделна инструкция може да бъде прочетена както от копроцесора, така и от процесора, но по време на изпълнение и копроцесорът, и микропроцесорът могат да изпълнят изпълнението на своите конкретни инструкции. Това означава, че инструкцията се чете и декодира. Ако микропроцесорът провери дали има инстр на копроцесора, тогава тази инструкция се третира като No-operation. По същия начин, ако този копроцесор се доближи до която и да е инструкция на микропроцесор, тогава това ще се третира като липса на операция.

Видове копроцесори

Налични са различни копроцесори на базата на производители като следните.

Копроцесор Intel 8087

Intel 8087 е специално проектиран копроцесор, който се използва за извършване на математически изчисления, които включват стойности с плаваща запетая и цели числа. Понякога е известен също като процесор за числени данни и математически процесор. Това е цифров копроцесор за процесори Intel 80188, 8086, 80186 и 8088. Копроцесорът 8087 включва осем 80-битови общи регистъра, които се изпълняват като стек. И така, всички операции с плаваща запетая просто се изпълняват с данни от стека и от външна памет.

  Копроцесор Intel 8087
Копроцесор Intel 8087

Копроцесорът Intel 8087 просто поддържа BCD, цели числа, числа с плаваща запетая с единична и двойна точност, както и числа с плаваща запетая с разширена точност. След като процесорът 8087 зареди данни от паметта, той преобразува вътрешно, за да разшири прецизното число и по-нататък всички изчисления се извършват чрез това число.

Така че преминаването от число с двойна точност към число с единична точност в противен случай от 64-битово цяло число – 32-битово/16-битово цяло число не дава никакво значително повишаване на производителността. Копроцесорите 8087 са произведени не само от Intel, но и AMD, Cyrix & IBM също произвеждат тези копроцесори.

Motorola 68881

Motorola 68881 е копроцесор, който се използва главно с 2-ро поколение на Motorola 68K микропроцесори като Motorola 68030 & 68020. Теоретично този копроцесор се използва с по-ранни процесори 68000 или 68010 като периферно устройство.

  Motorola 68881
Motorola 68881

Копроцесорът Motorola 68881 просто функционира като устройство с карта на паметта. След като главният процесор зареди инструкцията на копроцесора, той записва кода на инструкцията в CIR (регистри на интерфейса на копроцесора), които са картографирани в адресното пространство на процесора, и след това той чете отговора на съпроцесор от един от CIR регистрите.

Копроцесорите Motorola 68881/68882 бяха използвани в работните станции IBM RT PC, работните станции Sun Microsystems Sun-3, NeXT Computer, семейството на Apple Computer Macintosh II, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Тези процесори се използват и в някои продукти на Atari & Amiga на трети страни, като устройство с картографирана памет към 68000.

Копроцесори за движение на Apple

М-серията копроцесори на Apple са известни като копроцесори за движение, които се използват в мобилни устройства на Apple. Първият копроцесор е проектиран през 2013 г., използван за събиране на данни от сензори от вградени жироскопи, акселерометри и компаси и разтоварване на събраните данни от сензори с помощта на главния процесор.

  Копроцесори за движение на Apple
Копроцесори за движение на Apple

Копроцесорите на М-серията на Apple просто събират и съхраняват данните от сензора, дори ако устройството е в режим на заспиване и приложенията могат да възстановят данни, след като устройството се включи отново. Така че това намалява консумираната мощност от устройството и спестява живота на батерията.

Разлика между процесор и копроцесор

Разликата между процесор и копроцесор включва следното.

Процесор

Копроцесор

Процесорът е основният процесор в компютъра, който изпълнява различни аритметични, логически и контролни операции въз основа на инструкциите. Копроцесорът е специален процесор, който поддържа основния процесор.

Процесорът се грижи за всички основни работи

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

Предимства

Предимствата на копроцесора включват следното.

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

Недостатъци

Недостатъците на копроцесорите включват следното.

  • Копроцесорът не е способен да възстановява инструкции от паметта, да изпълнява директно инструкции, да управлява паметта, да изпълнява I/O операции
  • Зависи от основния процесор да възстанови инструкциите на копроцесора и да се погрижи за всички други операции, които не са свързани с копроцесора.
  • Това не е основният процесор на системата.
  • Копроцесорът не може да работи без основния микропроцесор.

Приложения

Приложенията на копроцесорите включват следното.

  • Копроцесорът се използва за изпълнение на някои от по-специализираните задачи като графична обработка на дисплея или сложни математически изчисления.
  • Копроцесорът просто се използва за намаляване на тежестта върху процесора на компютъра.
  • Този процесор работи паралелно с процесора на компютъра.
  • Този процесор изпълнява математически операции от високо ниво много по-бързо в сравнение с основния процесор като корени, логаритми, тригонометрични функции и др.
  • Копроцесорът увеличава функциите на основния процесор.
  • Копроцесорът изпълнява различни операции като обработка на сигнали, аритметика с плаваща запетая, обработка на низове, графики, I/O интерфейс чрез периферни устройства, криптография и др.
  • Тези процесори са самостоятелни чипове в по-ранните настолни компютри, които са били свързани към дънната платка.
  • Копроцесор се справя със задачите на процесора за повишаване на цялостната производителност.

По този начин, това е преглед на копроцесор – работа и нейните приложения. Този процесор е известен още като математически процесор. Копроцесорът изпълнява различни задачи много по-бързо в сравнение с основния процесор. По този начин общата скорост на компютърната система се увеличава. Този процесор може да бъде прикрепен към ARM процесор. След като бъде добавен, тогава трябва да увеличим набора от инструкции на Core CPU или да включим конфигурируеми регистри за увеличаване на мощността на обработка. Ето един въпрос към вас, какво е микропроцесор?