A Reconfigurable Arithmetic Datapath Architecture

Size: px
Start display at page:

Download "A Reconfigurable Arithmetic Datapath Architecture"

Transcription

1 A Reconfigurle Arithmetic Dtpth Architecture Reiner W. Hrtenstein, Riner Kress, Helmut Reinig University of Kiserslutern Erwin-Schrödinger-Strße, D Kiserslutern, Germny Fx: , emil: Astrct A reconfigurle dt-driven rithmetic dtpth rchitecture for ALUs is presented which my e used for custom computing mchines, Xputers nd other dptle computer systems s well s for rpid prototyping of high speed dtpths. Fine grined prllelism is chieved y using simple reconfigurle processing elements which re clled dtpth units (DPUs). The word-oriented dtpth simplifies the mpping of pplictions onto the rchitecture. Pipelining is supported y the rchitecture. The progrmming environment llows utomtic mpping of the opertors from high level descriptions. Two implementtions, one y FPGAs nd one with stndrd cells re shown. 1. Introduction For numericl computtions with custom computing mchines, word-oriented dtpths re necessry. A recent trend in FPGA rchitectures moves towrd support of efficient implementtion of dtpth circuits. Xilinx XC4000 series [11] provides fst 2-it ddition t ech logic cell y specil crry circuit. AT&T's ORCA [6] supports lrger dt mnipultions. For exmple 16 it dder requires only four function locks. Word-oriented dtpths re not directly supported y FPGAs currently ville, since these circuits re evluted for oth rndom logic control nd dtpth pplictions. Word-oriented dtpths in reconfigurle circuits hve the dditionl dvntge of opertors eing mpped more efficiently. Thus they support progrmming environments for custom computing mchines. Hrdwre designers usully hve no prolem in using custom computing mchines, since most of the progrmming models these mchines provide re t hrdwre level. Algorithms hve to e expressed y hrdwre description lnguge. Then they hve to e synthesized to the dedicted hrdwre, or the ppliction hs to e edited vi schemtic editor nd mpped y n FPGA vendor tool [2], [1]. People coming from the softwre side re more used to progrm with procedurl high level lnguge. To mke custom computing mchines more interesting to such people, procedurl model for high level progrmming is needed. Some custom computing mchines, consisting of n ccelertor ord nd host, support function clls from high level lnguges to e executed on the ccelertor ord, ut they re not le to configure the ord from this level, e. g. [3]. Some reserchers strt to evlute compilers for their ords to compile high level input lnguge directly. Gokhle nd Minnich [4] for exmple present such compiler to progrm n rry of FPGA chips in high level prllel C using SIMD progrmming model. However still prolems re the utomtic mpping of loops, rithmetic nd logic opertors. This pper introduces n Xputer [8] sed methodology solving these prolems which strongly supports rithmetic pplictions. The Xputer provides hrdwre nd softwre environment for reconfigurle ALU (ralu). The ralu hs to compute user defined compound opertor only. A compiler for the Xputer supports the high level lnguge C s input. The ralu progrmming environment hs to compile rithmetic nd logic expressions s well s conditions into the ralu. The mchine prdigm of the Xputer is descried in [7]. The reconfigurle dt-driven ALU proposed here, consists of the ralu control nd the reconfigurle dtpth rchitecture (rdpa). The rdpa is word-oriented sclle regulr rry of simple processing elements clled dtpth units (DPUs). The DPUs provide higher grnulrity of the sic function units thn usul FPGAs. This supports utomtic mpping of rithmetic nd logic opertors to the rdpa. Using the Xputer with the dtdriven ralu llows the progrmming from high level lnguge. The rchitecture does not only fit s reconfigurle ALU for Xputers, it my lso e used for ny other - 1 -

2 kind of dptle computer system s well s universl ccelertor coprocessor or for rpid prototyping of high speed dtpths. First, this pper gives short introduction to the hrdwre environment. Section 3 introduces the rdpa. An implementtion with commercil FPGA chips nd one with stndrd cells is shown nd oth re compred to ech other. The usge s ralu for Xputers is explined in section 4. The progrmming environment llows the mpping of opernds nd conditions to the rdpa utomticlly (section 5). The finl sections present n exmple nd conclude the pper. 2. Hrdwre environment Dt Sequencer Control Memory Instr. Sequencer Generic Address Genertor Generic Address Genertor MoMus Bus interfce VMEus Scn Window ralu Sunet Scn Window ralu Sunet Scn Window ralu Sunet Mny pplictions require the sme dt mnipultions to e performed on lrge mount of dt, e. g. sttement locks in nested loops. Xputers re especilly designed to reduce the von-neumnn ottleneck of repetitive decoding nd interpreting ddress nd dt computtions. High performnce improvements hve een chieved for the clss of regulr, scientific computtions [7], [8]. An Xputer consists of three mjor prts: the dt sequencer, the dt memory nd the ralu including multiple scn windows nd opertor sunets. Scn windows re kind of window to the dt memory. They contin ll the dt, which re ccessed or modified within the ody of loop. The dt mnipultions re done y the ralu sunets, which hve prllel ccess to the scn windows. The scn windows re updted y their corresponding generic ddress genertors, which re the most essentil prt of the dt sequencer. Ech generic ddress genertor cn produce ddress sequences which correspond to up to three nested loops under hrdwre control. The term dt sequencing derives from the fct tht the sequence of dt triggers the opertions in the ralu, insted of von-neumnn instruction sequence. Pipelining cross loop oundries is supported. Generlly, for ech nesting level of nested loops seprte ralu sunet is required to perform the computtions ssocited with tht nesting level. For most lgorithms, only three nested loops re necessry for the computtion, this mens tht in the worst cse three ralu sunets re sufficient. The ralu sunets perform ll computtions on the dt in the scn windows y pplying user-configured complex opertor to tht dt. The sunets need not to e of the sme type. Sunets cn e configured for rithmetic or it level opertions. The dt-driven reconfigurle dtpth rchitecture proposed here is well suited for rithmetic, nd in the FPGA version lso for it level opertions. The Xputer prototype, Mp-oriented Mchine 3 (MoM- 3), hs direct ccess to the host's min memory. The ralu sunets receive their dt directly from locl memory or Host Min Memory Figure 1. The Xputer prototype Mp-oriented Mchine 3 (MoM-3) vi the MoMus from the min memory. The MoMus hs n synchronous us protocol. The dtpth rchitecture is designed for the synchronous us protocol of the MoMus, ut it cn lso e used y synchronous us with minor modifictions. Figure 1 shows our prototype MoM Reconfigurle dtpth rchitecture The rdpa is the dt mnipultor of the dt-driven ralu. The rdpa ws designed to evlute ny rithmetic nd logic expression from high level description. Therefore the grnulrity of the sic opertion is incresed from the itwise level to wordlevel with possile opertions such s ddition or multipliction. This gretly simplifies the utomtic mpping onto the rchitecture. A regulr structure like in systolic rrys is required for the sclility, lso cross chip oundries. Systolic rry structures comine intensive locl communiction nd computtion with decentrlized prllelism in compct pckge. The sic cell of the rdpa is clled dtpth unit (DPU). Ech DPU hs two input nd two output registers which my form some prt of the scn window of the Xputer prdigm. The dtflow direction is only from west nd/or north to est nd/or south. The communiction etween the neighouring DPUs is synchronized y hndshke. This voids prolems of clock skew nd ech DPU cn hve different computtion time for its opertor. The opertion in the DPU is dt-driven, this mens tht the opertion is evluted when the required opernds re ville. After completion of the opertion, the result in the output register of the DPU is declred to e vlid

