Este artigo apresenta principalmente a arquitetura RISC-V e a compara com a arquitetura ARM popular . Antes de começarmos a comparar as duas arquiteturas, o leitor deve entender o que significa a arquitetura do conjunto de instruções .
A Arquitetura do Conjunto de Instruções (ISA) é basicamente a parte da máquina visível para o programador de nível de montagem ou o escritor do compilador. ISAé a ponte e ponto de encontro entre software e hardware. O ISA/que a máquina e sua própria microarquitetura podem entender, mas também como as instruções são armazenadas, acessadas e implementadas.
Emitimos instruções para o hardware do computador em um idioma que o computador possa entender. Uma linguagem de computador consiste em palavras chamadas instruções, e um vocabulário é chamado de conjunto de instruções . O conjunto de instruções nos diz o que cada instrução faz e como a instrução é representada (codificada) na memória.
A arquitetura descreve a especificação funcional do processador. Ele descreve a funcionalidade que o software pode confiar para ser fornecida pelo hardware. A arquitetura não diz como o processador é construído. Mas ele diz o que o processador pode fazer. A microarquitetura , por outro lado, descreve como um processador é construído e projetado. A microarquitetura define o número e o tamanho dos caches, o número de ciclos para instruções, o comprimento do pipeline, etc.
Tendo entendido o que é um ISA , passamos agora para uma visão geral das arquiteturas RISC-V e ARM .
Visão geral da arquitetura RISC-V
RISC-V é a quinta edição do projeto UC Berkeley RISC ISA . O numeral romano "V" significa " variante " e " vetor " para apoiar uma série de estudos de arquitetura de computadores.
Recursos da Arquitetura RISC-V
- RISC-V é uma arquitetura load - store, o que significa três coisas: ( i ) suas instruções aritméticas operam apenas em registradores, ( ii ) somente instruções load e store podem mover dados para dentro e para fora da memória, ( iii ) os dados devem ser carregados em um registrador antes que ele possa ser manipulado.
- O RISC-V não é superarquitetado/superotimizado para qualquer implementação específica, padrão de microarquitetura ou destino de implantação, portanto, é adequado para todos os fins de computação. Ele pode fazer isso porque seu ISA é dividido em duas partes, o ISA básico e as extensões opcionais. O ISA básico limita-se a conter um conjunto mínimo de instruções suficiente para constituir um destino do compilador e atender aos requisitos dos sistemas operacionais modernos. O ISA base não pode ser redefinido, ele existe em qualquer implementação.
- Dependendo da implementação, outras extensões ISA podem ser adicionadas ao ISA base . Faz com que o RISC-V suporte uma ampla gama de customização e especialização.
- É o menor ISA para endereços de 32 e 64 bits e usa ordenação de bytes little-endian para o sistema de memória . A ordenação de bytes little-endian significa que o byte menos significativo de dados multibyte é armazenado no endereço de memória mais baixo. Armazene o LSB primeiro .
- O RISC-V usa a tecnologia RVC ( RISC-V Code Compression) para melhorar o tamanho do código do programa e reduzir o número de ciclos de CPU por instrução à custa de aumentar o número de instruções por programa . Ele sacrifica a densidade do código para simplificar a implementação do circuito.
- O RISC pode resultar em tamanhos de código que não são ideais, especialmente para sistemas embarcados devido à sua capacidade limitada de armazenamento de instruções. Para reduzir o tamanho do código, o RISC-V usa sua extensão RVC . O RVC substitui as instruções comuns de 32 bits por codificações de instruções mais curtas de 16 bits . Ele também não possui slots de atraso de ramificação.
Visão geral da arquitetura ARM
ARM originalmente significava Acorn RISC Machine , mas depois mudou para Advanced RISC Machine . É sem dúvida a arquitetura de processador mais usada no mundo.
Ele foi originalmente desenvolvido para seus computadores pessoais no final da década de 1980 por um fabricante de computadores chamado Acorn Computers . É uma arquitetura RISC . Existem 3 tipos diferentes de arquiteturas Arm para diferentes aplicações. São arquiteturas A , R e M.
A-Profile (Aplicativo): Otimizado para executar sistemas operacionais complexos, como Windows e Linux . Ele fornece o mais alto desempenho.
R-Profile (Real-Time): Otimizado para sistemas com restrições de tempo real, como sistemas de controle incorporados.
M-Profile (Microcontroller): Otimizado para dispositivos de baixa potência, usado por muitos dispositivos IoT
Características da arquitetura do braço
- É uma arquitetura de armazenamento de carga com um intervalo de endereçamento de 32 bits.
- Ao contrário do RISC-V , não é um ISA de código aberto , mas um ISA proprietário .
- Ele usa ordenação de bytes de extremidade dupla para o sistema de memória. Isso significa que o processador / máquina do braço é capaz de computar / passar dados em ambos os formatos endian no nível do hardware .
- Ele usa o conjunto de instruções Thumb para reduzir o tamanho do código do programa. Thumb , também conhecido como conjunto de instruções T32 , foi usado em processadores anteriores ao Armv8 .
- É uma mistura de conjuntos de instruções de 32 bits e 16 bits e tem a melhor densidade de código para o tamanho da memória e sistemas com restrições de custo, como aplicativos incorporados. Ele fornece o alto desempenho de um conjunto de instruções de 32 bits.
Agora que temos uma compreensão sólida de ISA , RISC-V e ARM , vamos comparar os dois lado a lado com base em vários fatores.
Atributos |
Arquitetura RISC-V |
Arquitetura ARM |
licença |
Código aberto |
Não é de código aberto |
Arquitetura RISC |
✓ |
✓ |
arquitetura de armazenamento de carga |
✓ |
✓ |
Suporta espaços de endereço de 32 bits e 64 bits |
✓ |
✓ |
Ordem de bytes padrão |
pequeno endian |
duas pontas |
tecnologia de compressão de código |
✓ (RVC) |
✓ (Polegar) |
slot de atraso de ramificação |
Não |
Não |
Por que o RISC-V é considerado uma ameaça à arquitetura ARM ?
Primeiro, o RISC-V é de código aberto, enquanto o ARM não é. Isso significa que o RISC-V é isento de licença e royalty . O RISC-V permite aos usuários estender o ISA com novas instruções e inovar a microarquitetura dos processadores RISC-V gratuitamente, mas o ARM exige que os usuários paguem royalties. Isso fez com que o RISC-V fosse rapidamente bem recebido por muitos fabricantes.
Por outro lado, o ARM é considerado mais complexo que o RISC-V . Uma razão é que o ARM é mais otimizado para telefones do que para laptops, desktops e servidores. O RISC-V não é super otimizado para uma implementação específica. Aplica-se a todos os sistemas de computação de microcontroladores a supercomputadores.
resumo
Tanto o RISC-V quanto o ARM são arquiteturas RISC ISA . O primeiro é de código aberto, enquanto o último é um ISA proprietário . O RISC-V e o ARM têm suas próprias vantagens e é difícil ficar de lado, mas a flexibilidade e o código aberto do RISC-V permitem que ele seja adotado pela indústria eletrônica mais rapidamente, e as perspectivas são brilhantes!