Escolar Documentos
Profissional Documentos
Cultura Documentos
ivan@ufpi.edu.br
1. Introdução
A análise e aprofundamento da arquitetura de computadores traz a compreensão de como
os programas são traduzidos, do funcionamento da interface entre o software e hardware,
do desempenho de um programa, dentre outros assuntos.
O conhecimento acerca da arquitetura do sistema para o qual se está desenvol-
vendo algo, confere ao programador maior controle e precisão, tanto durante a fase de
implementação quanto na fase de correção de erros. Estes se preocupam com o desem-
penho de seus programas, pois gerar resultados rápidos para o usuário é essencial para
um bom software. Nas décadas de 1960 e 1970, uma grande limitação no desempenho
dos computadores era o tamanho da memória do computador. Assim, os programadores
frequentemente seguiam um princı́pio simples: minimizar o espaço ocupado na memória
para tornar os programas mais rápidos [Hennessy and Patterson 2011].
Entendendo a importância de uma boa educação em hardware, neste artigo, o foco
é um software que ajude professores e alunos no processo de aprendizado. Diferente de
uma apresentação de slides, a solução apresenta de forma interativa, uma arquitetura es-
pecı́fica, o MIPS Monociclo. Em 2002 quase 100 milhões desses microprocessadores
foram fabricados. Eles podem ser encontrados em produtos da ATI technologies, Braod-
com, Cisco, NEC, Nintendo, Silicon Graphics, Sony,Texas Instruments e Toshiba, entre
outros [Hennessy and Patterson 2011].
O artigo está divido em 4 seções. A priori, na seção 2, trataremos detalhadamente
do MIPS monociclo. Sua história e seus conceitos principais serão expostos. Na seção
3 mostra a visão geral da solução. E por fim, na seção 4 aborda a fundo o projeto do
software web mostrando como funciona a sua interface.
2. MIPS Monociclo
Em 1981, John L. Hennessy iniciou o projeto MIPS em Stanford com estudan-
tes de pós-graduação. Depois de completar o projeto em 1984, ele tomou uma
licença da universidade para co-fundar MIPS Computer Systems (agora MIPS Tech-
nologies), que desenvolveu um dos primeiros Microprocessadores comerciais RISC
[Hennessy and Patterson 2011].
Os computadores modernos recorrem a muitos truques para maximizar seu de-
sempenho, entre os quais o principal é tentar iniciar o máximo possı́vel de instruções por
segundo. MIPS quer dizer milhões de instruções por segundo; o processador recebeu esse
nome como trocadilho desse acrônico [Tanenbaum 2007]. Há várias versões dessa arqui-
tetura. Elas podem ser: Monociclo, Multiciclo, Pipeline, Super Escalar, entre outros tipos.
A diferença de cada um está, principalmente, na quantidade de ciclos de cada instrução e
no paralelismo.
4. Projeto da interface
4.1. Representação Esquemática
A representação esquemática foi gerada com ajuda do JointJS, uma framework de Javas-
cript. Esta ferramenta nos fornece objetos que criam figuras geométricas no HTML com
SVG(Gráficos Vetoriais Escaláveis) em um espaço determinado pelo desenvolvedor. O
JointJS não se limita apenas em desenhar, mas também fornece a manipulação do gráfico,
incluindo a ligação das figuras.
Figura 2. Esquema
Na criação do esquema, primeiro se definiu um espaço. Depois, para a construção
dos componentes foi utilizado um tipo de objeto que desenha figuras com portas de en-
trada e saı́da. Os componentes tem tamanho e posição delimitados no espaço. Para ligar
cada figura, criou-se um link fornecido pela framework. Nele o programador estabelece
sua fonte e seu destino. Foram usados 3 tipos de links e componentes. A figura 2 exibe o
esquema.
4.2. Instruções
4.3. Eventos
A interatividade não está somente no destaque das instruções. Cada componente da ar-
quitetura possui uma ação ao clicar sobre o mesmo. Fazendo essa operação, o software
exibe uma caixa personalizada(chamada toast), no canto direito superior, com o nome do
elemento e um botão que chama uma janela(ou dialog) contendo detalhes sobre a compo-
nente selecionada. A figura 4 expõe o que foi dito.
Figura 4. eventos
A interação com as componentes é uma mistura dos recursos do JointJS, já citado
na seção 4.1, e do Angular Material que é uma framework de Javascript que consiste
na junção do AngularJS(Programação) com o Materialize(Estilização). Com o JointJS,
criamos o evento assı́ncrono sobre a componente, no caso, o click. Em seguida, o Angular
Material participam com o toast e o dialog. O conteúdo do dialog, que podem ser textos
e/ou imagens, fica contido em um arquivo HTML. E esse arquivo é chamado pelo botão
colocado no toast.
5. Conclusão
Este trabalho tem como objetivo expor o MIPSapp, um aplicativo (ou software web) que
contribui para o ensino do MIPS monociclo. O modo atrativo de mostrar o conteúdo
facilita o estudo de arqutietura de computadores. Com isso, inferimos a importância desse
software nos ambientes acadêmicos.
Como projeto futuro, fica o compromisso de implementar a versão MIPS Multi-
ciclo e a Pipeline com o mesmo formato do MIPSapp. Assim, abrangendo mais assuntos
essenciais para a computação.
Referências
Hennessy, J. L. and Patterson, D. A. (2011). Computer Architecture, Fifth Edition: A
Quantitative Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA,
5th edition.
Tanenbaum, A. (2007). Organização estruturada de computadores. PRENTICE HALL
BRASIL.