3 As soon s the input registers of the succeeding DPU re free, the dt will e trnsferred nd the next computtion strts. In systolic rchitectures the high I/O requirements often mke the integrtion into chips prolem. To reduce the numer of input nd output pins, seril link is used for dt trnsfer etween neighour DPUs (32 its re converted into series of 2 it niles), s shown in figure 2. prllel to seril converter I/O us chip 1 seril op op op link seril to prllel converter PCB Figure 2. The sclle rdpa rchitecture etween chip oundries A glol I/O us hs een implemented into the rdpa permitting the DPUs to write from the output registers directly outside the rry nd to red directly from the outside. This mens input dt to expressions mpped into the rdpa do not need to e routed through the DPUs. Principlly, the glol I/O us is used for reding nd writing the scn window contents to the rry. A single us is sufficient for our Xputer prototype MoM-3 since the dt from the min memory of the host is mde ville y the us lso. For other systems it my e etter to hve dedicted input nd output us. The communiction etween the outside control unit nd the DPUs is synchronized y hndshke like the internl communictions. Ech DPU which hs to communicte using the glol I/O us gets n ddress for its input nd/or output register during configurtion. The rdpa control unit cn ddress DPU register directly using the us. The DPU where the ddress mtches performs the hndshke with the outside control unit nd receives or sends the dt. The propgtion of interim results, which ccounts for the lrgest unch of communiction, is hndled through the internl communiction pths, nd therefore fully prllel. An extensile set of opertors for ech DPU is provided y lirry. The set includes the opertors of the progrmming lnguge C. Other opertors such s the prllel prefix opertor re provided. The prllel prefix opertor [5] hs n internl feedck. For exmple queue of scnmx opertors cn e used for esy implementtion of hrdwre ule sort [10]. The scn-mx computes the mximum from the input vrile nd the internl feedck vrile nd gives the mximum s result nd stores the other vlue internlly. Opertors cn lso e used for chip 2 routing, even mixed with other opertions, e. g. first multiply with nd write the result to the south, then route vrile to the est. Conditions re implemented in the rdpa in the following wy. Ech communiction chnnel hs n dditionl condition it. If this it is true, the opertion is computed, otherwise not. In ech cse the condition it is routed with the dt using the sme hndshke. The condition opertor sends to one neighouring DPU true condition it, to the other one flse it. The 'flse' pth is evluted very quick, ecuse the condition it is routed only. With this technique lso nested if_then_else sttements cn e evluted. An exmple is shown in figure 3. The then nd theelse pth cn e merged t the end with merge opertor (m). This opertor routes the vlue with the vlid condition it to its output. With the proposed sclle model for the rdpa, the rry cn e expnded lso cross printed circuit ord oundries, e. g. with connectors nd flexile cle. This mkes it possile to connect the outputs of the est rry oundry with the west one, to uild torus. The sme is possile for the south nd the north. With the dt-driven concept, the user need not worry out synchroniztion. For the implementtion of the rdpa two possiilities re presented. The first is sed on FPGAs nd the second one is the sed on stndrd cells. 3.1 FPGA implementtion of the rdpa The communiction model of the DPU cn e implemented into SRAM sed FPGAs. A lrge reconfigurle dtpth rchitecture cn e implemented into multiple FPGA chips. The FPGA chips re rrnged in n rry with single us nd configurtion lines to ech chip. All ) ) Figure 3. sttement t w if ( < ) (1) if ( > c) (2) x = u v * w; (3) else (4) x = u - s * w; (5) else (6) x = w * t v * z; (7) < v < s z > c c<< v w w - (<)&(c) Exmple of nested if_then_else u m m u x - 3 -

