EVU 2 семестър/Презентации EVU в PDF/Матов съпроцесор 1

съпроцесор

Математически съпроцесор. Формати за данни на FPU.

Софтуерен модел на FPU.

Изключения и интерфейс на съпроцесора

Физически факултет, EVU и системи, 7 семестър, 2010

семестър 2010

Математически съпроцесор - съпроцесор

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

Физически факултет, EVU и системи, 7 семестър, 2010

съпроцесор

Основното изпълнително устройство на математическия съпроцесор е единица с плаваща запетая (FPU).

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

• Съпроцесорът обаче разполага със собствена микропрограмна машина, набор от регистри и изпълнителни устройства, като по този начин е функционално независим.

Физически факултет, EVU и системи, 7 семестър, 2010

централния процесор

Схемата на взаимодействие между централния процесор и копроцесора

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

Физически факултет, EVU и системи, 7 семестър, 2010

системи семестър 2010

Схемата на взаимодействие между централния процесор и копроцесора

• След получаване на командата и необходимите данни, съпроцесорът започва нейното изпълнение. Докато съпроцесорът изпълнява инструкцията, централният процесор продължава да изпълнява програмата, паралелно с изчисленията на съпроцесора. Ако следващата команда също е команда за съпроцесор, процесорът спира и чака съпроцесорът да завърши предишната команда.

• Има и специална команда за изчакване (FWAIT), която принудително спира процесора преди приключване на изчисленията (ако резултатите им са необходими за продължаване на програмата).

Физически факултет, EVU и системи, 7 семестър, 2010

съпроцесор

При липса на съпроцесор

 Приложението използва инструкции на FPU, но ОС трябва да поддържа емулация на съпроцесор. Емулаторът на копроцесор е манипулатор на прекъсване на копроцесор или изключение # NM, което трябва да улови кода на копроцесора, да намери данните и да извърши необходимите изчисления, използвайки CPU целочислена аритметика.

Ясно е, че емулацията ще бъде по-бавна от същите действия, извършвани от истински FPU. За да направите това, комбинациите от флагове трябва да бъдат зададени в регистъра CR0

Физически факултет, EVU и системи, 7 семестър, 2010

централния процесор

 Нули (положителни и отрицателни) - и двете стойности са еквивалентни;

 Денормализирани крайни числа (положителни и отрицателни);

 Нормализирани крайни числа (положителни и