0% acharam este documento útil (0 voto) 60 visualizações 31 páginas © © All Rights Reserved Você considera este documento útil?0% acharam este documento útil (0 voto) 60 visualizações31 páginas 6 - Arquitetura CISC X RISCPular para a página Você está na página 1de 31 You're Reading a Free Preview Recompense a sua curiosidadeTudo o que você quer ler. A qualquer hora. Em qualquer lugar. Em qualquer dispositivo. Sem compromisso. Cancele quando quiser. Introdução ao RISC-VO que é o RISC-V? Sabe-se que para desenvolver um CPU requer experiência ao design em várias especialidades:
Quando um projeto é baseado de uma série de projetos acadêmicos de design de computadores tem-se então um projeto que abrange vários requisitos. Ele foi desenvolvido por profissionais e voluntários entusiastas e com isso obtêm-se como resultado um moderno e de alta qualidade conjunto de instruções para computador de propósito geral, o RISC-V. Para projetar tal ISA, os autores possuíam vasta experiência em pesquisa na área além de simulação e validação dos design do projeto, assim, RISC-V é um novo conjunto de instruções de arquitetura com propósito geral. Produzido pelo Computer Science Divison na Universidade da Califórnia, Berkeley, é um Instruction-Set Architecture (ISA) open-source (BSD). É um conjunto limpo, modular com inteiros bases em 32, 64 e 128 bits e várias opções de extensão de instruções como ponto-flutuante, multiplicadores, etc. Cada usuário demanda que os designers considerem a performance e eficiência energética quando projetar processador e o RISC-V é um conjunto de fácil implementação comparado a outras alternativas e o projeto possui grande aceitação na indústria de semicondutores. Objetivo do RISC-VSua meta é criar um conjunto de instruções ‘universal’ que é livre e aberto para todos os usuários, provendo tudo que é necessário para suportar perfeitamente qualquer projeto comercial, incluindo fazer design, fabricar e vender os chips e software RISC-V. Não é o primeiro projeto desse porte e open-source a aparecer, mas seu projeto é modelado para ser útil nos dispositivos computacionais mais modernos que vão desde servidores, celulares high-end até projetos embarcados de pequeno porte. Em contraste disso, chips da ARM e MIPS Technologies necessitam de licença para uso de suas patentes e também requerem acordos de confidencialidade para uso de seus documentos que citam as vantagens de seus design e conjunto de instruções. O ISA RISC-V tem sido desenvolvido com o mais pequeno, rápido e mínimo gasto de energia de implementações existente hoje e sem sobrecarregar outras partes do seu sistema. ExemplificaçãoConsideremos um smartphone moderno que possui possui dúzias de cores com diferentes pilhas de softwares, por exemplo:
Em teoria, todos usam uma variante de um ISA simples e muitos casos, reutilizando hardware e software. RISC-V poderia oferecer uma opção prática para unificar todos esses cores 8num único local. Propósito de uso do RISC-VSeu propósito de mercado é amplo ao ponto de ser suportado para executar em: 1) Microcontroladores que processem imagens, gráficos; ou até mesmo 2) Processadores de servidores. Assim, o ISA deve ser consistente em microarquiteturas. É direcionado para ser adequado para quase todo tipo de implementação desde design Scalar in-order até design out-of-order e similarmente, é projetado para ser adequado a quase todas implementações. Desde macros sintetizações em FPGA até projetos totalmente customizados. Por causa do crescente interesse em aceleração em processamento, extensibilidade do RISC-V é parte essencial da universalidade, podendo adicionar módulos, temos uma arquitetura que atende a todos os projetos de hardware. Para ativar as extensões, porções do espaço de codificação de instruções já foram reservados para uso futuro. RISC-V provê garantia de funcionamento para instruções de inteiros tamanho 32, 64 e 128 bits e uma família de extensões opcionais/predefinidas. Embora alguns processadores disponíveis hoje no mercado sejam amplamente utilizados, eles são complexos e é difícil de ser utilizado para experimentação e uso acadêmico. Com isso, tendo construído uma arquitetura simples e clara, tem-se então implementações finais simplificadas. Design do RISC-VTermos GeraisRISC-V possui 32 registradores inteiros, e 32 registradores opcionais para ponto flutuante. Também existe uma variante RISC-V com 16 registradores inteiro e sua memória possui endereçamento de 1 byte. O assembler usa o registrador x0 como um espaço reservado para fazer manuseio de algumas operações, por exemplo o move rx to ry seria
Registradores de controle e status também, mas somente o nível de privilégio mais alto (user) que poderá acessá-los para medição de performance. Como todos os outros design de RISCs, RISC-V é um máquina load-store. Somente estas duas instruções que acessam a memória principal e todas as operações lógico-aritméticas ocorrem entre registradores. Diferentemente de outros projetos RISC acadêmicos otimizados para simplicidade, o conjunto de instruções do RISC-V é desenvolvido para a praticidade de implementações, com características que aumentam a velocidade computacional enquanto reduz seu curso e energia. Várias otimizações foram feitas como: 1) Colocar os bits mais significantes numa posição fixa; 2) Disposição de bits para reduzir o número de multiplexadores no CPU; EficiênciaFoi projetado para alcançar altos e baixos níveis de velocidade com pouco gasto de energia e eletrônicos. Todas suas instruções possuem 32 bits e isso gera simplicidade, mas códigos com mais instruções. RISC-V, intencionalmente, não possui códigos condicionais, nem mesmo bit de carry e sendo assim, os projetistas afirmam que isso pode simplificar o desenvolvimento do CPU, minimizando interações entre instruções. Construíram operandos de comparação dentro dos jumps condicionais, não possui carry de operações aritméticas complicadas nem tem detector ou flag para erros aritméticos, incluindo overflow, underflow e divisão por 0 (zero). Foi desenvolvido para suportar sistema de memória e instruções inteira e ponto flutuante de 32, 64 e 128 bits. Suas funções load e store pode realizar operações com 16 e 8 bits, mas não operações aritméticas. Já as instruções de 64 bits, incluem aritméticas de 32-bits. Formato de Instruções. Formato da instrução Load e Store. Algumas Instruções. De Projeto Acadêmico à Item ComercialO RISC-V como Projeto AcadêmicoProjeto iniciado em 2010, foi disponibilizado em 2015 e já é utilizado em indústrias de grande porte como Google, Mellanox e Oracle além de grandes centros acadêmicos. Com isso vários projetos funcionais online já estão disponíveis, usufruindo da permissão de licença BSD. Um exemplo é o escalar de 5 estágios chamado RISC-V Rocket (Disponível em: https://github.com/ucb-bar/rocket) em Scala e para sintetização em chips (Disponível em: https://github.com/ucb-bar/rocket-chip). ISA ModularInstruçõesO modelo de programação RV32I é escasso. Nele é contido Program Counter e 32 registradores inteiros (x0 – x31). Não contém registrador de retorno sendo este o x1. As instruções possuem 32 bits possuindo várias combinações de imediatos, operandos e outra especificações. O opcode e operando ficam em locais fixos, facilitando o processo de decodificação. Modelo de MemóriaSua memória é endereçada por byte e utiliza-se little-endian. Variantes e ExtensõesVariantes: RV32I, RV32E, RV64I e RV128ITodas as outras variantes do RISC-V são baseadas do RV32I. RV32E:
RV64I e RV128I:
Extensão: MultiplicaçãoMultiplicação M:
Extensão: SincronizaçãoSincronização A: Extensão: Ponto FlutuantePossui três extensões diferentes: Precisão simples (F), Precisão Dupla (D) e quádrupla precisão (Q). A extensão F é pré-requisito para D, que é pré-requisito para Q. Introduz também 32 registradores de ponto flutuante (f0-f31) de tamanho 32 bits e um registrador de 5 bits para exceções. Exceções não geram interrupções e com isso devem ser verificadas por meio de consultas. As instruções load–store usam o mesmo endereçamento base+offset. Extensão: Compressão de Tamanho de CódigoA última extensão C não adiciona nenhum outra função, mas, ao invés disso, codifica as instruções inteiras para salvar espaço e com isso reduzir o tamanho do footprint. É disponível para bases inteiras, bem como load e store para pontos flutuantes e cria-se então instruções comprimidas em 16 bit. Basicamente, cada função compactada é mapeada diretamente à instrução real e possui algumas restrições para a compressão sobre o formato dos operandos. O propósito de reduzir o tamanho do código binário, energia e custo para pequenos computadores, é visando sistemas embarcados. Pesquisas com C mostram que um código 20\% menor que um x86 e MIPS Comprimido e 2% maior que um ARM Thumb-2. Níveis de PrivilégiosNíveis de PrivilégiosExiste 4 níveis de privilégios: User (U); Para reduzir o custo de uma implementação de pequeno porte, somente o machine é obrigatório. Entretanto, todos os 4 privilégios são suportados e quando suportados, é possível até executar o Linux. O Ecossistema Open-SourceO projeto ainda está em desenvolvimento, mas as especificações já mostram que é bastante promissor. Sua arquitetura é mais fácil de ser implementada do que um ARM, por exemplo pela sua simplicidade em decodificar códigos; e nos modos de endereçamento, omite instruções complexas e tudo isso com metade do tamanho de projeto de um ARM core. É considerado como a técnica mais promissora em flexibilidade de extensões customizadas combinado com arquitetura de propósito geral.
Outras extensões são disponibilizadas para obter melhor desempenho, mas requerem cadeias de ferramentas e limitam a portabilidade de software. O ecossistema RISC-V ainda está nos estágios iniciais. Um Linux 4.1 foi sido portado para o projeto RISC-V e um Linux Embarcado (Yocto) também foi disponibilizado. Várias ferramentas do RISC-V incluem compiladores GCC, LLVM e Clang, GDB, uma suite de verificação e simuladores. Oferece todos os recursos básicos de um RISC com implementações simplificadas, reduzindo a die area e potencialmente, energia consumida por ele.
Adoções do RISC-V no mercadoUm número de organizações comerciais planejam suportar o RISC-V Foundation, são algumas:
Summary Article Name RISC-V Description Introdução ao RISC-V Author Publisher Name Laboratório iMobilis Publisher Logo Quais as principais características da arquitetura RISC?Estão descritos a seguir os elementos base que constituem a arquitetura RISC (Reduced Instruction Set Computer): - pequeno conjunto de instruções, todas com largura fixa; - execução otimizada de chamada de função; - menor quantidade de modos de endereçamento; - uso de pipelining; - execução rápida de cada instrução ( ...
O que é um processador RISC?Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções (RISC), é uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para serem executadas.
Qual alternativa correta quanto as arquiteturas RISC?Resposta: O princípio dos processadores RISC é o de possuírem o mínimo de instruções possível. Explicação: Faz parte dos principio dos processadores.
Qual as características dos computadores RISC e CISC?Comparação entre RISC e CISC. RISC significa 'Computador de Conjunto de Instruções Reduzidas, enquanto CISC significa Computador de Conjunto de Instruções Complexas. Os processadores RISC possuem um conjunto menor de instruções com poucos nós de endereçamento.
|