Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Edna Barros is active.

Publication


Featured researches published by Edna Barros.


International Journal of Parallel Programming | 2005

The ArchC architecture description language and tools

Rodolfo Azevedo; Sandro Rigo; Marcus Bartholomeu; Guido Araujo; Cristiano C. de Araujo; Edna Barros

This paper presents an architecture description language (ADL) called ArchC, which is an open-source SystemC-based language that is specialized for processor architecture description. Its main goal is to provide enough information, at the right level of abstraction, in order to allow users to explore and verify new architectures, by automatically generating software tools like simulators and co-verification interfaces. ArchC’s key features are a storage-based co-verification mechanism that automatically checks the consistency of a refined ArchC model against a reference (functional) description, memory hierarchy modeling capability, the possibility of integration with other SystemC IPs and the automatic generation of high-level SystemC simulators and assemblers. We have used ArchC to synthesize both functional and cycle-based simulators for the MIPS and Intel 8051 processors, as well as functional models of architectures like SPARC V8, TMS320C62x, XScale and PowerPC.


Design Automation for Embedded Systems | 1999

A Petri Net Model for Hardware/Software Codesign

Paulo Romero Martins Maciel; Edna Barros; Wolfgang Rosenstiel

This work presents Petri nets as an intermediate model for hardware/software codesign. The main reason of using of Petri nets is to provide a model that allows for formal qualitative and quantitative analysis in order to perform hardware/software partitioning. Petri nets as an intermediate model allows one to analyze properties of the specification and formally compute performance indices which are used in the partitioning process. This paper highlights methods of computing load balance, mutual exclusion degree and communication cost of behavioral description in order to perform the initial allocation and the partitioning. This work is also devoted to describing a method for estimating hardware area, and it also presents an overview of the general partitioning method considering multiple software components.


Proceedings of the 3rd international workshop on Hardware/software co-design | 1994

Towards provably correct hardware/software partitioning using OCCAM

Edna Barros; Augusto Sampaio

We present some ideas towards an approach to provably correct hardware/software partitioning. We use OCCAM as the source programming language and perform the partitioning by applying a series of algebraic transformations on the source program. The result is still an OCCAM program; its structure reflects the hardware and software components, and how they interact to achieve the overall goal. A simple case study is developed to illustrate the partitioning and to show how the transformations can be proved to preserve an algebraic semantics of OCCAM.<<ETX>>


formal methods | 1997

A Normal Form Reduction Strategy for Hardware/Software Partitioning

Leila Silva; Augusto Sampaio; Edna Barros

In this paper we present a characterisation of the hardware/software partitioning problem as a program transformation task. Both the input and the output of the partitioning are expressed as processes in occam, and the partitioning itself is conducted by the application of a set of rules derived from an algebraic semantics of occam. The partitioning is designed in such a way to allow the complete separation of the efficiency and the correctness aspects of the process. A complete set of rules to turn an arbitrary program into a normal form is presented; this form is the parallel composition of very simple subprocesses, allowing a very flexible analysis of how they can be combined (in clusters) to produce the final result of the partitioning.


design automation conference | 2006

Configurable cache subsetting for fast cache tuning

Pablo Viana; Ann Gordon-Ross; Eamonn J. Keogh; Edna Barros; Frank Vahid

Numerous variations of configurable caches, having variable parameters like total size, line size, and associativity, have been proposed in commercial microprocessors in recent years. Tuning a configurable cache to a target application has been shown to reduce memory-access power by over 50%. However, searching the configuration space for the best configuration can require much time or power, even when using recent cache tuning heuristics. We sought to determine, for a particular domain of applications, the smallest subset of cache configurations that would still enable effective tuning. For a suite of 34 benchmarks and a cache with 18 possible configurations, we determine through an exhaustive search of all possible subsets, that only 3 or 4 candidate configurations are necessary to support tuning. We introduce a new heuristic, adapted from an efficient and effective heuristic developed for data mining, to quickly determine the best configurations for any sized subset, with near optimal results. We then consider a configurable cache with 17,640 possible configurations and improve our heuristic to include a pre-pruning step, yielding near optimal tuning results. We conclude that only 3 or 4 possible cache configurations are needed to offer a near optimal configuration for every benchmark in our suite - resulting in a 91% reduction in design space exploration time over a state-of-the-art cache tuning heuristic


great lakes symposium on vlsi | 2008

A table-based method for single-pass cache optimization

