Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fabio Rogrio Piva Karina Mochetti Magalhes Tatiana Al-Chueyr Pereira Martins
Engenharia da Computao 02
Figura 1 Desempenho da CPU considerando o benchmark Drystone O desempenho medido refere-se a clculos inteiros. Ele mostrado em MIPS (Millions os Intructions Per Second), e relativo performance de 1 MIPS do VAX-11/780. A linguagem fonte C. Abordaremos mais profundamente a famlia de processadores SH-4. Esta classe de microprocessadores amplamente utilizada na produo de videogames e outros dispositivos multimdia, especialmente por sua alta performance e por sua estrutura compacta.
sistemas operacionais e aplicativos, buscando portabilidade. Assim, a mxima reutilizao dos conjuntos de instrues pode ser assegurada. H dois modelos de ISA para o SuperH: SHcompact: Codificao de 16 bits, que proporciona um conjunto completo de instrues de propsito geral usadas nos processadores das famlias SH-3, SH-4 e SH-5. SHmedia: Este conjunto de instrues aparece a partir da famlia SH-5. Apresenta codificao com instrues de 32 bits que exploram as capacidades dos caminhos de dados de 64 bits da famlia SH-5, fornecendo um rico conjunto de instrues SIMD (Single Instruction Multiple Data) direcionadas a aplicae de udio em geral, voz, imagens e vdeo. Um simples interruptor de modo permite aos programadores otimizarem seus cdigos utilizando tanto o SHcompact quanto o Shmedia, o que torna os dois modelos compatveis (semelhante ao Thumb Instruction Set do processador ARM). As ISAs do SuperH foram desenvolvidas para proporcionar excelente densidade de cdigo (no caso do modo SHcompact). Este fator afeta os tamanhos necessrios de memrias ROM, RAM, cache e a largura de banda necessrios pelo sistema de gerenciamento de memria para que a CPU seja mantida completamente carregada. Elas tambm apresentam um conjunto de instrues otimizado para performances de multimdia. As instrues SIMD do SHmedia tambm possibilitam otimizaes no que diz respeito economia de recursos em sistemas dedicados.
Alm disso, os processadores SuperH suportam vrios sistemas operacionais complexos como o Windows CE.NET e o Linux (mais especificamente o LinuxSH, um Linux especfico para processadores SuperH) ou sistemas de tempo real como o RTOS e o ITRON, alm dos sitemas Solaris, VxWorks e QNX.
A facilidade de produo em larga escala tambm deve ter saltado aos olhos de uma empresa do porte da Sega e certamente influenciou a opo por este processador no desenvolvimento do console. Outra caracterstica extremamente interessante do SH-4 a no necessidade de um sistema de dissipao de calor (cooler), o que reduz o custo, o consumo de energia e o espao ocupado, alm de simplificar muito o projeto. Mas a maior vantagem do SH-4 talvez seja sua unidade de ponto flutuante (FPU); esta componente foi desenvolvida especificamente para sobressair-se na realizao de operaes matemticas matriciais, otimizando a execuo de codecs de video e o processamento de grficos 3D. A famlia SH-4 apresenta trs classes de microprocessadores, apresentadas na Figura 2. Duas destas classes (MCU e MPU) so voltadas para processamento de inteiros, enquanto que a terceira (FPU) voltada ao processamento de pontos flutuantes. Cada classe apresenta peculiaridades que sero discutidas a seguir.
Figura 2 As 3 classes do SH-4 e suas caractersticas Os processadores SH4-MCU so bastante interessantes para aplicaes que necessitem de uma CPU compacta. Eles apresentam alta performance, dual issue e visam otimizar aplicaes multimdia que utilizem-se de codecs de propsito geral (codecs de audio/video de baixa bit rate). J os SH4-MPU, tambm compactos, possuem uma TLB de 64 entradas que reduz o nmero de acessos desnecessrios memria, bem como uma MMU integrada que permite a execuo de aplicaes e sistemas operacionais mais complexos oferecendo suporte utilizao de memria virtual. A ltima classe, a SH4FPU, contm uma unidade de ponto flutuante com um vetor integrado (integrated vector Floating Point Unit), que permite as j citadas otimizaes em operaes matriciais (um SH4-202 com freqncia de clock de 266 MHz
pode executar em software uma codificao MPEG de 384 Kbps, 15 fps CIF em apenas 45 MHz). A famlia SH-4 possui ainda processadores superescalares, com performance de 1,5 DMIPS/MHz (usando o Benchmark Drhystone 1.1). Um processador superescalar capaz de executar mais de uma instruo ao mesmo tempo, mas apenas instrues de um grupo diferente podem ser executadas em paralelo. H quatro diferentes grupos de instrues: inteiros, inteiros/load/store simples, branch e pontos flutuantes. Estas instrues so baseadas no formato SHCompact (conforme j foi citado) com codificao de 16 bits. Dessa forma, um cdigo para essa arquitetura 40% menor que um cdigo equivalente em arquiteturas de 32 bits (como o caso do MIPS). Por exemplo, um cdigo de 4 MB em MIPS teria apenas 2,5 MB em SH-4. Outra vantagem do uso de instrues com 16 bits a diminuio da largura de banda do cache para instrues, o que permite maior largura de banda no cache para dados ( interessante citar que o cache do SH-4 totalmente configurvel. possvel escolher tamanhos de 4 KB a 64 KB e modo de operao write back (WB) ou write through (WT)). Alm disso a codificao de 16 bits diminui o nmero de acessos memria. Alm do cache configurvel, h no SH-4 uma MMU opcional que suporta endereamento virtual e pginas de tamanho variado (1KB, 4KB, 64KB a 1MB), o que o torna capaz de suportar sistemas operacionais complexos como Linux e Windows CE ou kernels de tempo real como o ITRON. Essa MMU permite que o Windows CE particione a memria e que proveja proteo de memria aos diferentes processos em execuo no SH-4. Este recurso importantssimo para evitar que diferentes threads interfiram nos espaos de memria uns dos outros. Atualmente existem diversos produtos desenvolvidos para a famlia SH-4. Como exemplo podemos citar ferramentas para programao em C/C++ baseadas na tecnologia GNU, fundamentais para programadores e desenvolvedores de software.
O processador SH7750 um membro da classe SH4-MPU, e o processador presente nos consoles Dreamcast produzidos pela Sega. Ele possui uma capacidade de processamento que suporta grficos 2D e 3D, bem como moviementao de imagens mais realistas com resoluo de at 5 milhes de polgonos por segundo. A Figura 3 mostra o mtodo superescalar de caminho duplo, que propicia a execuo paralela de duas instrues simultneas e possibilita melhorias de performance com a adio de hardware simples.
Figura 3 Mtodo superescalar de dois caminhos Este processador apresenta arquitetura de 32 bits, e o cdigo gerado para ele compatvel com as famlias SH-1, SH-2, SH-3 e SH-3E (verses mais recentes). Seu cache para instrues de 8KB. Apesar disso, to efetivo quanto um microprocessador RISC com instrues de 32 bits cujo cache de instrues possui 16 KB (WT ou WB). Isso ocorre devido ao fato de o SH7750 processar intrues de 16 bits. Alm disso, est presente uma MMU (memory management unit) com TLB (translation lookaside buffer) de 64 entradas. A figura a seguir mostra um datagrama do SH7750. Uma anlise mais atenta do esquema revela que o processador tem um BSC (bus state controler) que permite conexo direta com a DRAM e com a SDRAM sem a necessidade de circuitos externos.
7 - O pipeline no SH7750
A caracterstica de Dual Issue do SH7750 permite que ele execute paralelamente at duas instrues simultaneas em um mesmo ciclo de clock (conforme mostrado na Figura 5). Alm disso, este processador apresenta uma estrutura de execuo em pipeline de 5 instrues.
Figura 5 Comparao do processamento do SH-3 com o processamento paralelo do SH-4 A execuo em pipeline muito importante nas arquiteturas RISC e por isso merece uma discusso mais detalhada. Esta caracterstica do SH7750 no est muito clara na Figura 4. O pipeline do SH7750 possui cinco estgios: Instruo, Codificao, Execuo, Acesso Memria ou Dados e Escrita. A arquitetura RISC procura realizar o maior nmero de execues de instrues nestes estgios, tentando sempre evitar eventuais hazards e minimizar a ocorrncia de stalls (Hazards acontecem no modelo de pipeline quando duas instrues ou mais pretendem ser executadas ao mesmo tempo. Por exemplo, quando a computao de uma soma depende do resultado de um dado de outra etapa ainda no concluda, pode ocorrer um hazard se tal dado for lido antes de estar pronto acarretando em resultados errados. A soluo mais simples para a preveno de hazards o mtodo de stalling, que provoca uma espera que evita que o dado seja lido antes de estar pronto). A maior parte dos pipelines tm o mesmo nmero de estgios (no caso, 5) e seus nomes podem ser um pouco diferentes; todavia, as operaes so essencialmente as mesmas. As diferenas de nomes podem ocorrem, por exemplo, devido s instrues executadas, como somas de inteiros ou de pontos flutuantes. Tais instrues so tratadas de modo diferente na arquitetura de pipeline. A Figura 6 mostra o ciclo de execuo de vrias instrues no modelo de pipeline.
8 - O futuro do SuperH
Atualmente as famlias SH-4 e SH-5 so predominantemente utilizadas nos dispositivos mais recentes no mercado, devido sua estrutura compacta e recursos voltados a aplicaes de multimdia. Mesmo assim, a busca por otimizaes de performance motiva a continuidade das pesquisas e o conseqente desenvolvimento de novas tecnologias. Um exemplo a criao de novas variantes das j existentes famlias SH-4 e SH-5, que oferecem microarquiteturas que aumentam a freqncia de clock, implementaes de sistemas que operam com baterias e novas instrues SIMD para que SH-5 suporte novos algoritmos. Alm disso, tambm esto sendo desenvolvidas duas novas famlias -- a SH-6 e a SH-7 -- mas ainda muito cedo para dizer qualquer coisa a seu respeito. Talvez possamos em breve presenciar uma nova gerao de videogames, PDAs e sistemas de multimdia com processadores SuperH.
9 - Referncias
Manual do Hardware das sries SH7750 http://documentation.renesas.com/eng/products/mpumcu/e602124_sh7750.pdf Apresentao Geral do Microcomputador 4Q2004 Verso Integrada (ingls) http://documentation.renesas.com/eng/products/mpumcu/rej13b0001_mcu.pdf Descrio da famlia SH-4 http://www.superh.com/products/sh4.htm Futuro do SuperH http://www.superh.com/products/future.htm Arquitetura do SuperH http://www.superh.com/products/architecture.htm Definio do SuperH http://www.wordiq.com/definition/SuperH Referente ao SH7750 (membro da srie SH-4) http://www.segatech.com/technical/cpu/tech_sh4.html