4 other wiring is locl, therefore no field progrmmle interconnect component (FPIC) is required. On ech FPGA, n rry of DPUs is implemented depending on the size of the FPGA nd the complexity of the opertors. If complex opertor like multipliction is implemented into n FPGA, the other DPUs cn only e used for routing or simple opertors in this chip. The rdpa progrmming environment, presented in section 5 tkes this fct into considertion. The implementtion of the DPUs using FPGAs hs the dvntge tht speed criticl opertors cn e implemented fully or prtly in prllel if necessry. Also the opertions itself cn e pipelined. The progrmming environment detects the criticl pth with the criticl opertions. Slow ripple crry dders cn e sustituted y conditionl sum dders or other fster dders. A lirry of opertors, which cn e extended, is ville in the rdpa progrmming environment. The communiction chnnels re ll the sme for ech DPU. The progrmmer hs to put the mcros for the opertors nd the communiction together in schemtic editor. Then the DPUs re mpped with vendor tool to the FPGA structure. This is done for ech FPGA, no prtitioning is necessry. Especilly it level opertors re well suited for FPGA implementtion. The DPUs re smller, fster nd lrger numer cn e implemented on chip. Different widths of the dtpth cn e used lso. 3.2 Stndrd cell implementtion of the rdpa The rdpa implemented with stndrd cells hs 32 it dtpth. The opertors of the DPUs re configurle with fixed ALU nd microprogrmmed control. This mens opertors such s ddition, sutrction or logicl opertors cn e evluted directly, wheres multipliction or division re implemented sequentilly. A lirry of opertors is ville nd new opertors cn e uild with microssemler. The stndrd cell implementtion of the proposed model hs higher density of the rithmetic opertions nd the dely times re known for ech opertion. The time for synthesis of the ralu ord is reduced ecuse the opertors in the DPUs re microprogrmmed.as mentioned efore the rry is sclle y using severl chips of the sme type. The DPUs hve no ddress efore configurtion since ll chips re identicl. The DPUs re identified y their loction in the rdpa rry. Consequently ech DPU hs n x- nd y-ddress like the elements in mtrix. A configurtion word consists of configurtion it which distinguishes the configurtion dt from computtionl dt. Furthermore it consists of the x- nd the y-ddress, the ddress of the DPU s configurtion memory, nd the dt for this memory. Ech time configurtion word is trnsferred to DPU, the DPU checks the x- nd the y-ddress. If the y-ddress is lrger thn zero nd the x-ddress is lrger thn zero, the DPU checks if the neighoring DPUs re usy. If the neighoring DPU in y-direction is not usy, the y-ddress will e decresed y one nd the resulting configurtion word will e trnsferred to this DPU. If the DPU in y- direction is usy nd the DPU in x-direction is not usy the x-ddress will e decresed y one nd the resulting configurtion word will e trnsferred to this DPU. If oth neighouring DPUs re usy, the DPU wits until one finishes. With this strtegy n utomtic lod distriution for the configurtion is implemented. If the y-ddress is lrger thn zero nd the x-ddress is zero, the ddress will e decresed y one nd the configurtion word will e trnsferred to the next DPU in y-direction. If the y-ddress is zero nd the x-ddress is lrger thn zero, the x-ddress will e decresed y one nd the configurtion word will e trnsferred in x-direction. If oth ddresses re zero, the trget DPU is reched, nd the ddress of the DPU s configurtion memory shows the plce where the dt will e written. Becuse of the lod distriution in the rdpa rry, one seril link t the rry oundry is sufficient to configure the complete rry. The physicl chip oundries re completely trnsprent to the user. The communiction structure llows dynmic in-circuit reconfigurtion of the rdpa rry. This implies prtil reconfigurility during runtime [9]. Further the configurtion technique llows to migrte designs from smller rry to lrger rry without modifiction. Even newer genertion rdpa chips with more DPUs integrted do not need recompiltion of the configurtion dt. The configurtion is dt-driven, nd therefore specil timing does not hve to e considered. With the proposed model for the DPA, the rry cn e expnded lso cross printed circuit ord oundries, e. g. with connectors nd flexile cle. Therefore it is possile to connect the outputs of the est (south) rry oundry with the west (north) one, to uild torus. 4. Reconfigurle dt-driven ALU A sunet of the reconfigurle dt-driven ALU consists of two min prts: the control for the ralu nd the reconfigurle dtpth rchitecture, s shown in figure 4. Sunets cn run in prllel. Here the connection to the MoMus is shown only. The register file is useful for optimizing memory cycles, e. g. when one dt word of sttement will e used lter on in nother sttement. Then the dt word does not hve to e red gin over the externl us. In ddition, the register file mkes it possile to use ech DPU in the rdpa for opertions y using the internl us - 4 -

5 FIFO glol I/O us sttus configurtion MoMus to GAGs, Host, Min Memory rdpa ddress genertion unit register file rdpa control unit rdpa Figure 4. One sunet of the reconfigurle dtdriven ALU for routing. If different expressions hve common suexpression, this suexpression hs to e computed only once. If the rdpa does not provide the routing cpcity for this reduction, e. g. if three or more suexpressions re in common, the interim result cn e routed through the register file. The ddress genertion unit delivers the ddress for the DPU registers efore ech dt is written into the rdpa over the us. The rdpa control unit holds progrm to control the different units of the dt driven ralu. The instruction set consists of instructions for loding dt into the rdpa to specific DPU from the MoMus or the register file, for receiving dt from specific DPU, or rnches on specil control signl from the generic ddress genertors. The rdpa control supports context switches etween three control progrms which llows to use three independent virtul ralu sunets. The control progrm is loded during configurtion. The reconfigurle dt-driven ALU llows lso pipelined opertion s shown in the exmple in section 6. A sttus cn e reported to the generic ddress genertors (GAG) to inform on overflows or to force the GAGs to compute dt dependent ddresses. The input FIFO is currently only one word deep for ech direction. This is sufficient ecuse the dt flow is regulr to the min memory. Normlly the ralu does not hve to wit for dt. 5. Progrmming environment Sttements which cn e mpped to the rdpa rry re rithmetic nd logic expressions s well s conditions. Loops re hndled y the generic ddress genertors. The input lnguge for progrmming the ralu is the ralu progrmming lnguge. The syntx of the sttements follows the C progrmming lnguge syntx (see lso figure 3). In ddition, the lnguge provides the size of the used scn windows nd the next hndle position (reltive to the ctul position). The hndle position is the lower left corner of the oundry of the scn window. By providing the hndle position the ralu gets the necessry informtion for pipelining the complete sttement lock. The ralu progrmming lnguge file is prsed nd dt structure like n strct progrm tree is computed. Common suexpressions re tken into considertion. The opertors of ech sttement re llocted with stright forwrd lgorithm. The numer of DPUs used is optimized. Ech llocted opertor is then ssocited to DPU in the ralu rry. To recognize possile prlleliztion nd to find dt dependencies etween the sttements, dt dependency nlysis is performed. Due to the glol I/O us of the rdpa rry, the loding of the dt nd the storing re restricted to one opertion per time. For est performnce, n optiml sequence of these I/O opertions hs to e determined. Compring n s soon s possile (ASAP) with n s lte s possile (ALAP) schedule, the time criticl pth is detected. A priority function is developed from these schedules which gives the rnge of the I/O opertions of the opernds. With list sed scheduling method the optiml sequence of the I/O opertions is found. Memory cycles cn e optimized using the register file when the scn pttern of the GAGs works with overlpping scn windows. The rdpa configurtion file is computed from the mpping informtion of the DPUs nd lirry with the code of the opertors. The configurtion file for the ralu control unit nd the configurtion file for the GAGs is extrcted from the finl schedule of the I/O opertors. For the FPGA implementtion, the mcros for the necessry opertions re provided. The user hs to put them together with templte of the communiction in schemtic editor. The mpping is done y vendor tool e. g. from Xilinx. Alterntively the environment provides hrdwre description lnguge file which hs to e synthesized with synthesis tool, e. g. Synopsys. The progrmming environment of the ralu is shown in figure