Pablo Viana; Ann Gordon-Ross; Edna Barros; Frank Vahid

Due to the large contribution of the memory subsystem to total system power, the memory subsystem is highly amenable to customization for reduced power/energy and/or improved performance. Cache parameters such as total size, line size, and associativity can be specialized to the needs of an application for system optimization. In order to determine the best values for cache parameters, most methodologies utilize repetitious application execution to individually analyze each configuration explored. In this paper we propose a simplified yet efficient technique to accurately estimate the miss rate of many different cache configurations in just one single-pass of execution. The approach utilizes simple data structures in the form of a multi-layered table and elementary bitwise operations to capture the locality characteristics of an applications addressing behavior. The proposed technique intends to ease miss rate estimation and reduce cache exploration time.


international conference on hardware/software codesign and system synthesis | 2007

A computational reflection mechanism to support platform debugging in SystemC

Bruno Albertini; Sandro Rigo; Guido Araujo; Cristiano C. de Araujo; Edna Barros; Willians Azevedo

System-level and Platform-based design, along with Transaction Level modeling (TLM) techniques and languages like SystemC, appeared as a response to the ever increasing complexity of electronics systems design, where complex SoCs composed of several modules integrated on the same chip have become very common. In this scenario, the exploration and verification of several architecture models early in the design flow has played an important role. This paper proposes a mechanism that relies on computational reflection to enable designers to interact, on the fly, with platform simulation models written in SystemC TLM. This allows them to monitor and change signals or even IP internal register values, thus injecting specific stimuli that guide the simulation flow through corner cases during platform debugging, which are usually hard to handle by standard techniques, thus improving functional coverage. The key advantages of our approach are that we do not require code instrumentation from the IP designer, do not need a specialized SystemC library, and not even need the IP source code to be able to inspect its contents. The reflection mechanism was implemented using a C++ reflection library and integrated into a platform modeling framework. We evaluate our technique through some platform case studies.


symposium on computer architecture and high performance computing | 2003

Exploring memory hierarchy with ArchC

Pablo Viana; Edna Barros; Sandro Rigo; Rodolfo Azevedo; Guido Araujo

We present the cache configuration exploration of a programmable system, in order to find the best matching between the architecture and a given application. Here, programmable systems composed by processor and memories may be rapidly simulated making use of ArchC, an architecture description language (ADL) based on SystemC. Initially designed to model processor architectures, ArchC was extended to support a more detailed description of the memory subsystem, allowing the design space exploration of the whole programmable system. As an example, it is shown an image processing application, running on a SPARC-V8 processor-based architecture, which had its memory organization adjusted to minimize cache misses.


formal methods | 2004

A Constructive Approach to Hardware/Software Partitioning

Leila Silva; Augusto Sampaio; Edna Barros

A crucial point in hardware/software co-design is how to perform the partitioning of a system into hardware and software components. Although several algorithms to partitioning have been recently proposed, the formal verification of the partitioning procedure is an emergent research topic. In this paper we present an innovative and automatic approach to partitioning with emphasis on correctness. The formalism used is occam and the algebraic laws that define its semantics. In the proposed approach, the partitioning procedure is characterised as a program transformation task and the partitioned system is derived from the original description of the system by applying transformation rules, all of them proved from the basic laws of occam. A tool has been developed to allow the partitioning to be carried out automatically. The entire approach is illustrated here through a small case study.


rapid system prototyping | 1997

Computing communication cost by Petri nets for hardware/software codesign

Paulo Romero Martins Maciel; Edna Barros; Wolfgang Rosenstiel

This work presents a method to compute communication cost by applying Petri nets. This cost is being used to guide the hardware/software partitioning in a methodology for hardware/software codesign context, which is being developed. Petri nets are a family of formalisms sharing basic principles. Although for each purpose or detail level one appropriated formalism have to be chosen from the family, the transformation from one formalism to another could be sound. The use of Petri makes the partitioning method independent on a specific description mechanism. Additionally, Petri net as an intermediate format allows to analyse behavioral properties of the specification and formally to compute performance indices which are used in the partitioning process.

Collaboration


Dive into the Edna Barros's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Cristiano C. de Araujo

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar

Manoel Eusebio de Lima

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar

Rafael M. Macieira

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Guido Araujo

State University of Campinas

View shared research outputs
Top Co-Authors

Avatar

Pablo Viana

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar

Andre Aziz

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar

Rodolfo Azevedo

State University of Campinas

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge