Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes 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 Geral dos Sistemas PA-RISC
Módulo Processador – Estrutura Geral
A Microarquitetura do PA-8000
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.
Estrutura de memória
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.