• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LITTLELIAssembler
    DARK_SAVANT
    DARK_SAVANT --- ---
    SEJDA > viz littleli - myslim ze je to zrovna ta aam :o)
    LITTLELI
    LITTLELI --- ---
    SEJDA: ja nevim, jsem marod a vubec mi to nepremysli, kazdopadne si myslim ze se na to pouzivaji instrukce s BCD.... AAM apod, ty by ten prevod mely
    zvladnout dobre. ted to po me ale nechtej
    SEJDA
    SEJDA --- ---
    mam pro vas ukol .. na 24 bytu nebo min .. portebuju pres sluzby ms-dosu .. vypsat cislo v ax na obrazovku (ah = 2 nebo 9 int 21h .. pro tisk znaku nebo retezce ukonceneho '$')
    Ja jsem prisel jenom na tohle:
    mov cx, ax
    mov bx,10
    
    prevod:
    pusha
    xor dx, dx
    div bx
    or dl, 30h
    cmp al, 0
    jne prevod
    
    tisk:
    mov ah,02
    int 21h
    popa
    test ax, cx
    jne tisk
    
    ret
    

    Jeste dodam, ze je to pro i8086 ..
    _FREZA_
    _FREZA_ --- ---
    jcd: jojo :-)
    JCD
    JCD --- ---
    vhdl je nejukecanejsi jazyk co jsem kdy videl...videl jsem v tom napsanej PIC mikrokontroler, ne ze bych to nejak umel, jen co jsem k tomu cuchnul ve skole ;]]]
    LITTLELI
    LITTLELI --- ---
    no ted zrovna jsem videl ze nekde prijmou vyvojare VHDL
    njo kdyz se clovek 'zabije' jako ja na blbym oboru tak co se mnou ,-)
    JANFROG
    JANFROG --- ---
    _FREZA_: To samozrejme, FPGA je jen pro prvotni testovani. Co jsem slysel, tak uz to delaj tak, ze ti z toho vyleze i PCI karta i s nejakejma
    monitorvacima obvodama a pak si to ve special softiku ladis - proste HW simulator :-)
    Jinak ja osobne s timhle nikdy do styku neprisel - maximalne ve skole s VHDL (co se tuce jazyka, videl jsem elegantnejsi, tohle mohli vymyslet jen v Petagonu...)
    LITELLI: To je fakt. Penez nemaj malo, ono to asi neni tak jednoduche, jak to tady povidam :-)
    LITTLELI
    LITTLELI --- ---
    _FREZA_, JANFROG: ale specialisti na tyhle veci jsou pomerne slusne placeny jsem koukal ;) tjo
    _FREZA_
    _FREZA_ --- ---
    JANFROG: jojo, presne tak. teda s tim ze do FPGA to budes hazet jenom kdyz toho vyrabis relativne malo. kdyz chces tech procesoru pak mit vagon, tak si to nechas napalit do ASICu (vyjde to levnejc, FPGAcko stoji radove desitky az stovky dolaru na kus - aspon co vim).
    LITTLELI
    LITTLELI --- ---
    achjo :) no to tedy je
    JANFROG
    JANFROG --- ---
    SEJDA: No, ono pisi procesory je IMHO presnejsi - dnes uz se to nekresli hradlo po hradle a proste se to chovani toho procesoru naprogramuje (= napise) v nejakem prostredi - VHDL, Verilog...pak se to akorat predhodi k synteze a vysmahne na FPGA :-) To je uroven, co? :-))
    LITTLELI
    LITTLELI --- ---
    :) no 0.00000000025s .... to mi pripomina DATA (toho ze startreku) to je totiz pro androida, straaaasne dlouha doba .))) me slo proste o to, ze tyhle pomaly instrukce strasne zdrzujou a to ze tam je napr. 2x FPU + 3x ALU to je prima, ale FDIV treba zablokuje obe ty FPU jednotky... proste to tak je na x86.

    ja sam umim trosku x86 a pak uz jen velmi bidne na mc6502 (atari) - to tenkrat jeste slo presne spocitat kolik ktera instrukce trva, u soucasnych x86 procesoru to proste nejde...

    to je k hovnu :D pojdme neco resit. at se neco priucim taky .)
    SEJDA
    SEJDA --- ---
    ja nemyslel pisou procesory .. ja myslel navrhuji procesory ..
    _FREZA_
    _FREZA_ --- ---
    no kluci v praci taky pisou procesory, ale takovy malinky specializovany jednoduchy, takze nevim... ;)
    SEJDA
    SEJDA --- ---
    Tezko rict jestli rikas bludy .. ono je na procesorech nekolik stovek patentu, a vypocet CISC instrukci .. to je co intrukce to patent :o))
    _FREZA_
    _FREZA_ --- ---
    SEJDA: kdyz si vezmes se je mikrosekunda je prodleva 'viditelna pouhym okem' (tj. v programovani je to pozorovatelne dlouha doba. mam napr. napsanej dost slusne presnej mikrosekundovej delay [1]), tak 25ns na jednu operaci neni uplne fajn ;-).

    Jinak, ono kdyz si clovek predstavi jak pomalej je uz jenom blbej komparator [2] tak je lepsi na floating point zapomenout (v extra kritickejch castech extra kritickyho kodu) :-)

    [1] Je to busy loop, predem kalibrovana pres gettimeofday. Presnost overena na osciloskopu. Unixovy usleep pouzit nejde (je to syscall, jenom zavolani vezme nekolik mikrosekund), gettimeofday k samotnymu cekani taky dobry neni (na PC pro zmenu cte RTC, pomalejsi nez syscall).

    [2] Naivni implementace je linearni vzhledem k delce registru (stromecek ANDu), lepsi implementace je logaritmicka (hierarchie lookup tablu), ale moznosti je urcite vic. (tohle je uvaha specificka pro programovani FPGA, z ceho se pisou ASICy nemam predstavu ;).

    (moje znalosti low-level hw jsou omezeny na to co pochytim od kolegu, takze sorry pokud rikam bludy)
    SEJDA
    SEJDA --- ---
    HYBY: no, presnost je dana vnitrim mechanismem zpracovani .. ruznymy vypocty muzes dojit k ruzne presnym vysledkum .. to se tyka i elementarnich operaci pri deleni a nasobeni.

    LITTLELI: 250 ? Ja myslel za na PII MMX to bylo tak 42 .. ale i tak mas na PII 1x FPU + 2x ALU .. na vyssich pentii je to snad 2x FPU + 3x ALU .. takze komu vadi, ze se cast procesoru bude 0,000000025s zabyvat delenim s presnosti na uznevim kolik (asi 19) desetinnych mist ..
    HYBY
    HYBY --- ---
    LITTLELI: co se tyce fixed x floating point tak snad nelze mluvit o presnosti (to je proste dano sirkou registru), ale o zpusobu prace s registrem. pokud mam v tomhle nejaky nejasnosti tak me prosim oprav.
    LITTLELI
    LITTLELI --- ---
    fixed point poskytuje ale pomerne slusnou presnost .-) hlavne si clovek dopredu
    muze urcit, jak moc presne to potrebuje
    float point muze byt sice presnejsi, ale zase je to pomaly.... az hruza.
    takovej fdiv nebo fmul trvaji radove nekolik desitek cyklu (tusim ze fdiv dokonce 250...)
    nejake veci jsou uvedene v tech dokumentech co jsem je pridaval,
    nenechte se zmast, ze je tam optimalizace pro Athlon a P4, nektere
    rady jsou i obecnejsiho charakteru, takze jsou pouzitelne i pro procesory
    nizsich trid.
    SEJDA
    SEJDA --- ---
    obycejna pentia nemaji MMX .. a ty jsou na to snad nejrychlejsi .. hodne se vyplati pouzivat SIMD instrukce ..
    Kliknutím sem můžete změnit nastavení reklam