System Programing
Total Page:16
File Type:pdf, Size:1020Kb
id1277500 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com System Programing ARM9 Grupo: George Elias Ferreira da Silva 0323216-6 Guilherme Maciel Ferreira 0323218-2 ópolis, 21 de Fevereiro de 2007 Florian Sumário ção Introdu ............................................................................................................................3 ória Hist ............................................................................................................................3 IP Cores...........................................................................................................................3 ília ARM9 Fam ......................................................................................................................4 ísticas gerais Caracter ......................................................................................................4 ília ARM9TDMI A Fam ......................................................................................................4 ília ARM9E A Fam ............................................................................................................5 ARM9/9E vs MIPS ...............................................................................................................8 ções Aplica ...........................................................................................................................9 Nintendo DS ....................................................................................................................9 N-Gage............................................................................................................................9 GP2X...............................................................................................................................9 BenQ S65 ........................................................................................................................9 ção Programa .....................................................................................................................10 ário Gloss ............................................................................................................................11 Bibliografia .........................................................................................................................12 Introdução Acorn RISC Machine Advanced RISC Machines [1] ARM, cuja sigla representa ou , é uma arquitetura de processadores RISC 32 -bits com foco em sistemas embarcados. Em úmeros recursos úteis meio a seus in para dispositivos com escassez de recursos, ínio destacamos a economia de energia, o que lhe garante o dom do mercado de óveis, onde o suprimento de energia é restrito e qualquer economia faz equipamentos m ça. diferen [2] ília de processadores ARM engloba cerca de 75% de todas Segundo , hoje a fam as CPUs embarcadas, tornando-a uma das mais bem sucedidas arquiteturas 32-bits do áteis (como PDAs, mundo. A arquitetura pode ser encontrada tanto em dispositivos port ídia players e consoles de vídeo game) quanto em periféricos (tal como celulares, m ígidos e roteadores). discos r História çou como um projeto n O ARM come a Acorn Computers Ltd em 1983, em 1985 foi çado o primeiro modelo, que foi chamado ARM1. A próxima família, ARM2, foi lançada lan óximo ano, possuindo um barramento de dados e registradores de logo em seguida, no pr é possivelmente o mais simples p á desenvolvido, com 32-bits e rocessador 32-bits j apenas 30 mil transistores. O sucessor do ARM2, ARM3, vinha acompanhado de uma cache unificada de 4KB, o que lhe proporcionava ainda mais desempenho. çou a Ao final dos anos 80, a Acorn, empresa que desenvolvia o ARM, come ça da sigla de Acorn RISC Machine trabalhar junto com a Apple, dai a mudan para Advanced RISC Machine é virando o novo nome da empresa. , que acabou at çado o ARM6, utilizado em alguns PDAs da Apple. Do ARM2 ao Em 1991 foi lan ARM6 foram acrescentados apenas 5 mil transistores a mais, passando de 30 para 35 mil. IP Cores Intellectual property Core IP Core é O objetivo da ARM sempre foi vender cores. ou ógica reusável. Esse esquema permite que os cores ARM sejam utilizados uma unidade l nos mais diversos dispositivos, sistemas embarcados. Por exemplo, os fabricantes de um ódulo hardware para CODEC MP3 fabricado por MP3 Player podem utilizar um m terceiros, tirando deles a responsabilidade por desenvolver esse CODEC em software ou hardware. Família ARM9 ílias ARM9, ARM9TDMI e ARM9E, na qual a família ARM9E Existem duas fam apresenta mais recursos que a ARM9TDMI. ília ARM9TDMI implementam a arquitetura Todos os processadores da fam é a mesma implementada na família ARM7. Já a família AR ARMv4T, que M9E ão mais recente da arquitetura, ARMv5TE, que possui uma variante implementa uma vers ça é o suporte a execução de bytecodes Java em chamada ARMv5TEJ, cuja diferen é a mesma implementada na família ARM10E e hardware. A arquitetura ARMv5TE XScale. Família Arquitetura Core ARM9TDMI ARM920T ARM9TDMI ARMv4T ARM922T ARM940T ARM946E-S ARM966E-S ARMv5TE ARM9E ARM968E-S ARM996HS ARMv5TEJ ARM926EJ-S Divisão da família ARM9 ão disso, binários compilados para a arquitetura do ARM7 (c Em raz onjunto de ções ARMv4T) rodam em processadores das duas famílias ARM9 e também em instru ários compilados para a família de processadores ARM9E e XScale. Entretanto, bin ão são 100% compatíveis com processadores ARM mais antigos, uma vez que XScale n Instruction Set ções, é maior. seu , ou Conjunto de Instru Características gerais ília ARM9 incluem as seguintes As arquiteturas ARM utilizadas na fam ísticas: caracter – Arquitetura Load/Store; – à endereços alinhados; Suporte apenas – ções fixado em 32 ção e pipelining. Tamanho de instru -bits para facilitar decodifica Thumb Embora tenha sido disponibilizado um recurso chamado que possibilita a ção do tamanho das instruções para 16 redu -bits; – ções executadas em um único ciclo; Maioria das instru A Família ARM9TDMI ília ída a partir do processador com mesmo nome e, A fam ARM9TDMI foi constru ística um conjunto de instruções 16 Thumb possui como principal caracter -bits chamado . ções tem como objetivo diminuir o tamanho de código Esse conjunto de instru é uma família de processadores 32 (aumentando a densidade), uma vez que ARM9 -bits. áteis onde a escassez de recursos (como largura de Tendo em vista dispositivos port ção no tamanho do código, aliada a uma barramento) exige sua economia, a diminui ília ótima opção para dispositivos móveis economia de energia, tornam a fam ARM9 uma ção e dispositivos automotivos. de comunica ília possuem: Todos os processadores desta fam – ções separadas; Cache de dados e de instru – ória de write-through write- Possibilidade de escolher o esquema de escrita em mem ou back write-through write buffer , onde o esquema de escrita possui de 8 entradas, stalls ória externa; evitando no processador quando for escrever na mem – üência de clock de 200MHz a 250MHz; Freq – ágios; Pipeline de 5 est – ória atravé é responsável Gerenciamento de mem s de MMU, a qual entre outras coisas ços virtuais em endereços físicos; por traduzir endere – única interface de barramento AMBA de 32 Uma -bits; Cache Gerenciamento de Freqüência de Processador (Instruções/Dados) memória clock ARM920T 16KB/16KB MMU 230-250 ARM922T 8KB/8KB MMU 230-250 ARM940T 4KB/4KB MPU 230-250 Recursos da família ARM9 ília são praticamente idênticos, O diagrama de bloco dos processadores desta fam diferenciando-se apenas no tamanho da chace. Diagrama de blocos do ARM920T A Família ARM9E ília de processadores ARM9E é uma “extensão” da família ARM9, e é mais A fam ções multimídia. Por possuir uma gama maior de recursos, além de direcionada a aplica é uma excelente escolha par uma arquitetura mais recente que a ARM9TDMI, ela a ídia, como vídeo games e mídia players, micro dispositivos que manipulam m ções Java. controladores, DSPs e aplica ília ARM9, os processadores da ARM9E são bem diferentes Diferente da outra fam êm aplicações distintas. Abaixo está um resumo ísticas, entre si, e t dessas caracter lembrando que nem todos os processadores possuem todas elas: – ção de Bytecodes Java diretamente em hardware, aceleração certa de 8 vezes Execu ção à VM [2] em rela ; – write-through write buffer Escrita cache com de 16 entradas; – Barramento de alto desempenho; – ídeo para aumentar desempenho no processamento de MPGE Coprocessador de v -4; – ágios; Pipeline de 5 est – ções para trabalhar com processamento de sinais digitais, DSP; Conjunto de instru – ável; Tamanho de cache vari Cache Gerenciamento de Recursos Processador (Instruções/Dados) memória (DSP – Java) ável ARM926EJ-S Vari MMU Sim - Sim ável ão ARM946E-S Vari MPU Sim - N ão possui ão possui ão ARM966E-S N N Sim - N ão possui ão ARM968E-S N DMA Sim - N ão possui ão ARM996HS N MPU Sim - N Recursos da família ARM9E á mencionado, os processadores desta família possuem aplicações e Como j recursos bem distintos, isso faz com que apresentem os mais distintos diagramas de ão mostrados diagramas de alguns dos processadores desta família blocos. A seguir ser . Diagrama de blocos do ARM926EJ-S és dos três diagramas mostrados é possível perceber o quão diferentes são Atrav ções dos proce ília ARM9E. O primeiro fato que nos chama as implementa ssadores da fam ção é a ausência de cache no ARM968E á cache aten -S, enquanto que nos outros dois h ções. separada para dados e instru Diagrama de blocos do ARM946E-S é o mesmo para a família ARM9E, exceto o ARM926EJ O core dos processadores