6 new opertors Lirry of Opertors Configurtion Code Genertion Configurtion File reconfigurle Dtpth Architecture Figure 5. ralu Progrmming Lnguge Alloction of the Opertors ralu Control File APT, Dt Structure Control Reg. File Prser ralu Dt Dependency Anlysis Scheduling & Memory Optimiztion Code Genertion for ralu nd GAG Control GAG Control File Generic Address Genertor 6. Exmple: two dimensionl FIR filter GAG The ralu progrmming environment The two dimensionl FIR (finite impulse response) filter is one whose impulse response processes only finite numer of nonzero smples. The eqution for generl two dimensionl FIR filter is y nm = k ij x n i, i j m j. (1) In this exmple two dimensionl filtering of second order is shown. Since the focus on this pper is only on the ralu for Xputers, the ddress genertion for the dt is not explined, plese refer to [8]. Suppose the processed dt is written into the sme memory from which the dt is red, one scn window is sufficient. It is of the size 3 y 3 s shown in figure 6c. All 9 scn window positions re for reding nd the middle is lso for writing. The window scns over the dt mp with video scn, step width one. After ech step it performs the eqution: w 11new = w 22 k 22 w 12 k 12 w 02 k 02 w 21 k 21 w 11 k 11 w 01 k 01 w 20 k 20 w 10 k 10 w 00 k 00 The k ij re the coefficients of the filter nd the w ij contin the dt t the corresponding scn window positions. (2) Figure 6 shows eqution (2) mpped into the rdpa. The input registers of the DPUs nmed with w ij represent the scn window positions. The input registers nmed with k ij represent the registers with coefficients of the FIR filter loded t configurtion. At ech step of the scn window three new dt words re loded, three old ones re removed nd one output word is written ck. Figure 6c shows the loding of the dt. At the eginning, dt word 0 is loded cross the us directly to w 00, 0 to w 01, c 0 to w 02, 1 to w 10 nd so on. As soon s dt words rrive in the input registers of the DPUs the opertion will e performed (dt-driven). As shown in figure 6 the multiply-route opertion evlutes the multipliction nd routes the input dt from west to the next DPU est. So the dt required in the next step need not to e loded gin cross the us. The pipeline is filled y loding the first nine input dt words over the us, then the internl routing resources re used. Only the three new dt words hve to e routed y the us. The prototype implementtion of the rdpa works with 32 it fixed-point nd integer input words. Currently the host computer's memory is very slow. The clock frequency of the system is 25 MHz. In mny pplictions the coefficients re set up in such wy tht shift opertions re sufficient nd multiplictions re not necessry. If high throughput is needed, DPUs cn e linked together to implement pipelined multiplier. Benchmrk results re given in tle 1. The performnce figures re worst cse estimtion of our prototype. The speed of the exmples 2 to 5 depend not on the order of the filter s long s the necessry hrdwre (numer of DPUs) is provided. The sme is pplies for exmple 6. ) k 22 k 12 k 02 w 22 w 12 w 02 k 21 k 11 k 01 w 21 w 11 w 01 k 20 k 10 k 00 w 20 w 10 w 00 w 02 w 12 w 22 w 00 w 10 w y w 11new Figure 6. ) Two dimensionl FIR filter mpped into the rdpa, ) equivlent opertion of the multiply-route opertion, c) the corresponding scn window c) w 01 x ) w 11 w 21 <=> d c - 6 -

7 # Algorithms Opertions # of DPUs Time Steps per Opertion Performnce Fst Fourier Trnsformtion *,, ms 2 FIR filter, n th order *, 2(n1) ns/dt word 3 FIR filter, n th order shift, 2(n1) ns/dt word 4 n m two dim. FIR filter *, 2(n1)(m2) ns/dt word 5 n m two dim. FIR filter shift, 2(n1)(m2) ns/dt word 6 Bulesort, length n scn-mx n ns/dt word Tle 1. Benchmrk results 7. Conclusions A progrmming model for n FPGA sed hrdwre pltform for dt-driven reconfigurle dtpth rchitecture (rdpa) hs een presented which strongly supports numericl pplictions. It my e used s reconfigurle ALU (ralu) for custom computing mchines (CCMs), Xputers nd other dptle computer systems s well s for rpid prototyping of high speed dtpths. Together with the Xputer hrdwre nd softwre environment system hs een implemented which is progrmmle in high level lnguge. The word-orienttion of the dtpth nd the increse of the fine grnulrity of the sic opertions gretly simplifies the utomtic mpping onto the rchitecture. The sclle rdpa provides prllel nd pipelined evlution of the compound opertors. An implementtion with FPGA chips nd one with stndrd cells is shown. The FPGA implementtion supports vrile width of dtpths, lso for it level opertions. The stndrd cell version of the implementtion of the rdpa is microprogrmmle. It provides higher density of the opertors. The rchitecture is in-circuit dynmiclly reconfigurle, which implies lso prtil reconfigurility t runtime. A prototype chip with stndrd cells hs een completely specified in the hrdwre description Verilog nd will e sumitted for friction to the Eurochip 1 orgniztion soon. It hs 32 it dtpths nd provides rithmetic resources for integer nd fixed-point numers. The FPGA version is eing implemented y using Xilinx softwre tools. The progrmming environment is specified nd is eing implemented on Sun SPARCsttions. References [1] J. M. Arnold: The Splsh 2 Softwre Environment; IEEE Workshop on FPGAs for Custom Computing Mchines, FCCM'93, IEEE Computer Society Press, Np, CA, pp , April Eurochip is microelectronics project of the CEC. [2] S. Csselmn: Virtul Computing nd The Virtul Computer; IEEE Workshop on FPGAs for Custom Computing Mchines, FCCM'93, IEEE Computer Society Press, Np, CA, pp , April 1993 [3] N. N.: Gig Ops: Technicl Overview of C to Hrdwre Compiltion nd Development System for FPGA Computing; Pre-Relese Documenttion, Rev. 0.7, Gig Opertions Corportion, Berkeley, 1993 [4] M. Gokhle, R. Minnich: FPGA Computing in Dt Prllel C; IEEE Workshop on FPGAs for Custom Computing Mchines, FCCM'93, IEEE Computer Society Press, Np, CA, pp , April 1993 [5] S. A. Guccione, M. J. Gonzlez: A Dt-Prllel Progrmming Model for Reconfigurle Architectures; IEEE Workshop on FPGAs for Custom Computing Mchines, FCCM'93, IEEE Computer Society Press, Np, CA, pp , April 1993 [6] D. Hill, B. Britton, B. Oswld, N.-S. Woo, S. Singh, C.-T. Chen, B. Krmeck: ORCA: A New Architecture for High-Performnce FPGAs; in H. Grüncher, R. W. Hrtenstein (Eds.): Field-Progrmmle Gte Arrys, Lecture Notes in Computer Science, Springer-Verlg, Berlin, 1993 [7] R. W. Hrtenstein, A. G. Hirschiel, M. Riedmüller, K. Schmidt, M. Weer: A Novel ASIC Design Approch Bsed on New Mchine Prdigm; IEEE Journl of Solid-Stte Circuits, Vol. 26, No. 7, July 1991 [8] R. W. Hrtenstein, A. G. Hirschiel, K. Schmidt, M. Weer: A Novel Prdigm of Prllel Computtion nd its Use to Implement Simple High-Performnce Hrdwre; Future Genertion Systems 7 (1991/92), p , Elsevier Science Pulishers, North-Hollnd, 1992 [9] P. Lysght, J. Dunlop: Dynmic Reconfigurtion of Fieldprogrmmle Gte Arrys; Proceedings of the 3rd Interntionl Workshop on Field Progrmmle Logic nd Applictions, Oxford, Sept [10] N. Petkov: Systolische Algorithmen und Arrys; Akdemie-Verlg, Berlin 1989 [11] N. N.: The XC4000 Dt Book; Xilinx, Inc.,

