180 likes | 286 Views
Arquitetura PA-RISC. Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes. Princípios da Arquitetura PA-RISC. Todas as instruções são diretamente executadas por hardware. Instruções levam um ciclo de clock para serem completadas. Maximizar a taxa à qual as instruções são executadas.
E N D
Arquitetura PA-RISC Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Princípios da Arquitetura PA-RISC • Todas as instruções são diretamente executadas por hardware. • Instruções levam um ciclo de clock para serem completadas. • Maximizar a taxa à qual as instruções são executadas. • As instruções precisam ser facilmente decodificadas. • Somente as instruções de load e store devem referenciar a memória.
Organização da Memória • Endereçamento absoluto de memória principal de 32 bits, representando um inteiro sem sinal, cujo valor representa o endereço do primeiro (com o menor endereço) byte do operando ao qual ele faz referência. (PA-RISC 1.1). • Os dispositivos de E/S são mapeados na memória. • Endereços que referenciam a memória vão de 0x0000000 a 0xEFFFFFFF (4 GBytes), e aqueles que referenciam dispositivos de E/S vão de 0xF0000000 a 0xFFFFFFFF (256 MBytes).
Relacionamento entre o espaço de endereçamento de E/S e o espaço de endereçamento de memória principal
Memória Virtual • Conjunto de espaços lineares de 4 GBytes de comprimento. • Cada um desses possui um identificador (space ID) e é dividido em páginas de tamanho fixo de 4 Kbytes. • Cada objeto dentro do espaço é especificado por um offset de 32 bits. A concatenação do offset com o identificador de espaço forma um endereço virtual completo. • O offset de cada byte dentro de cada página é especificado pelos 12 bits menos significativos do endereço virtual.
Conjunto de Instruções • Pequeno número de instruções. • Instruções possuem sempre 32 bits. • São executadas em um ciclo de clock do processador. • Formato geral.
Registradores • Trinta e dois registradores de 32 bits de propósito geral: fonte principal de dados para as operações. • Oito registradores de espaço estão disponíveis, nomeados de SR0 a SR7. Esses contêm identificadores de espaço para endereçamento virtual. • Registradores de Estado.
Instruções de Referência a Memória • Load e Store são as únicas que referenciam a memória. • Dois modos de endereçamento primário nas máquinas PA-RISC para acesso a memória: o base-relativo e o indexado. • LDW deslocamento(espaço_id, base), destino • STH fonte, deslocamento(espaço_id, base)
Instruções Aritiméticas e Lógicas • Multiplicação sem uma instrução de Multiplicação: não possuem hardware para executar multiplicação e divisão de inteiros diretamente. • Operações de Shift e Add podem realizar qualquer operação de inteiros por uma constante. • Exemplo: Multiplicação por 10 • SH2ADD x,x,x :: Shift-left x em dois bits (multiplica por 4), adiciona a x e guarda o resultado em x. • ADD x,x,x :: Soma x a ele mesmo e guarda o resultado em x. • Compiladores para as máquinas PA-RISC convertem qualquer multiplicação por inteiros constantes em uma série de instruções ADD e SHIFT-ADD.
Instruções de Branch • O Branch Retardado (Delayed Branching) da Arquitetura PA-RISC: execução de pelo menos uma instrução útil em cada ciclo de clock. • Não sabemos antecipadamente que instrução é referenciada pelo branch. • Atraso na execução do branch por um ciclo de clock. Como resultado, uma instrução seguinte ao branch é executada antes que o controle seja passado para a instrução destino do branch. • Breakpoints para debugar programas para PA-RISC
Fluxo de Execução de Instruções • Apresentam pipeline e implementam execução superescalar. • PA-8000: esquema ousado de execução de instruções fora de ordem. • Taxa de execução próxima a quatro instruções por ciclo de clock. • Muitas unidades funcionais, que provêem processamento auxiliar ao processador. • Escalonamento de instruções a nível de hardware, obtendo um paralelismo muito alto, diferentemente das implementações anteriores que delegavam essa tarefa ao compilador. • Execução especulativa.
Softwares para a arquitetura PA-RISC • Um grande número de sistemas operacionais está disponível para máquinas PA-RISC, sendo todos eles sistemas Unix, ou baseados nesse. • Sistemas Operacionais Comerciais: HP-UX e o NeXTSTEP • Sistemas Operacionais de Código Aberto: Diversos sistemas operacionais abertos baseados em Unix estão disponíveis para máquinas PA-RISC, incluindo OpenBSD, NetBSD e Linux.
Conclusão • Estrutura dinâmica • Simples • Grande velocidade • Trabalhando com um conjunto de instruções curtas e simples, consegue alcançar grande performance. • Seus códigos têm de ser bem construídos.