One of the greatest challenges in C/C++-based design methodology is to
efficiently map C/C++ models into hardware. Many of the networking and
multimedia applications implemented in hardware or mixed hardware/software
systems are making use of complex data structures stored in one or
multiple memories. As a result, many of the C/C++ features which were
originally designed for software applications are now making their way
into hardware. Such features include dynamic memory
allocation/deallocation and pointers used to manage data. This inventors
present a solution for efficiently mapping arbitrary C code with pointers
and malloc/free into hardware. This solution fits current memory
management methodologies. It consists of instantiating a hardware
allocator tailored to an application and a memory architecture. This work
also supports the resolution of pointers without restriction on the data
structures. An implementation using the SUIF framework is presented,
followed by some case studies such as the realization of a video filter.
Um dos desafios os mais grandes na metodologia de projeto de C/C++-based deve traçar eficientemente modelos de C/C++ na ferragem. Muitos do networking e as aplicações dos multimedia executados na ferragem ou os sistemas misturados dos hardware/software estão empregando as estruturas de dados complexas armazenadas em uma ou em memórias múltiplas. Em conseqüência, muitas das características de C/C++ que foram projetadas originalmente para aplicações do software estão fazendo agora sua maneira na ferragem. Tais características incluem a memória dinâmica allocation/deallocation e os ponteiros usados controlar dados. Este os inventores apresentam uma solução para eficientemente traçar o código arbitrário de C com ponteiros e o malloc/free na ferragem. Esta solução cabe metodologias atuais da gerência da memória. Consiste instantiating um allocator da ferragem costurado a uma aplicação e a uma arquitetura da memória. Este trabalho suporta também a definição dos ponteiros sem limitação nas estruturas de dados. Uma execução que usa a estrutura de SUIF é apresentada, seguido por alguns estudos de caso tais como o realization de um filtro video.