R.W. Hartenstein, et al.: A Reconfigurable Arithmetic Datapath Architecture; GI/ITG-Workshop, Schloß Dagstuhl, Bericht 303, pp.

R.W. Hartenstein, et al.: A Reconfigurable Arithmetic Datapath Architecture; GI/ITG-Workshop, Schloß Dagstuhl, Bericht 303, pp. # Algorithms Operations # of DPUs Time Steps per Operation Performance 1 1024 Fast Fourier Transformation *,, - 10 16. 10240 20 ms 2 FIR filter, n th order *, 2(n1) 15 1800 ns/data word 3 FIR filter, n

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

More information

UT1553B BCRT True Dual-port Memory Interface

UT1553B BCRT True Dual-port Memory Interface UTMC APPICATION NOTE UT553B BCRT True Dul-port Memory Interfce INTRODUCTION The UTMC UT553B BCRT is monolithic CMOS integrted circuit tht provides comprehensive MI-STD- 553B Bus Controller nd Remote Terminl

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter Computer Arithmetic Logicl, Integer Addition & Sutrction Chpter 3.-3.3 3.3 EEC7 FQ 25 MIPS Integer Representtion -it signed integers,, e.g., for numeric opertions 2 s s complement: one representtion for

More information

From Dependencies to Evaluation Strategies

From Dependencies to Evaluation Strategies From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute

More information

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining EECS150 - Digitl Design Lecture 23 - High-level Design nd Optimiztion 3, Prllelism nd Pipelining Nov 12, 2002 John Wwrzynek Fll 2002 EECS150 - Lec23-HL3 Pge 1 Prllelism Prllelism is the ct of doing more

More information

Parallel Square and Cube Computations

Parallel Square and Cube Computations Prllel Squre nd Cube Computtions Albert A. Liddicot nd Michel J. Flynn Computer Systems Lbortory, Deprtment of Electricl Engineering Stnford University Gtes Building 5 Serr Mll, Stnford, CA 945, USA liddicot@stnford.edu

More information

Digital Signal Processing: A Hardware-Based Approach

Digital Signal Processing: A Hardware-Based Approach Digitl Signl Processing: A Hrdwre-Bsed Approch Roert Esposito Electricl nd Computer Engineering Temple University troduction Teching Digitl Signl Processing (DSP) hs included the utilition of simultion

More information

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables George Boole IT 3123 Hrdwre nd Softwre Concepts My 28 Digitl Logic The Little Mn Computer 1815 1864 British mthemticin nd philosopher Mny contriutions to mthemtics. Boolen lger: n lger over finite sets

More information

5 Regular 4-Sided Composition

5 Regular 4-Sided Composition Xilinx-Lv User Guide 5 Regulr 4-Sided Composition This tutoril shows how regulr circuits with 4-sided elements cn be described in Lv. The type of regulr circuits tht re discussed in this tutoril re those

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

Data Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved.

Data Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved. Dt Flow on Queue Mchine Bruno R. Preiss 2 Outline Genesis of dt-flow rchitectures Sttic vs. dynmic dt-flow rchitectures Pseudo-sttic dt-flow execution model Some dt-flow mchines Simple queue mchine Prioritized

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784

More information

COMP 423 lecture 11 Jan. 28, 2008

COMP 423 lecture 11 Jan. 28, 2008 COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring

More information

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li 2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min

More information

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits Systems I Logic Design I Topics Digitl logic Logic gtes Simple comintionl logic circuits Simple C sttement.. C = + ; Wht pieces of hrdwre do you think you might need? Storge - for vlues,, C Computtion

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-186 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays Constraints and Methodology

Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays Constraints and Methodology Mpping of Regulr Nested Loop Progrms to Corse-grined Reconfigurle Arrys Constrints nd Methodology Frnk Hnnig, Hritm utt, nd Jürgen Teich eprtment of Computer Science 12, Hrdwre-Softwre-Co-esign, University

More information

Accelerating 3D convolution using streaming architectures on FPGAs

Accelerating 3D convolution using streaming architectures on FPGAs Accelerting 3D convolution using streming rchitectures on FPGAs Hohun Fu, Robert G. Clpp, Oskr Mencer, nd Oliver Pell ABSTRACT We investigte FPGA rchitectures for ccelerting pplictions whose dominnt cost

More information

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

CS 430 Spring Mike Lam, Professor. Parsing

CS 430 Spring Mike Lam, Professor. Parsing CS 430 Spring 2015 Mike Lm, Professor Prsing Syntx Anlysis We cn now formlly descrie lnguge's syntx Using regulr expressions nd BNF grmmrs How does tht help us? Syntx Anlysis We cn now formlly descrie

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence

