Máquinas hipotéticas da Universidade Federal do Rio Grande do Sul

Origem: Wikipédia, a enciclopédia livre.
Neander/Ahmes/Ramses/Cesar
Desenvolvedor Raul Fernando Weber (in memoriam)
Taisy Silva Weber
Fábio Augusto Dal Castel (Versão Win32)
Versão estável 2.1 (2002)
Sistema operacional MS-DOS, MS-Windows, Linux (via wine)
Gênero(s) Máquina hipotética
Licença proprietária
Página oficial https://www.inf.ufrgs.br

Neander, Ahmes, Ramses e Cesar são ferramentas que simulam máquina hipotéticas escritas pelos professores da UFRGS Raul Fernando Weber (in memoriam) e Taisy Silva Weber, com fins didáticos, para uso em disciplinas como Arquitetura de Computadores e Assembler. Atualmente, diversas universidades brasileiras utilizam estas ferramentas de ensino.[1][2][3]

Neander[editar | editar código-fonte]

A máquina Neander como definida por Weber, é uma arquitetura rudimentar baseada em um acumulador, de caráter didático.[4] O Neander também possui uma farta documentação disponível na Internet.

Características[editar | editar código-fonte]

  • Largura de dados e endereços de 8 bits
  • Dados representados em complemento a dois
  • 1 acumulador de 8 bits (AC)
  • 1 apontador de programa de 8 bits (PC)
  • 1 registrador de estado com 2 códigos de condição: negativo (N) e zero (Z)

Ahmes[editar | editar código-fonte]

Ahmes ou WAhmes(em sua versão Win32) é uma ferramenta que simula uma máquina hipotética, para possibilitar a implementação de rotinas aritméticas simples, como adição e subtração, e a programação de rotinas mais complexas como multiplicação e divisão. É compatível com o Neander, mas apresenta um conjunto maior de instruções para facilitar a execução de operações aritméticas.

Características[editar | editar código-fonte]

  • Largura de dados e endereços de 8 bits
  • Dados representados em complemento a dois
  • 1 acumulador de 8 bits (AC)
  • 1 apontador de programa de 8 bits (PC)
  • 1 registrador de estado com 5 códigos de condição: negativo (N), zero (Z), carry out (vai-um) (C), borrow out (empresta-um) (B) e overflow (estouro) (V).

Ramses[editar | editar código-fonte]

Características[editar | editar código-fonte]

  • Quatro modos de endereçamento (direto, indireto, imediato e indexado)
  • Dois registradores de uso geral, RA e RB
  • Um registrador de índice, RX
  • Indicadores de carry, negativo e zero,
  • Instruções adicionais ao Neander e o Ahmes com chamada de subrotina, negação e deslocamento de bits, além de outras.

Cesar[editar | editar código-fonte]

Características[editar | editar código-fonte]

  • Largura de dados e de endereços de 16 bits
  • Dados representados em complemento de dois
  • Processamento de pilha
  • 8 modos de endereçamento nativos + 4 modos de endereçamento derivados
  • 8 registradores de 16 bits
  • 6 registradores de uso geral
  • 1 apontador de programa (program counter)
  • 1 apontador de pilha (stack pointer)
  • 1 registrador de estado com 4 códigos de condição: negativo, zero, carry e overflow
  • 2 periféricos: teclado e visor de 26 caracteres

Bibliografia[editar | editar código-fonte]

  • Weber, Raul Fernando (1998). Fundamentos de Arquitetura de Computadores 2ª ed. Porto Alegre: Sagra Luzzato. 199 páginas. ISBN : 8524106352 Verifique |isbn= (ajuda) 

Ligações externas[editar | editar código-fonte]

Referências

  1. «Componente curricular arquitetura de computadores - MATA48» (PDF). UFBA. 2012. Consultado em 25 de março de 2019 
  2. «SCE-703 Projeto e Implementação de Sistemas Embarcados I - PISE» (PDF). USP. 1 de setembro de 2008. Consultado em 25 de março de 2019 
  3. Fábio M. Costa. «ISA – Parte II: Arquiteturas-Exemplo Simuladores e Máquinas Reais» (PDF). UFG. Consultado em 25 de março de 2019 
  4. Borges, José Antonio S.; Silva, Gabriel P. (2006). «NeanderWin - Um Simulador Didático para uma Arquitetura do Tipo Acumulador» (PDF). UFRGS. Consultado em 25 de março de 2019