Você está na página 1de 11

UNICAMP

MC722 - Projeto de Sistemas Computacionais


Professor Rodolfo Jardim de Azevedo 2 semestre de 2004

TRABALHO SOBRE A ARQUITETURA DO PROCESSADOR

Fabio Rogrio Piva Karina Mochetti Magalhes Tatiana Al-Chueyr Pereira Martins

RA 016013 RA 016499 RA 017396

Engenharia da Computao 02

1 - Introduo ao processador SuperH


O rtmo frentico da evoluo computacional apresenta como uma de suas inmeras conseqncias o desenvolvimento paralelo das mais variadas arquiteturas de microprocessamento, de tal forma que torna-se possvel levar em considerao os mais diferentes aspectos na escolha de um microprocessador para certa classe de aplicaes. Uma dessas vertentes o SuperH, utilizada principalmente no processamento de tarefas multimdia. Desenvolvido originalmente pela Hitachi como um sucessor do H8, o SH foi logo assumido pela ento recm-formada SuperH Inc. (de propriedade da prpria Hitachi) e pela STMicroelectronics (ou simplesmente ST). Aps a compra da SuperH Inc. pela Renesas Technology estabeleceu-se um trato entre esta ltima e a ST para o desenvolvimento paralelo de arquiteturas SuperH a partir de outubro de 2004 por ambas as empresas. Atualmente a Renesas presta suporte e vende os modelos mais antigos do SH. Dentre as principais aplicaes do SH destacam-se sua utilizao em automveis (carros da BMW e Mercedes possuem esse tipo de processador), em controladores industriais, telefones celulares, set-top boxes (de TVs digitais), video games (Sega Saturn e Sega Dreamcast), PDAs, equipamentos de redes, roteadores, cmeras digitais, DVDs e outros equipamentos de multimdia, devido a seu alto desempenho na manipulao de pontos flutuantes (FPU). A arquitetura do SuperH (ou SH, como tambm conhecido) baseada no modelo RISC. Ela subdivide-se em 5 grandes famlias, que na verdade nada mais so do que evolues umas das outras. A maioria destas famlias possuem arquitetura de 32 bits, mas os projetos mais recentes j apresentam arquitetura de 64 bits, conforme apresentado abaixo: SH-1: arquitetura de 32 bits com freqncia de clock de at 20MHz. SH-2: arquitetura de 32 bits com freqncia de clock de at 28.7MHz. O processador presente no videogame Sega Saturn um SuperH pertencente a esta famlia. SH-3: arquitetura de 32 bits com freqncia de clock de at 200MHz. Incorpora uma MMU (Memory Management Unit), como a utilizada em dispositivos cujo sistema o Windows CE. Muito usada em PDAs. SH-4: arquitetura dual issue (faz com que a CPU execute uma tarefa no menor tempo possvel, evitando que a CPU fique um perodo considervel adormecida) de 32 bits com vetor de FPU (Floating Point Unit) de 128 bits. Presente no videogame Dreamcast. SH-5: arquitetura de 64 bits com vetor de 128 bits (64 registradores de 32 bits) e uma unidade para inteiros que inclui o suporte para SIMD, bem como 63 registradores de 64 bits cada (o 64 registrador fixo no estado zero). Possui tambm um pipeline de 5 estgios (opcional de 9 estgios), realizando 4 multiplicaes e 3 adies a cada ciclo, chegando a uma freqncia de clock de 400 MHz. As instrues para estes processadores so fixas em 32 bits, suportando nmeros inteiros e de pontos flutuantes. A Figura 1 mostra o estudo comparativo do desempenho de cada famlia. O benchmark utilizado para este estudo foi o Drystone:

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.

2 - Caractersticas de uma arquitetura RISC


O termo RISC significa Reduced Introduction Set Computer, e refere-se aos microprocessadores que utilizam o sistema de pipeline buscando melhoras de desempenho. Este sistema permite a execuo de mais de uma instruo em um mesmo ciclo de clock, o que d aos processadores RISC um throughput maior (isto , aumentando o MIPS do processador. importante mencionar que nem sempre a melhoria do MIPS implica em uma mquina mais rpida, j que diversos outros parmetros de desempenho devem ser considerados). Outros exemplos que apresentam arquitetura RISC so o SPARC da SUN Microsystems e o Alpha da DEC. A utilizao do modelo RISC apresenta vrias vantagens sobre a arquitetura SISC. O desenvolvimento e teste de um novo microprocessador que tem como objetivo menor complexidade, por exemplo, torna-se relativamente rpido. Alm disso, como o conjunto de instrues da arquitetura menor, os compiladores de linguagens de alto nvel tendem a produzir cdigos mais eficientes e mais fcil desenvolver aplicaes para ela.

3 - Arquitetura do conjunto de instrues do SuperH


A arquitetura do conjunto de instrues (ISA Instruction Set Architecture) do SH teve suas variantes minimizadas ao mximo a fim de se produzir uma plataforma consistente para o desenvolvimento de kernels,

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.

4 - Caractersticas gerais dos processadores SuperH


Dentre as caractersticas do processador podemos citar: Sistema compacto: alta eficincia na criao de cdigo com um conjunto de instrues de 16 bits; memria e funes perifricas integradas em um chip; interface do barramento permite conexo direta com outros dispositivos perifricos. Consumo baixo de energia: operaes sob baixa tenso (MIPS/W); modo de baixo consumo de energia. Desenvolvimento mais eficiente: Compiladores de linguagem C otimizados; ambiente de desenvolvimento integrado e centralizado em C.

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.

5 - A arquitetura do Processador SH-4


Os processadores SH-4 possuem vantagens essenciais sobre as demais famlias SH que permitem sua aplicao em consoles de videogame, como o Sega Dreamcast. Uma dessas vantagens a excelente relao custo-benefcio que estes processadores apresentam (alta performance a um baixo custo): em 1998 era possvel a obteno de 360 MIPS, 1.4 GigaFLOPS por $30, nos EUA.

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.

6 - O processador SH7750 um membro da famlia do SH-4


Detalhes do processador SH7750: Design Famlia Freqncia de clock Mdia de MIPS Mdia do Ponto Flutuante Hitachi SuperH 200 MHz 360 MIPS (Benchmark Drhystone 1.1) 1400 MFLOPS* (900 MFLOPS suportados por uma memria externa adicional) Pipeline 5 estgios Superescalar sim Memria cache para instrues 8 KB Memria cache para dados 16 KB Barramento de dados 64 bits Freqncia do barramento 100 MHz Largura de banda do 800 MB/seg barramento Dissipao de energia 1.5 W (considerando a freqncia de 200 MHz)

Nmero de transistores Nmero de instrues

MHz) 3,2 milhes aproximadamente 242

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.

Figura 4 Diagrama de blocos do SH7750 (da famlia SH-4)

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.

Figura 6 Diagrama dos pipelines mais comuns do SH7750

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