Please use this identifier to cite or link to this item: http://hdl.handle.net/10773/4669
Title: Especialização e síntese de processadores para aplicação em sistemas de tempo-real
Author: Oliveira, Arnaldo Silva Rodrigues de
Advisor: Skliarov, Valeri
Almeida, António Manuel de Brito Ferrari
Keywords: Engenharia electrónica
Microelectrónica
Microprocessadores
Circuitos integrados
Sistemas em tempo real
Arquitectura de computadores
Defense Date: 2007
Publisher: Universidade de Aveiro
Abstract: A evolução da tecnologia microelectrónica ao longo das últimas décadas tem permitido um impressionante aumento da capacidade lógica dos circuitos integrados, sendo actualmente possível a construção de circuitos digitais complexos, específicos ou programáveis e integrados numa única pastilha. No final desta década será possível construir processadores e FPGAs com cerca de dez mil milhões de transístores. A utilização eficiente desta quantidade de recursos é um grande desafio cuja abordagem depende obviamente do domínio de aplicação. Os processadores superescalares actuais utilizam técnicas sofisticadas para atingir níveis elevados de desempenho, tais como a execução paralela de múltiplas instruções, superpipelining, execução especulativa, reordenação de instruções e hierarquias de memória complexas. Estas técnicas revelaram-se adequadas para melhorar o desempenho médio dos processadores para sistemas de uso geral mantendo ao mesmo tempo a compatibilidade, ao nível do modelo de programação, com os processadores escalares convencionais. No entanto, a sua implementação requer uma quantidade de recursos apreciável e coloca grandes desafios ao nível da validação e teste dos respectivos processadores. Estes processadores também consomem e dissipam quantidades consideráveis de energia e não apresentam um desempenho determinístico. O aumento da capacidade computacional e a redução do tamanho levaram a que os sistemas com microprocessadores passassem a estar presentes (ou embutidos) em muitos dos equipamentos e aplicações do dia-a-dia, tais como os transportes, as telecomunicações, os sistemas de segurança, a automação industrial, etc. Devido à interacção entre estes sistemas e o ambiente, estas aplicações possuem requisitos de operação em tempo-real que se não forem cumpridos podem provocar graves danos humanos e materiais. Por este motivo, os sistemas de tempo-real requerem abordagens de projecto específicas de forma a assegurar um comportamento funcional e temporalmente correcto. No entanto, por questões económicas, nas aplicações embutidas são muitas vezes utilizados componentes dos sistemas computacionais de uso geral. Em particular, em sistemas embutidos de tempo-real são frequentemente usados processadores de uso geral, o que pode levantar alguns problemas, principalmente devido à sua ineficiência energética e ao seu desempenho não determinístico. Assim, é necessário adoptar técnicas de projecto, por vezes muito conservativas, de forma a garantir um comportamento correcto mesmo nas situações mais desfavoráveis. A complexidade crescente dos sistemas e a necessidade de reduzir o seu tempo de projecto, tem levado a uma utilização crescente de executivos e sistemas operativos multi-tarefa, os quais implementam camadas de abstracção do hardware e disponibilizam um conjunto de serviços que reduzem o tempo de desenvolvimento. No entanto, estas camadas intermédias de software consomem tempo de processamento e são também elas próprias por vezes uma fonte de não determinismo. Nesta dissertação são discutidas ideias, apresentadas arquitecturas e avaliadas implementações de modelos para a especialização e síntese de processadores para aplicação em sistemas embutidos de tempo-real multi-tarefa que exploram eficientemente a capacidade de integração e a flexibilidade proporcionada pelas FPGAs actuais. O objectivo deste trabalho é validar a seguinte tese: Um processador adequado para sistemas embutidos de tempo-real multi-tarefa deve apresentar um desempenho determinístico, ser eficiente do ponto de vista energético, assim como proporcionar, através de hardware especializado, o suporte adequado para este tipo de aplicações. Tal processador pode ser construído com base numa estrutura mais simples e uma quantidade de recursos de hardware inferior à dos processadores de uso geral actuais, sendo portanto mais simples de validar e implementar. A utilização de modelos sintetizáveis e parametrizáveis e sua implementação em dispositivos lógicos programáveis torna possível a construção de processadores à medida da aplicação alvo. As principais contribuições originais desta dissertação são a concepção de arquitecturas e modelos sintetizáveis de um processador pipelined multi-tarefa determinístico e respectivo coprocessador para suporte do sistema operativo de tempo-real. O ponto de partida deste trabalho foi a elaboração de um modelo criado de raiz para implementação da arquitectura MIPS32 em FPGA. Esse modelo, denominado ARPA-CP (Advanced Real-time Processor Architecture - with Configurable Pipeline) é parametrizável, sintetizável e independente da tecnologia. O modelo do processador pipelined ARPA-CP foi estendido com capacidades de multi-tarefa simultânea (Simultaneous Multithreading) resultando no processador ARPA-MT (ARPA - MultiThreaded), também implementado e prototipado em FPGA. A utilização de técnicas de multi-tarefa simultânea visa essencialmente melhorar o desempenho dos processadores destinados a sistemas de tempo-real multi-tarefa sem recorrer a técnicas de execução especulativa, mantendo portanto o desempenho determinístico. No âmbito deste doutoramento foi também concebido e projectado o coprocessador ARPA-OSC (ARPA - Operating System Coprocessor), para implementação em hardware dos mecanismos básicos de um sistema operativo de tempo-real, nomeadamente, a temporização, o escalonamento de tarefas, o controlo de acesso a recursos partilhados, a comutação de tarefas em execução, a verificação do cumprimento das restrições temporais e o atendimento de interrupções. A avaliação do desempenho deste coprocessador mostrou que a sua utilização permite obter reduções de uma a duas ordens de grandeza e valores mais determinísticos do tempo de execução de algumas das funções do executivo de tempo-real OReK, desenvolvido para abstrair e proporcionar uma interface de programação adequada do coprocessador ARPA-OSC. Todas as arquitecturas concebidas no âmbito deste trabalho foram modeladas ao nível RTL com a linguagem de descrição de hardware VHDL. Os modelos construídos são independentes da tecnologia e parametrizáveis de forma a que certos aspectos possam ser modificados durante a fase de síntese e implementação com ferramentas de projecto assistido por computador. A sua prototipagem foi realizada em FPGAs da Xilinx.
The continuous evolution of the microelectronics technology during the last decades has allowed an impressive growth of the logic capacity that can be integrated on a single chip. It is now possible to manufacture complex digital circuits fully integrated on application specific or field programmable devices. By 2010 it will be possible to build processors and FPGAs containing about 10 thousand million transistors on a single chip. The efficient use of this huge transistor budget is a challenge being the approach highly dependent on the application domain. Current superscalar processors employ sophisticated techniques to achieve high levels of performance, such as parallel instruction issue, superpipelining, prediction, speculation, out-of-order execution and complex memory hierarchies. These techniques proved themselves very effective to improve the average performance of general purpose processors, being at the same time backward compatible and maintaining the programming model and sequential execution semantics of the conventional scalar processors. However, their implementation requires complex architectures and considerable hardware resources with the inherent time consuming validation and test procedures. Those processors also consume large amounts of power and exhibit a non deterministic performance. The improvement of computational power and the size reduction have allowed the utilization (or embedding) of microprocessor based systems within many equipments and real world applications such as transportation, telecommunications, security, industrial automation, etc. Due to the close interaction between these systems and the surrounding environment, this class of applications has real-time operation constraints that must be fulfilled or serious human and material injuries can occur otherwise. Thus, real-time systems require specific design approaches to ensure correct functional and timing behaviors. However, economical reasons motivate the use of commercially available of the shelf and general purpose components in the design of embedded systems. In particular, general purpose processors are often used in real-time embedded systems which can cause several problems, mainly due to its power inefficiency and non deterministic performance. For this reason it is necessary to adopt design techniques, sometimes very conservative, to ensure a correct behavior even under worst case conditions. The raising complexity of systems and the ever shrinking time to market led to an increasing use of existing frameworks, middlewares, multitasking executives and real-time operating systems, which implement abstraction layers and provide a set of services that reduce design time. However, these software layers require processing time, reducing the processor time available for the application and sometimes are also a source of non determinism. This dissertation discusses ideas, presents architectures and evaluates implementations of customizable and synthesizable processor models optimized for multitasking real-time embedded systems, which explore efficiently the integration capacity and flexibility provided by current FPGAs. The main goal of this work is to validate the following thesis: A processor optimized for multitasking embedded systems must exhibit a deterministic performance, be energy efficient, as well as provide, through specialized hardware, the adequate support for this class of applications. Such a processor can be based on a simpler structure and built with less hardware resources than general purpose processors, being easier to validate and to implement. The use of synthesizable and parameterizable models and their implementation in field programmable logic devices make possible the construction of processors customized for the target application. The main original contributions of this Ph.D. are the conception of architectures and synthesizable models for a deterministic, multitasking, pipelined processor and the respective coprocessor for real-time operating system support. The starting point of this work was the elaboration of a model created from scratch for FPGA implementation of the MIPS32 architecture. This model, named ARPA-CP (Advanced Real-time Processor Architecture - with Configurable Pipeline), is parameterizable, synthesizable and technology independent. The ARPA-CP pipelined processor model was extended with Simultaneous MultiThreading (SMT) capabilities, resulting in the ARPA-MT (ARPA - MultiThreaded) processor, also implemented and prototyped in FPGA. The motivation for using SMT techniques is the improvement of the processor performance for multitasking real-time systems without employing prediction or speculative execution techniques, keeping the performance deterministic. In the scope of this work it was also created and designed the ARPA-OSC coprocessor (ARPA - Operating System Coprocessor), for hardware implementation of basic real-time operating system functions, such as timing, task scheduling, synchronization for accessing shared resources, task switching, verification of timing constraints and interrupt servicing. The hardware implementation of these functions allows executing them in less time and in a more predictable manner when compared with a software implementation, reducing the overhead of operating system execution. The performance evaluation of this coprocessor has shown reductions of one to two orders of magnitude in the execution time of some of the functions of the OReK real-time executive, developed to provide an adequate application programmable interface for the ARPA-OSC coprocessor. All architectures were modelled at RTL level using VHDL. The models built are technology independent and parameterizable to allow the modification of several parameters during the synthesis phase using CAD/CAE tools. The prototyping was performed with Xilinx FPGAs.
Description: Doutoramento em Engenharia Electrotécnica
URI: http://hdl.handle.net/10773/4669
Appears in Collections:UA - Teses de doutoramento
DETI - Teses de doutoramento

Files in This Item:
File Description SizeFormat 
212770.pdf3.41 MBAdobe PDFView/Open


FacebookTwitterLinkedIn
Formato BibTex MendeleyEndnote Degois 

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.