Spelling suggestions: "subject:"soft more"" "subject:"soft core""
1 |
High Performance Soft Processor Architectures for Applications with Irregular Data- and Instruction-level ParallelismAasaraai, Kaveh 14 July 2014 (has links)
Embedded systems based on FPGAs frequently incorporate soft processors. The prevalence of soft processors in embedded systems is due to their flexibility and adaptability to the application. However, soft processors provide moderate performance compared to hard cores and custom logic, hence faster performing soft processors are desirable.
Many soft processor architectures have been studied in the past including Vector processors and VLIWs. These architectures focus on regular applications in which it is possible to extract data and/or instruction level parallelism offline. However, applications with irregular parallelism only benefit marginally from such architectures. Targeting such applications, we investigate superscalar, out-of-order, and Runahead execution on FPGAs. Although these architectures have been investigated in the ASIC world, they have not been studied thoroughly for FPGA implementations.
We start by investigating the challenges of implementing a typical inorder pipeline on FPGAs and propose effective solutions to shorten the processor critical path. We then show that superscalar processing is undesirable on FPGAs as it leads to low clock frequency and high area cost due to wide datapaths. Accordingly, we focus on investigating and proposing FPGA-friendly OoO and Runahead soft processors.
We propose FPGA-friendly alternatives for various mechanisms and components used in OoO execution. We introduce CFC, a novel copy-free checkpointing which exploits FPGA block RAMs for fast and dense storage. Using CFC, we propose an FPGA-friendly register renamer and investigate the design and implementation of instruction schedulers on FPGAs.
We then investigate Runahead execution and introduce NCOR, an FPGA-friendly non-blocking cache tailored for FPGAs. NCOR removes CAM-based structures used in conventional designs and achieves the high clock frequency of 278 MHz. Finally, we introduce SPREX, a complete Runahead soft core incorporating CFC and NCOR. Compared to Nios~II, SPREX provides as much as 38% higher performance for applications with irregular data-level parallelism with minimal area overhead.
|
2 |
Projeto de um estimador de potência para o processador Nios II da Altera / A power estimation design for the Altera Nios II processorHolanda, Jose Arnaldo Mascagni de 17 April 2007 (has links)
Atualmente, otimizar uma arquitetura ou um sistema de software não significa, necessariamente, aumentar o seu desempenho computacional. Devido a popularização de sistemas embutidos energizados por bateria, um item de grande importância a ser otimizado é o consumo de energia. De forma a obedecer às restrições de consumo, pesquisadores têm concentrado seus esforços na criação de ferramentas que possibilitam a modelagem, a otimização e a estimação do consumo de energia. Nos últimos anos, FPGAs têm apresentado um grande desenvolvimento nos quesitos densidade, velocidade e capacidade de armazenamento. Essas características tornaram possível a construção de sistemas complexos formados por um ou mais processadores soft-core. Esse tipo de processador permite uma personalização detalhada de suas características arquiteturais, possibilitando uma melhor adequação às restrições de tempo e espaço em um projeto. O objetivo deste trabalho é construir um estimador de potência para softwares que têm como alvo o processador soft-core Nios II da Altera, permitindo saber com antecedência quanta energia será consumida devido à execução de programas e aplicações de robótica móvel. O modelo implementado neste trabalho foi testado com vários benchmarks padronizados e os resultados obtidos provaram ser bastante adequados para estimar a energia consumida por um programa, obtendo erros de estimação máximos de 4,78% / Nowadays, optimization of hardware and software systems does not necessarily mean increasing their computational performance. Due to the popularization of battery-operated embedded systems, energy comsumption has become a very critical issue. Several tools have been created to model, optimize, and estimate energy consumption, allowing power constraints to be achieved. Lately, FPGAs have presented great advancements on density, speed and storage capacity. Such characteristics made possible the implementation of complex systems comprising one or more soft-core processors. This kind of processors allows detailed customization of its architectural features, enabling timinig, and area constraints of a design to be reached. The aim of this work is to build a power estimator to predict the energy comsumption of a software running on the Altera Nios II soft-core processor. The implemented estimation model presented on this dissertation has been tested with several standard benchmarks and the results obtained have proven to be suitable for estimating the energy consumption of a software with a maximum error of 4.78%
|
3 |
Arquitetura para extração de características invariantes em imagens binárias utilizando dispositivos de lógica programável complexa / Architectures for the extraction of invariant characteristics from binary images using logic programmable devicesJorge, Guilherme Henrique Renó 17 August 2006 (has links)
Os projetistas de sistemas digitais enfrentam sempre o desafio de encontrar o balanço correto entre velocidade e generalidade de processamento de seu hardware. Originalmente dispositivos de lógica programável de alta densidade como FPGAs (Field Programable Gate Arrays) e CPLDs (Complex Logic Programmable Devices) vinham sendo utilizados como dispositivos de lógica acoplada(glue logic), reduzindo significantemente o número de componentes em um sistema. Seu uso como forma de substituir arquiteturas já existentes de microcontroladores e microprocessadores já é uma realidade. A representação e reconhecimento de objetos em imagens de duas dimensões é um tópico importante. Uma forma comum de se fazer a representação de um objeto ou uma imagem é a utilização de momentos da função de intensidade de um grupo de pixels. Devido ao alto custo computacional para o cálculo desses momentos tem sido importante a busca por arquiteturas que de alguma forma agilizem o cálculo dos mesmos. Um problema enfrentado por arquiteturas desenvolvidas atualmente para trabalhar em forma de periférico com um computador pessoal (PC) ou uma estação de trabalho é a velocidade do barramento de transferência de dados. Interfaces de uso mais simples, como USB (Universal Serial Bus) ou Ethernet, têm sua taxa de transferência na casa dos megabytes por segundo. Uma solução para esse problema é o uso do barramento PCI, as transferências feitas nesse barramento podem chegar à casa dos gigabytes por segundo. Esse trabalho vem apresentar uma arquitetura, em forma de soft core totalmente compatível com o padrão Wishbone, para a extração de características invariantes em imagens binárias utilizando-se de dispositivos de lógica programável complexa. Desse modo torna-se possível o uso do barramento PCI para a transmissão de dados para um microcomputador ou uma estação de trabalho. / A challenge for digital systems designers is to meet the balance between speed and flexibility was always. FPGAs and CPLDs where used as glue logic, reducing the number of components in a system. The use of programmable logic (CPLDs and FPGAs) as an alternative to microcontrollers and microprocessors is a real issue. Moments of the intensity function of a group of pixels have been used for the representation and recognition of objects in two dimensional images. Due to the high cost of computing the moments, the search for faster computing architectures is very important. A problem faced by nowadays developed architectures is the speed of computer communication buses. Simpler interfaces, as USB (Universal Serial Bus) and Ethernet, have their transfer rate in megabytes per second. A solution for this problem is the use the PCI bus, where the transfer rate can achieve gigabytes per second. This work presents a soft core architecture, fully compatible with the Wishbone standard, for the extraction of invariant characteristics from binary images using logic programmable devices.
|
4 |
Arquitetura para extração de características invariantes em imagens binárias utilizando dispositivos de lógica programável complexa / Architectures for the extraction of invariant characteristics from binary images using logic programmable devicesGuilherme Henrique Renó Jorge 17 August 2006 (has links)
Os projetistas de sistemas digitais enfrentam sempre o desafio de encontrar o balanço correto entre velocidade e generalidade de processamento de seu hardware. Originalmente dispositivos de lógica programável de alta densidade como FPGAs (Field Programable Gate Arrays) e CPLDs (Complex Logic Programmable Devices) vinham sendo utilizados como dispositivos de lógica acoplada(glue logic), reduzindo significantemente o número de componentes em um sistema. Seu uso como forma de substituir arquiteturas já existentes de microcontroladores e microprocessadores já é uma realidade. A representação e reconhecimento de objetos em imagens de duas dimensões é um tópico importante. Uma forma comum de se fazer a representação de um objeto ou uma imagem é a utilização de momentos da função de intensidade de um grupo de pixels. Devido ao alto custo computacional para o cálculo desses momentos tem sido importante a busca por arquiteturas que de alguma forma agilizem o cálculo dos mesmos. Um problema enfrentado por arquiteturas desenvolvidas atualmente para trabalhar em forma de periférico com um computador pessoal (PC) ou uma estação de trabalho é a velocidade do barramento de transferência de dados. Interfaces de uso mais simples, como USB (Universal Serial Bus) ou Ethernet, têm sua taxa de transferência na casa dos megabytes por segundo. Uma solução para esse problema é o uso do barramento PCI, as transferências feitas nesse barramento podem chegar à casa dos gigabytes por segundo. Esse trabalho vem apresentar uma arquitetura, em forma de soft core totalmente compatível com o padrão Wishbone, para a extração de características invariantes em imagens binárias utilizando-se de dispositivos de lógica programável complexa. Desse modo torna-se possível o uso do barramento PCI para a transmissão de dados para um microcomputador ou uma estação de trabalho. / A challenge for digital systems designers is to meet the balance between speed and flexibility was always. FPGAs and CPLDs where used as glue logic, reducing the number of components in a system. The use of programmable logic (CPLDs and FPGAs) as an alternative to microcontrollers and microprocessors is a real issue. Moments of the intensity function of a group of pixels have been used for the representation and recognition of objects in two dimensional images. Due to the high cost of computing the moments, the search for faster computing architectures is very important. A problem faced by nowadays developed architectures is the speed of computer communication buses. Simpler interfaces, as USB (Universal Serial Bus) and Ethernet, have their transfer rate in megabytes per second. A solution for this problem is the use the PCI bus, where the transfer rate can achieve gigabytes per second. This work presents a soft core architecture, fully compatible with the Wishbone standard, for the extraction of invariant characteristics from binary images using logic programmable devices.
|
5 |
Projeto de um estimador de potência para o processador Nios II da Altera / A power estimation design for the Altera Nios II processorJose Arnaldo Mascagni de Holanda 17 April 2007 (has links)
Atualmente, otimizar uma arquitetura ou um sistema de software não significa, necessariamente, aumentar o seu desempenho computacional. Devido a popularização de sistemas embutidos energizados por bateria, um item de grande importância a ser otimizado é o consumo de energia. De forma a obedecer às restrições de consumo, pesquisadores têm concentrado seus esforços na criação de ferramentas que possibilitam a modelagem, a otimização e a estimação do consumo de energia. Nos últimos anos, FPGAs têm apresentado um grande desenvolvimento nos quesitos densidade, velocidade e capacidade de armazenamento. Essas características tornaram possível a construção de sistemas complexos formados por um ou mais processadores soft-core. Esse tipo de processador permite uma personalização detalhada de suas características arquiteturais, possibilitando uma melhor adequação às restrições de tempo e espaço em um projeto. O objetivo deste trabalho é construir um estimador de potência para softwares que têm como alvo o processador soft-core Nios II da Altera, permitindo saber com antecedência quanta energia será consumida devido à execução de programas e aplicações de robótica móvel. O modelo implementado neste trabalho foi testado com vários benchmarks padronizados e os resultados obtidos provaram ser bastante adequados para estimar a energia consumida por um programa, obtendo erros de estimação máximos de 4,78% / Nowadays, optimization of hardware and software systems does not necessarily mean increasing their computational performance. Due to the popularization of battery-operated embedded systems, energy comsumption has become a very critical issue. Several tools have been created to model, optimize, and estimate energy consumption, allowing power constraints to be achieved. Lately, FPGAs have presented great advancements on density, speed and storage capacity. Such characteristics made possible the implementation of complex systems comprising one or more soft-core processors. This kind of processors allows detailed customization of its architectural features, enabling timinig, and area constraints of a design to be reached. The aim of this work is to build a power estimator to predict the energy comsumption of a software running on the Altera Nios II soft-core processor. The implemented estimation model presented on this dissertation has been tested with several standard benchmarks and the results obtained have proven to be suitable for estimating the energy consumption of a software with a maximum error of 4.78%
|
6 |
Real-Time Embedded System Design and Realization for Integrated Navigation SystemsAbdelfatah, Walid Farid 12 October 2010 (has links)
Navigation algorithms integrating measurements from multi-sensor systems overcome the problems that arise from using GPS navigation systems in standalone mode. Algorithms which integrate the data from 2D low-cost reduced inertial sensor system, consisting of a gyroscope and an odometer, along with a GPS via a Kalman filter has proved to be worthy in providing a consistent and more reliable navigation solution compared to the standalone GPS. It has been also shown to be beneficial, especially in GPS-denied environments such as urban canyons and tunnels. The main objective of this research is to narrow the idea-to-implementation gap that follows the algorithm development by realizing a low-cost real-time embedded navigation system that is capable of computing the data-fused positioning solution instantly. The role of the developed system is to synchronize the measurements from the three sensors, GPS, gyroscope and odometer, relative to the pulse per second signal generated from the GPS, after which the navigation algorithm is applied to the synchronized measurements to compute the navigation solution in real-time.
Xilinx’s MicroBlaze soft-core processor on a Virtex-4 FPGA is utilized and customized for developing the real-time navigation system. The soft-core processor offers the flexibility to choose or implement a set of features and peripherals that are tailored to the specific application to be developed. An embedded system design model is chosen to act as a framework for the work flow to be carried through the system life cycle starting from the system specification phase and ending with the system release. The developed navigation system is tested first on a mobile robot to reveal system bugs and integration problems, and then on a land vehicle testing platform for further testing. The real-time solution from the implemented system when compared to the solution of a high-end navigation system, proved to be successful in providing a comparable consistent real-time navigation solution. Employing a soft-core processor in the kernel of the navigation system, provided the flexibility for communicating with the various sensors and the computation capability required by the Kalman filter integration algorithm. / Thesis (Master, Electrical & Computer Engineering) -- Queen's University, 2010-10-11 16:08:38.811
|
7 |
Projeto de um processador open source em Bluespec baseado no processador soft-core Nios II da Altera / Design of an open source processor in Bluespec based on Altera Nios II soft-core processorPereira, Erinaldo da Silva 09 June 2014 (has links)
Este trabalho apresenta o desenvolvimento de um processador open source baseado no processador Nios II da Altera. O processador desenvolvido permite a customização de instruções, a inclusão de componentes que possibilitem um estudo detalhado da memória cache, tal como um monitor de cache, definir o tamanho da cache, dentre outras características. Além disso, o processador é baseado na arquitetura do Nios II e implementa 90% do ISA do Nios II, o mesmo está integrado aos ambientes Qsys e SOPC Builder da ferramenta Quartus II da Altera, sendo possível utilizar todo o conjunto de IP (Propriedade Intelectual) e ferramentas disponíveis pela Altera. Assim, este trabalho tem como propósito colaborar com o desenvolvimento de arquiteturas de hardware com uma unidade de processamento configurável e customizável facilmente pelo usuário, uma vez que o seu código fonte em Bluespec SystemVerilog está aberto a todos os usuários, diferente do Nios II da Altera, que tem o código encriptado, inviabilizando fornecer qualquer mudança no processador a nível RTL (Register Transfer Level ). Para o desenvolvimento do processador foi utilizada a Linguagem de Descrição de Hardware Bluespec SystemVerilog, pelo fato de ser uma ESL (Electronic System Level ) que acelera o processo de desenvolvimento de hardware / This work presents the development of an open source based Nios II processor from Altera. The developed processor allows custom instructions, use of components that allows a detailed study of the cache memory, among other features. In addition, the processor is based on the Nios II architecture, which can be integrated into the Qsys and SOPC Builder of the Altera Quartus II environment tool as well as use the entire set of IP (Intellectual Property) and tools available from Altera. This work contributes to the development of hardware architectures with a processing unit configurable and easily customizable by the user, since its source code in Bluespec SystemVerilog is open to all users, other than the Nios II from Altera which has encrypted code, making it impossible to do any changes in the processor at RTL (Register Transfer level) level. For the development of the processor hardware the description language Bluespec SystemVerilog was used, which is an ESL (Electronic System Level) that speeds up the development of the hardware
|
8 |
Projeto de um processador open source em Bluespec baseado no processador soft-core Nios II da Altera / Design of an open source processor in Bluespec based on Altera Nios II soft-core processorErinaldo da Silva Pereira 09 June 2014 (has links)
Este trabalho apresenta o desenvolvimento de um processador open source baseado no processador Nios II da Altera. O processador desenvolvido permite a customização de instruções, a inclusão de componentes que possibilitem um estudo detalhado da memória cache, tal como um monitor de cache, definir o tamanho da cache, dentre outras características. Além disso, o processador é baseado na arquitetura do Nios II e implementa 90% do ISA do Nios II, o mesmo está integrado aos ambientes Qsys e SOPC Builder da ferramenta Quartus II da Altera, sendo possível utilizar todo o conjunto de IP (Propriedade Intelectual) e ferramentas disponíveis pela Altera. Assim, este trabalho tem como propósito colaborar com o desenvolvimento de arquiteturas de hardware com uma unidade de processamento configurável e customizável facilmente pelo usuário, uma vez que o seu código fonte em Bluespec SystemVerilog está aberto a todos os usuários, diferente do Nios II da Altera, que tem o código encriptado, inviabilizando fornecer qualquer mudança no processador a nível RTL (Register Transfer Level ). Para o desenvolvimento do processador foi utilizada a Linguagem de Descrição de Hardware Bluespec SystemVerilog, pelo fato de ser uma ESL (Electronic System Level ) que acelera o processo de desenvolvimento de hardware / This work presents the development of an open source based Nios II processor from Altera. The developed processor allows custom instructions, use of components that allows a detailed study of the cache memory, among other features. In addition, the processor is based on the Nios II architecture, which can be integrated into the Qsys and SOPC Builder of the Altera Quartus II environment tool as well as use the entire set of IP (Intellectual Property) and tools available from Altera. This work contributes to the development of hardware architectures with a processing unit configurable and easily customizable by the user, since its source code in Bluespec SystemVerilog is open to all users, other than the Nios II from Altera which has encrypted code, making it impossible to do any changes in the processor at RTL (Register Transfer level) level. For the development of the processor hardware the description language Bluespec SystemVerilog was used, which is an ESL (Electronic System Level) that speeds up the development of the hardware
|
9 |
A Soft-core processor architecture optimised for radar signal processing applicationsBroich, René January 2013 (has links)
Current radar signal processor architectures lack either performance or flexibility in terms of ease of
modification and large design time overheads. Combinations of processors and FPGAs are typically
hard-wired together into a precisely timed and pipelined solution to achieve a desired level of functionality
and performance. Such a fixed processing solution is clearly not feasible for new algorithm
evaluation or quick changes during field tests. A more flexible solution based on a high-performance
soft-core processing architecture is proposed.
To develop such a processing architecture, data and signal-flow characteristics of common radar signal
processing algorithms are analysed. Each algorithm is broken down into signal processing and
mathematical operations. The computational requirements are then evaluated using an abstract model
of computation to determine the relative importance of each mathematical operation. Critical portions
of the radar applications are identified for architecture selection and optimisation purposes.
Built around these dominant operations, a soft-core architecture model that is better matched to the
core computational requirements of a radar signal processor is proposed. The processor model is
iteratively refined based on the previous synthesis as well as code profiling results. To automate this
iterative process, a software development environment was designed. The software development environment
enables rapid architectural design space exploration through the automatic generation of development tools (assembler, linker, code editor, cycle accurate emulator / simulator, programmer,
and debugger) as well as platform independent VHDL code from an architecture description file. Together
with the board specific HDL-based HAL files, the design files are synthesised using the vendor
specific FPGA tools and practically verified on a custom high performance development board. Timing
results, functional accuracy, resource usage, profiling and performance data are analysed and fed
back into the architecture description file for further refinement.
The results from this iterative design process yielded a unique transport-based pipelined architecture.
The proposed architecture achieves high data throughput while providing the flexibility that
a software-programmable device offers. The end user can thus write custom radar algorithms in
software rather than going through a long and complex HDL-based design. The simplicity of this
architecture enables high clock frequencies, deterministic response times, and makes it easy to understand.
Furthermore, the architecture is scalable in performance and functionality for a variety of
different streaming and burst-processing related applications.
A comparison to the Texas Instruments C66x DSP core showed a decrease in clock cycles by a factor
between 10.8 and 20.9 for the identical radar application on the proposed architecture over a range of
typical operating parameters. Even with the limited clock speeds achievable on the FPGA technology,
the proposed architecture exceeds the performance of the commercial high-end DSP processor.
Further research is required on ASIC, SIMD and multi-core implementations as well as compiler
technology for the proposed architecture. A custom ASIC implementation is expected to further
improve the processing performance by factors between 10 and 27. / Dissertation (MEng)--University of Pretoria, 2013. / gm2014 / Electrical, Electronic and Computer Engineering / unrestricted
|
10 |
Adapting an FPGA-optimized microprocessor to the MIPS32 instruction set / Anpassning av en FPGA-optimerad processor till instruktionsuppsättningen MIPS32Andersson, Olof, Bengtsson, Karl January 2010 (has links)
<p>Nowadays, FPGAs are large enough to host entire system-on-chip designs, wherein a soft core processor is often an integral part. High performance of the processor is always desirable, so there is an interest in finding faster solutions.This report aims to describe the work and results performed by Karl Bengtson and Olof Andersson at ISY. The task was to continue the development of a soft core microprocessor, originally created by Andreas Ehliar. The first step was to decide a more widely adopted instruction set for the processor. The choice fell upon the MIPS32 instruction set. The main work of the project has been focused on implementing support for MIPS32, allowing the processor to execute MIPS assembly language programs. The development has been done with speed optimization in mind. For every new function, the effects on the maximum frequency has been considered, and solutions not satisfying the speed requirements has been abandoned or revised.The performance has been measured by running a benchmark program—Coremark. Comparison has also been made to the main competitors among soft core processors. The results were positive, and reported a higher Coremark score than the other processors inthe study. The processor described herein still lacks many essential features. Nevertheless, the conclusion is that it may be possible to create a competitive alternative to established soft processors.</p> / <p>FPGAer används idag ofta för stora inbyggda system, i vilka en mjuk processor ofta spelar en viktig roll. Hög prestanda hos processorn är alltid önskvärt, så det finns ett intresse i att hitta snabbare lösningar. Denna rapport skall beskriva det arbete och de resultat som uppnåtts av Karl Bengtson och Olof Andersson på ISY. Uppgiften var att fortsätta utvecklandet av en mjuk processor, som ursprungligen skapats av Andreas Ehliar. Första steget var att välja ut en mer allmänt använd instruktionsuppsättning för processorn. Valet föll på instruktionsuppsättningsarkitekturen MIPS32. Projektets huvutarbete har varit fokuserat på att implementera stöd för MIPS32, vilket ger processorn möjlighet att köra assemblerprogram för MIPS.Utvecklingen har gjorts med hastighetsoptimering i beaktning. För varje ny funktion har dess effekter på maxfrekvensen undersökts,och lösningar som inte uppfyllt hastighetskraven har förkastats eller reviderats. Prestandan har mätts med programmet Coremark. Det har också gjorts jämförelser med huvudkonkurrenterna bland mjuka processorer. Resultaten var positiva, och rapporterade ett högre Coremarkpoäng än de andra processorerna i studien. Slutsatsen är att det ärmöjligt att skapa ett alternativ till de etablerade mjuka processorerna, men att denna processor fortfarande saknar väsentliga funktioner som behövs för att utgöra en mogen produkt.</p>
|
Page generated in 0.0491 seconds