Keresés

Új hozzászólás Aktív témák

  • Maverick14

    tag

    válasz Psych0 #4 üzenetére

    Elvileg bármilyen programnyelvből lehet áramkört szintetizálni a Turing-Church tézis alapján.
    Az FPGA-k programozhatósága miatt pontosan fordítva érdemes gondolkodni. Nem általános célú magok sokaságát, hanem a legszámításigényesebb funkciókhoz specializált műveletvégző egységeket érdemes megvalósítani. Ideális esetben az architektúrát szabod a feladathoz és nem a feladatot az architektúrához.
    Jelenleg is vannak már olyan kereskedelmi forgalomban kapható programok (pl. Calypto Catapult C, AutoESL AutoPilot (őket másfél éve vásárolta fel a Xilinx)) amik natív ANSI C kódból tudnak áramkört generálni. A probléma az hogy pl. egy néhány műveletet tartalmazó sima for ciklust is nagyon sokféleképpen le lehet képezni egy áramkörre. Attól függően, hogy mekkora a rendelkezésre álló felület, mekkora áteresztőképességgel és mekkora késleltetéssel dolgozhat a rendszer.
    Az OpenCL abban segít, hogy a programozó explicite meg tudja adni, mik azok a kernelek amik párhuzamosan futhatnak. A fordító ez alapján automatikusan legenerál egy architektúrát a kernelhez. A másik előny, hogy elvileg ugyanaz a kód fordulhat APU-ra is.
    Mindkét FPGA-s cég dolgozik általános célú processzor és FPGA integrálásán. Az ARM Cortex-A9 MPCore magra építenek az Altera-nál az Arria V SoC és Cyclone V SoC a Xilinx-nél a Zynq sorozatban. Jelenleg úgy tűnik a Xilinx picit előrébb jár ebben, mert ES chip-ek már vannak és augusztustól elérhetők lesznek Zynq-es fejlesztőkártyák.

    My other car is an F-14 Tomcat!

  • Maverick14

    tag

    válasz emvy #12 üzenetére

    Természetesen az FPGA nem csodafegyver, nem minden feladatot lehet rajta hatékonyan megoldani.
    A "direkt módon kommunikálnak"-ot úgy érted, hogy olyan áramkörre lett volna szükségetek ahol a feldolgozó egységek egy teljesen összekötött hálóban vannak?
    Asanovic-ék cikkét olvastam pár éve, a probléma osztályok (törpék) definiálása jó volt benne a többi részét a cikknek picit frissítenem kellene. :B
    Az is igaz, hogy a párhuzamosítási lehetőségeket egy szekvenciálisan végiggondolt kódban/algoritmusban nehéz megtalálni. Az új sok-ezer processzoros hardverek hatékony programozásához új algoritmikus szemléletre van szükség. A régi algoritmusok átalakítása nem elég. Az algoritmusodat úgy kell megtervezni, hogy a cél architektúra fizikai kialakítását, struktúráját figyelembe vegye.

    My other car is an F-14 Tomcat!

  • Maverick14

    tag

    válasz JColee #19 üzenetére

    A VHDL-t a 80-as évek elején kezdték fejleszteni a DoD megbízásából a VHSIC (Very High Speed Integrated Circuits) program keretében. A nyelv sok elemét az akkoriban szintén nekik fejlesztett Ada-ból vették át. A C/C++ akkor még nem volt domináns, az Ada-t is azért fejlesztették ki, hogy a DoD-nál használt mindenféle programnyelveket egységesítsék.
    A másik manapság elterjedt hardverleíró nyelv a Verilog is csak nyomokban hasonlít a C-re.

    My other car is an F-14 Tomcat!

Új hozzászólás Aktív témák