More information

Abstract A SCALABLE, PARALLEL, AND RECONFIGURABLE DATAPATH ARCHITECTURE

Abstract A SCALABLE, PARALLEL, AND RECONFIGURABLE DATAPATH ARCHITECTURE A SCALABLE, PARALLEL, AND RECONFIGURABLE DATAPATH ARCHITECTURE Reiner W. Hartenstein, Rainer Kress, Helmut Reinig University of Kaiserslautern Erwin-Schrödinger-Straße, D-67663 Kaiserslautern, Germany

More information

Introduction to hardware design using VHDL

Introduction to hardware design using VHDL Introuction to hrwre esign using VHDL Tim Güneysu n Nele Mentens ECC school Novemer 11, 2017, Nijmegen Outline Implementtion pltforms Introuction to VHDL Hrwre tutoril 1 Implementtion pltforms Microprocessor

More information

Questions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers?

Questions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers? Questions About Numbers Number Systems nd Arithmetic or Computers go to elementry school How do you represent negtive numbers? frctions? relly lrge numbers? relly smll numbers? How do you do rithmetic?

More information

CS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08

CS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08 CS412/413 Introduction to Compilers Tim Teitelum Lecture 4: Lexicl Anlyzers 28 Jn 08 Outline DFA stte minimiztion Lexicl nlyzers Automting lexicl nlysis Jlex lexicl nlyzer genertor CS 412/413 Spring 2008

More information

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures Other Issues Stck Mnipultion support for procedures (Refer to section 3.6), stcks, frmes, recursion mnipulting strings nd pointers linkers, loders, memory lyout Interrupts, exceptions, system clls nd conventions

More information

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search.

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search. CS 88: Artificil Intelligence Fll 00 Lecture : A* Serch 9//00 A* Serch rph Serch Tody Heuristic Design Dn Klein UC Berkeley Multiple slides from Sturt Russell or Andrew Moore Recp: Serch Exmple: Pncke

More information

Enginner To Engineer Note

Enginner To Engineer Note Technicl Notes on using Anlog Devices DSP components nd development tools from the DSP Division Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp_pplictions@nlog.com, FTP: ftp.nlog.com Using n ADSP-2181

More information

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011 CSCI 3130: Forml Lnguges nd utomt Theory Lecture 12 The Chinese University of Hong Kong, Fll 2011 ndrej Bogdnov In progrmming lnguges, uilding prse trees is significnt tsk ecuse prse trees tell us the

More information

IZT DAB ContentServer, IZT S1000 Testing DAB Receivers Using ETI

IZT DAB ContentServer, IZT S1000 Testing DAB Receivers Using ETI IZT DAB ContentServer, IZT S1000 Testing DAB Receivers Using ETI Appliction Note Rel-time nd offline modultion from ETI files Generting nd nlyzing ETI files Rel-time interfce using EDI/ETI IZT DAB CONTENTSERVER

More information

Simrad ES80. Software Release Note Introduction

Simrad ES80. Software Release Note Introduction Simrd ES80 Softwre Relese 1.3.0 Introduction This document descries the chnges introduced with the new softwre version. Product: ES80 Softwre version: 1.3.0 This softwre controls ll functionlity in the

More information

PARALLEL AND DISTRIBUTED COMPUTING

PARALLEL AND DISTRIBUTED COMPUTING PARALLEL AND DISTRIBUTED COMPUTING 2009/2010 1 st Semester Teste Jnury 9, 2010 Durtion: 2h00 - No extr mteril llowed. This includes notes, scrtch pper, clcultor, etc. - Give your nswers in the ville spce

More information

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application.

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application. ICB Asset Ticket Genertor Opertor s Guide Septemer, 2016 Septemer, 2016 NOTES Opertor s Guide ICB Asset Ticket Genertor Softwre Instlltion nd Opertion This document contins informtion for downloding, instlling,

More information

Algorithm Design (5) Text Search

Algorithm Design (5) Text Search Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:

More information

Network Interconnection: Bridging CS 571 Fall Kenneth L. Calvert All rights reserved

Network Interconnection: Bridging CS 571 Fall Kenneth L. Calvert All rights reserved Network Interconnection: Bridging CS 57 Fll 6 6 Kenneth L. Clvert All rights reserved The Prolem We know how to uild (rodcst) LANs Wnt to connect severl LANs together to overcome scling limits Recll: speed

More information

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1): Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters

More information

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have Rndom Numers nd Monte Crlo Methods Rndom Numer Methods The integrtion methods discussed so fr ll re sed upon mking polynomil pproximtions to the integrnd. Another clss of numericl methods relies upon using

More information

Reducing a DFA to a Minimal DFA

Reducing a DFA to a Minimal DFA Lexicl Anlysis - Prt 4 Reducing DFA to Miniml DFA Input: DFA IN Assume DFA IN never gets stuck (dd ded stte if necessry) Output: DFA MIN An equivlent DFA with the minimum numer of sttes. Hrry H. Porter,

More information

Qubit allocation for quantum circuit compilers

Qubit allocation for quantum circuit compilers Quit lloction for quntum circuit compilers Nov. 10, 2017 JIQ 2017 Mrcos Yukio Sirichi Sylvin Collnge Vinícius Fernndes dos Sntos Fernndo Mgno Quintão Pereir Compilers for quntum computing The first genertion

More information

Presentation Martin Randers

Presentation Martin Randers Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes

More information

Revisiting the notion of Origin-Destination Traffic Matrix of the Hosts that are attached to a Switched Local Area Network

Revisiting the notion of Origin-Destination Traffic Matrix of the Hosts that are attached to a Switched Local Area Network Interntionl Journl of Distributed nd Prllel Systems (IJDPS) Vol., No.6, November 0 Revisiting the notion of Origin-Destintion Trffic Mtrix of the Hosts tht re ttched to Switched Locl Are Network Mondy

More information

ECEN 468 Advanced Logic Design Lecture 36: RTL Optimization

ECEN 468 Advanced Logic Design Lecture 36: RTL Optimization ECEN 468 Advnced Logic Design Lecture 36: RTL Optimiztion ECEN 468 Lecture 36 RTL Design Optimiztions nd Trdeoffs 6.5 While creting dtpth during RTL design, there re severl optimiztions nd trdeoffs, involving

