Naredna: Specifikacija Gore: Verifikacija programa Prethodna: Prevođenje u C program   Sadržaj


Hardverdsko celobrojno deljenje

U većini modernih mikroprocesora opšte namene postoji jedinica za operacije nad racionalnim brojevima (floating point unit ili FPU). Brzina te jedinice izuzetno je važna za razne aplikacije.

U mnogim FPU jedinicama, posebna pažnja u dizajnu poklanja se brzom sabiranju i množenju, dok deljenje dobija manje pažnje. Najčešće je vremenski opseg za jedno sabiranje između dva i četiri takta mikroprocesora, opseg za množenje je između dva i osam, dok je opseg za deljenje sa dvostrukom tačnošću između osam i šezdeset taktova. Često se smatra da je deljenje retka operacija i da ne zaslužuje posebnu pažnju prilikom razvoja hardvera. Međutim, razne studije ukazuju na značaj deljenja, kako u smislu brzine tako i u smislu ispravnosti.

Postoji više tipova algoritama za hardversko deljenje a u nastavku ćemo se baviti jednim takvim algoritmom i dokazati njegovu korektnost.

Zadatak: Napisati program koji izračunava rezultat celobrojnog deljenja nenegativnog celog broja x sa pozitivnim celim brojem y i smešta ga u promenljivu q a ostatak koji se pri tome dobija smešta u promenljivu r.



Potpoglavlja


Naredna: Specifikacija Gore: Verifikacija programa Prethodna: Prevođenje u C program   Sadržaj