Palestra sobre o Coremark

Acabei de sair da palestra sobre o Coremark. Para quem não sabe, Coremark é um benchmarking criado para avaliar a potência computacional das CPUs.  Ele se propõe a ser um benchmark muito mais confiável que o Dhrystone (e a sua famosa unidade DMIPS).

No caso do Coremark, ele foi criado tendo em mente as principais operações utilizadas em aplicações embarcadas e permite (segundo os apresentadores) comparar CPUs de arquiteturas diferentes de forma bastante confiável.

É claro que um microcontrolador não é feito apenas de CPU e os periféricos vão determinar muito sobre a performance da aplicação. Um exemplo é um timer: em algumas arquiteturas, para operar gerando interrupções periódicas, é necessário que o timer opere em modo de comparação e o registrador de comparação deve ser carregado a cada interrupção com o novo valor (o período deve ser adicionado ao valor atual). Esta operação exige intervenção da CPU (a cada interrupção) e consome preciosos recursos computacionais. Em timers como o TAU dos RL78 isso não é necessário, uma vez que cada canal faz automaticamente a recarga do valor, dispensando a intervenção da CPU. Obviamente um benchmark como o Coremark não consegue medir este tipo de eficiência, mas é um ótimo ponto de partida quando é necessário comparar a performance bruta de uma CPU.

Além disso, o código Coremark está disponível para download, assim como as instruções para se compilar e efetuar o teste na sua plataforma preferida!

Leave a Reply