Miket szoktak implementálni egy CO-processzorba?
Amit sejtek:
(fixpontos és lebegõpontos mûveletek)
összeadás,kivonás, szorzás, osztás
négyzetre emelés, gyökvonás, szögfüggvények
Van még valami?
logaritmus, x az y-odikra emeles, szogfuggvenyek ahogy irtad (altalaban inverz is), meg egy rakas "opcode" amivel az adatok menedzselhetoek (konvertalas, beepitett konstansok neha mint pl a pi, push/pop a stack-jeben, meg hasolok, neha exchange, miegymas). Ezeket a muveleteket sok esetben lookup tablakbol csinalja (marmint foleg pl szogfuggveny) ami csak kis reszre van tarolva, kihasznalja a fuggveny folytonossagat, es ket pont kozott linearis (esetle komplexebb) kozelitest vegez a pontossag erdekeben stb.
Ezeknek a cuccoknak altalaban egy stack szervezesu 'regiszterkeszlete' van (ha jol remlik igy mux az x86-okhoz tervezett FPU-k is, az mar passz, hogy a 486-os ota a CPU-ra integralt FPU egy mai modern cpu-ban hogy megy: gyanitom ott is megy igy, mert az x86 elonye es atka is egyben ugye a "kotelezo" kompatibilitias. Ha jol remlik az Am9511 16 es 32 bites fixpontos, es 32 bites float dolgokkal operal (ahogy az EP128 vga-ra topic-ban is irtam: a 9512 jobb, stb de csak 4 alapmuvelet, amug az IEEE formatumu 'szabvany' float kelezese jo am, pl ha C forditot akarsz a gepre, jo ha a float/double abrazolas/szamolas hw-bol megy es compatible pontossag stb teruleten az eloirtakkal).