More information

Lexical Analysis. Amitabha Sanyal. (www.cse.iitb.ac.in/ as) Department of Computer Science and Engineering, Indian Institute of Technology, Bombay

Lexical Analysis. Amitabha Sanyal. (www.cse.iitb.ac.in/ as) Department of Computer Science and Engineering, Indian Institute of Technology, Bombay Lexicl Anlysis Amith Snyl (www.cse.iit.c.in/ s) Deprtment of Computer Science nd Engineering, Indin Institute of Technology, Bomy Septemer 27 College of Engineering, Pune Lexicl Anlysis: 2/6 Recp The input

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-204 Technicl notes on using Anlog Devices DSPs, processors nd development tools Visit our Web resources http://www.nlog.com/ee-notes nd http://www.nlog.com/processors or e-mil

More information

MIPS I/O and Interrupt

MIPS I/O and Interrupt MIPS I/O nd Interrupt Review Floting point instructions re crried out on seprte chip clled coprocessor 1 You hve to move dt to/from coprocessor 1 to do most common opertions such s printing, clling functions,

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Virtual Machine (Part I)

Virtual Machine (Part I) Hrvrd University CS Fll 2, Shimon Schocken Virtul Mchine (Prt I) Elements of Computing Systems Virtul Mchine I (Ch. 7) Motivtion clss clss Min Min sttic sttic x; x; function function void void min() min()

More information

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an Scnner Termintion A scnner reds input chrcters nd prtitions them into tokens. Wht hppens when the end of the input file is reched? It my be useful to crete n Eof pseudo-chrcter when this occurs. In Jv,

More information

OUTPUT DELIVERY SYSTEM

OUTPUT DELIVERY SYSTEM Differences in ODS formtting for HTML with Proc Print nd Proc Report Lur L. M. Thornton, USDA-ARS, Animl Improvement Progrms Lortory, Beltsville, MD ABSTRACT While Proc Print is terrific tool for dt checking

More information

ECE 468/573 Midterm 1 September 28, 2012

ECE 468/573 Midterm 1 September 28, 2012 ECE 468/573 Midterm 1 September 28, 2012 Nme:! Purdue emil:! Plese sign the following: I ffirm tht the nswers given on this test re mine nd mine lone. I did not receive help from ny person or mteril (other

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Basics of Logic Design Arithmetic Logic Unit (ALU)

Basics of Logic Design Arithmetic Logic Unit (ALU) Bsics of Logic Design Arithmetic Logic Unit (ALU) CPS 4 Lecture 9 Tody s Lecture Homework #3 Assigned Due Mrch 3 Project Groups ssigned & posted to lckord. Project Specifiction is on We Due April 9 Building

More information

Mobile IP route optimization method for a carrier-scale IP network

Mobile IP route optimization method for a carrier-scale IP network Moile IP route optimiztion method for crrier-scle IP network Tkeshi Ihr, Hiroyuki Ohnishi, nd Ysushi Tkgi NTT Network Service Systems Lortories 3-9-11 Midori-cho, Musshino-shi, Tokyo 180-8585, Jpn Phone:

More information

this grammar generates the following language: Because this symbol will also be used in a later step, it receives the

this grammar generates the following language: Because this symbol will also be used in a later step, it receives the LR() nlysis Drwcks of LR(). Look-hed symols s eplined efore, concerning LR(), it is possile to consult the net set to determine, in the reduction sttes, for which symols it would e possile to perform reductions.

More information

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. Example: Pancake Problem. Example: Pancake Problem

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. Example: Pancake Problem. Example: Pancake Problem Announcements Project : erch It s live! Due 9/. trt erly nd sk questions. It s longer thn most! Need prtner? Come up fter clss or try Pizz ections: cn go to ny, ut hve priority in your own C 88: Artificil

More information

File Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment

File Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment File Mnger Quick Reference Guide June 2018 Prepred for the Myo Clinic Enterprise Khu Deployment NVIGTION IN FILE MNGER To nvigte in File Mnger, users will mke use of the left pne to nvigte nd further pnes

More information

The Greedy Method. The Greedy Method

The Greedy Method. The Greedy Method Lists nd Itertors /8/26 Presenttion for use with the textook, Algorithm Design nd Applictions, y M. T. Goodrich nd R. Tmssi, Wiley, 25 The Greedy Method The Greedy Method The greedy method is generl lgorithm

More information

ASTs, Regex, Parsing, and Pretty Printing

ASTs, Regex, Parsing, and Pretty Printing ASTs, Regex, Prsing, nd Pretty Printing CS 2112 Fll 2016 1 Algeric Expressions To strt, consider integer rithmetic. Suppose we hve the following 1. The lphet we will use is the digits {0, 1, 2, 3, 4, 5,

More information

Sample Midterm Solutions COMS W4115 Programming Languages and Translators Monday, October 12, 2009

Sample Midterm Solutions COMS W4115 Programming Languages and Translators Monday, October 12, 2009 Deprtment of Computer cience Columbi University mple Midterm olutions COM W4115 Progrmming Lnguges nd Trnsltors Mondy, October 12, 2009 Closed book, no ids. ch question is worth 20 points. Question 5(c)

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Languages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) *

Languages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) * Pln for Tody nd Beginning Next week Interpreter nd Compiler Structure, or Softwre Architecture Overview of Progrmming Assignments The MeggyJv compiler we will e uilding. Regulr Expressions Finite Stte

More information

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards A Tutology Checker loosely relted to Stålmrck s Algorithm y Mrtin Richrds mr@cl.cm.c.uk http://www.cl.cm.c.uk/users/mr/ University Computer Lortory New Museum Site Pemroke Street Cmridge, CB2 3QG Mrtin

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Transparent neutral-element elimination in MPI reduction operations

Transparent neutral-element elimination in MPI reduction operations Trnsprent neutrl-element elimintion in MPI reduction opertions Jesper Lrsson Träff Deprtment of Scientific Computing University of Vienn Disclimer Exploiting repetition nd sprsity in input for reducing

More information

10.5 Graphing Quadratic Functions

10.5 Graphing Quadratic Functions 0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions

More information

Stack. A list whose end points are pointed by top and bottom

Stack. A list whose end points are pointed by top and bottom 4. Stck Stck A list whose end points re pointed by top nd bottom Insertion nd deletion tke plce t the top (cf: Wht is the difference between Stck nd Arry?) Bottom is constnt, but top grows nd shrinks!

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-208 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

