Pretražite po imenu i prezimenu autora, mentora, urednika, prevoditelja

Napredna pretraga

Pregled bibliografske jedinice broj: 294809

Utilizing Horizontal and Vertical Parallelism Using a No-Instruction-Set Compiler and Custom Datapaths


Reshadi, M.; Gorjiara, B.; Gajski, D. D
Utilizing Horizontal and Vertical Parallelism Using a No-Instruction-Set Compiler and Custom Datapaths // Proceeding of IEEE International Conference on Computer Design (ICCD)
San Jose (CA): Institute of Electrical and Electronics Engineers (IEEE), 2005. str. 69-74 (predavanje, međunarodna recenzija, cjeloviti rad (in extenso), znanstveni)


CROSBI ID: 294809 Za ispravke kontaktirajte CROSBI podršku putem web obrasca

Naslov
Utilizing Horizontal and Vertical Parallelism Using a No-Instruction-Set Compiler and Custom Datapaths

Autori
Reshadi, M. ; Gorjiara, B. ; Gajski, D. D

Vrsta, podvrsta i kategorija rada
Radovi u zbornicima skupova, cjeloviti rad (in extenso), znanstveni

Izvornik
Proceeding of IEEE International Conference on Computer Design (ICCD) / - San Jose (CA) : Institute of Electrical and Electronics Engineers (IEEE), 2005, 69-74

Skup
IEEE International Conference on Computer Design (ICCD)

Mjesto i datum
San Jose (CA), Sjedinjene Američke Države, 02.08.2005. - 05.08.2005

Vrsta sudjelovanja
Predavanje

Vrsta recenzije
Međunarodna recenzija

Ključne riječi
Computer architecture; Datapath

Sažetak
Performance of programs can be improved by utilizing their horizontal and vertical parallelism. In some processors (VLIW based), compiler can utilize horizontal parallelism by controlling the schedule of independent operations. Vertical parallelism is utilized through pipelining. However, in all processors, structure of pipeline is fixed and compiler has no control over it. In application-specific-instruction set-processors (ASIPs), pipeline structure can be customized and utilized in the program through custom instructions. Practical constraints on the instruction decoder limit the number and complexity of custom instructions in ASIPs. Detecting the frequent and beneficial custom instructions and incorporating them in the compiler are complex and sometimes very time consuming tasks. In this paper, we present an architecture that does not limit the number of custom functionalities that can be implemented on its datapath. Instead of using custom instructions and then relying on the decoder in hardware to generate the control signals, we generate the control signal values in compiler. Since there are no predefined instructions in this architecture, we call it no-instruction-set-computer (NISC). The NISC compiler maps the application directly on the datapath. It has complete fine grain control over datapath and hence can very well utilize resources in the hardware as well as horizontal and vertical parallelism in the program. We also explain the algorithm for mapping the CDFG of a program on a given datapath in NISC. Using our algorithm and a NISC architecture with the datapath of a MIPS, we achieved up to 70% speedup over the traditional MIPS compiler. In another experiment, we started from a base architecture and customized it by adding resources and interconnect to increase its horizontal and vertical parallelism. The algorithm achieved up to 15.5 times speedup by utilizing the available parallelism in the program and the datapath.

Izvorni jezik
Engleski

Znanstvena područja
Računarstvo

Napomena
Performance of programs can be improved by utilizing their horizontal and vertical parallelism. In some processors (VLIW based), compiler can utilize horizontal parallelism by controlling the schedule of independent operations. Vertical parallelism is utilized through pipelining. However, in all processors, structure of pipeline is fixed and compiler has no control over it. In application-specific-instruction set-processors (ASIPs), pipeline structure can be customized and utilized in the program through custom instructions. Practical constraints on the instruction decoder limit the number and complexity of custom instructions in ASIPs. Detecting the frequent and beneficial custom instructions and incorporating them in the compiler are complex and sometimes very time consuming tasks. In this paper, we present an architecture that does not limit the number of custom functionalities that can be implemented on its datapath. Instead of using custom instructions and then relying on the decoder in hardware to generate the control signals, we generate the control signal values in compiler. Since there are no predefined instructions in this architecture, we call it no-instruction-set-computer (NISC). The NISC compiler maps the application directly on the datapath. It has complete fine grain control over datapath and hence can very well utilize resources in the hardware as well as horizontal and vertical parallelism in the program. We also explain the algorithm for mapping the CDFG of a program on a given datapath in NISC. Using our algorithm and a NISC architecture with the datapath of a MIPS, we achieved up to 70% speedup over the traditional MIPS compiler. In another experiment, we started from a base architecture and customized it by adding resources and interconnect to increase its horizontal and vertical parallelism. The algorithm achieved up to 15.5 times speedup by utilizing the available parallelism in the program and the datapath.



POVEZANOST RADA


Ustanove:
Fakultet elektrotehnike i računarstva, Zagreb

Profili:

Avatar Url Daniel Gajski (autor)


Citiraj ovu publikaciju:

Reshadi, M.; Gorjiara, B.; Gajski, D. D
Utilizing Horizontal and Vertical Parallelism Using a No-Instruction-Set Compiler and Custom Datapaths // Proceeding of IEEE International Conference on Computer Design (ICCD)
San Jose (CA): Institute of Electrical and Electronics Engineers (IEEE), 2005. str. 69-74 (predavanje, međunarodna recenzija, cjeloviti rad (in extenso), znanstveni)
Reshadi, M., Gorjiara, B. & Gajski, D. (2005) Utilizing Horizontal and Vertical Parallelism Using a No-Instruction-Set Compiler and Custom Datapaths. U: Proceeding of IEEE International Conference on Computer Design (ICCD).
@article{article, author = {Reshadi, M. and Gorjiara, B. and Gajski, D. D}, year = {2005}, pages = {69-74}, keywords = {Computer architecture, Datapath}, title = {Utilizing Horizontal and Vertical Parallelism Using a No-Instruction-Set Compiler and Custom Datapaths}, keyword = {Computer architecture, Datapath}, publisher = {Institute of Electrical and Electronics Engineers (IEEE)}, publisherplace = {San Jose (CA), Sjedinjene Ameri\v{c}ke Dr\v{z}ave} }
@article{article, author = {Reshadi, M. and Gorjiara, B. and Gajski, D. D}, year = {2005}, pages = {69-74}, keywords = {Computer architecture, Datapath}, title = {Utilizing Horizontal and Vertical Parallelism Using a No-Instruction-Set Compiler and Custom Datapaths}, keyword = {Computer architecture, Datapath}, publisher = {Institute of Electrical and Electronics Engineers (IEEE)}, publisherplace = {San Jose (CA), Sjedinjene Ameri\v{c}ke Dr\v{z}ave} }




Contrast
Increase Font
Decrease Font
Dyslexic Font