What are suffix trees?

What are suffix trees? Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl

More information

CS143 Handout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexical Analysis

CS143 Handout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexical Analysis CS143 Hndout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexicl Anlysis In this first written ssignment, you'll get the chnce to ply round with the vrious constructions tht come up when doing lexicl

More information

Lexical Analysis: Constructing a Scanner from Regular Expressions

Lexical Analysis: Constructing a Scanner from Regular Expressions Lexicl Anlysis: Constructing Scnner from Regulr Expressions Gol Show how to construct FA to recognize ny RE This Lecture Convert RE to n nondeterministic finite utomton (NFA) Use Thompson s construction

More information

A dual of the rectangle-segmentation problem for binary matrices

A dual of the rectangle-segmentation problem for binary matrices A dul of the rectngle-segmenttion prolem for inry mtrices Thoms Klinowski Astrct We consider the prolem to decompose inry mtrix into smll numer of inry mtrices whose -entries form rectngle. We show tht

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Tool Vendor Perspectives SysML Thus Far

Tool Vendor Perspectives SysML Thus Far Frontiers 2008 Pnel Georgi Tec, 05-13-08 Tool Vendor Perspectives SysML Thus Fr Hns-Peter Hoffmnn, Ph.D Chief Systems Methodologist Telelogic, Systems & Softwre Modeling Business Unit Peter.Hoffmnn@telelogic.com

More information

Functor (1A) Young Won Lim 10/5/17

Functor (1A) Young Won Lim 10/5/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

M-Historian and M-Trend

M-Historian and M-Trend Product Bulletin Issue Dte June 18, 2004 M-Historin nd The M-Historin mnges the collection nd rchiving of trend dt, nd enles the presenttion of rchived trend dt in the ssocited softwre component. M-Historin

More information

CSCE 531, Spring 2017, Midterm Exam Answer Key

CSCE 531, Spring 2017, Midterm Exam Answer Key CCE 531, pring 2017, Midterm Exm Answer Key 1. (15 points) Using the method descried in the ook or in clss, convert the following regulr expression into n equivlent (nondeterministic) finite utomton: (

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Functor (1A) Young Won Lim 8/2/17

Functor (1A) Young Won Lim 8/2/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

CS 432 Fall Mike Lam, Professor a (bc)* Regular Expressions and Finite Automata

CS 432 Fall Mike Lam, Professor a (bc)* Regular Expressions and Finite Automata CS 432 Fll 2017 Mike Lm, Professor (c)* Regulr Expressions nd Finite Automt Compiltion Current focus "Bck end" Source code Tokens Syntx tree Mchine code chr dt[20]; int min() { flot x = 42.0; return 7;

More information

GENERATING ORTHOIMAGES FOR CLOSE-RANGE OBJECTS BY AUTOMATICALLY DETECTING BREAKLINES

GENERATING ORTHOIMAGES FOR CLOSE-RANGE OBJECTS BY AUTOMATICALLY DETECTING BREAKLINES GENEATING OTHOIMAGES FO CLOSE-ANGE OBJECTS BY AUTOMATICALLY DETECTING BEAKLINES Efstrtios Stylinidis 1, Lzros Sechidis 1, Petros Ptis 1, Spiros Sptls 2 Aristotle University of Thessloniki 1 Deprtment of

More information

Agenda & Reading. Class Exercise. COMPSCI 105 SS 2012 Principles of Computer Science. Arrays

Agenda & Reading. Class Exercise. COMPSCI 105 SS 2012 Principles of Computer Science. Arrays COMPSCI 5 SS Principles of Computer Science Arrys & Multidimensionl Arrys Agend & Reding Agend Arrys Creting & Using Primitive & Reference Types Assignments & Equlity Pss y Vlue & Pss y Reference Copying

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-295 Technicl notes on using Anlog Devices DSPs, processors nd development tools Visit our Web resources http://www.nlog.com/ee-notes nd http://www.nlog.com/processors or e-mil

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Spectral Analysis of MCDF Operations in Image Processing

Spectral Analysis of MCDF Operations in Image Processing Spectrl Anlysis of MCDF Opertions in Imge Processing ZHIQIANG MA 1,2 WANWU GUO 3 1 School of Computer Science, Northest Norml University Chngchun, Jilin, Chin 2 Deprtment of Computer Science, JilinUniversity

More information

Scenarios. VMware Validated Design for IT Automating IT 4.0 EN

Scenarios. VMware Validated Design for IT Automating IT 4.0 EN Scenrios VMwre Vlidted Design for IT Automting IT 4.0 This document supports the version of ech product listed nd supports ll susequent versions until the document is replced y new edition. To check for

More information

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. General Tree Search. Uniform Cost. Lecture 3: A* Search 9/4/2007

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. General Tree Search. Uniform Cost. Lecture 3: A* Search 9/4/2007 CS 88: Artificil Intelligence Fll 2007 Lecture : A* Serch 9/4/2007 Dn Klein UC Berkeley Mny slides over the course dpted from either Sturt Russell or Andrew Moore Announcements Sections: New section 06:

More information

Compilers Spring 2013 PRACTICE Midterm Exam

Compilers Spring 2013 PRACTICE Midterm Exam Compilers Spring 2013 PRACTICE Midterm Exm This is full length prctice midterm exm. If you wnt to tke it t exm pce, give yourself 7 minutes to tke the entire test. Just like the rel exm, ech question hs

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-188 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012 Dynmic Progrmming Andres Klppenecker [prtilly bsed on slides by Prof. Welch] 1 Dynmic Progrmming Optiml substructure An optiml solution to the problem contins within it optiml solutions to subproblems.

More information

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds A Sprse Grid Representtion for Dynmic Three-Dimensionl Worlds Nthn R. Sturtevnt Deprtment of Computer Science University of Denver Denver, CO, 80208 sturtevnt@cs.du.edu Astrct Grid representtions offer

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-232 Technicl notes on using Anlog Devices DSPs, processors nd development tools Contct our technicl support t dsp.support@nlog.com nd t dsptools.support@nlog.com Or visit our

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-245 Technicl notes on using Anlog Devices DSPs, processors nd development tools Contct our technicl support t dsp.support@nlog.com nd t dsptools.support@nlog.com Or visit our

More information