Busca

Road trippin' w ma 2 fav allies

Tag

arquitetura de computadores

Paper Accepted – WEAC 2012

Full paper publicado no WEAC sobre o desenvolvimento de um simulador gráfico de instruções do processador didático proposto por Tanembaum [1]. Trabalho da disciplina Arquitetura de Computadores, ministrada pelo prof. Hamilton.

Anais do WSCAD-WEAC 2012 em  http://www.dpi.ufv.br/projetos/weac2012/anais_weac2012.pdf

[1] A. S. Tanenbaum, “Organização Estruturada de Computadores”, Editora Prentice-Hall. 2006.

WEAC – Workshop sobre Educação em Arquitetura de Computadores

Workshop sobre Educação em Arquitetura de Computadores (WEAC 2012) será realizado em conjunto com os eventos do WSCAD-SSC em Petrópolis, entre os dias 17 e 19 de outubro de 2012. A principal meta deste workshop é prover um ambiente (fórum) para professores, pesquisadores e estudantes trocarem, compartilharem e discutirem suas experiências, novas ideias e resultados de pesquisas em todos os aspectos e tópicos relacionados com a educação (aprendizado e ensino) em Arquitetura de Computadores. Os artigos podem abordar estudos de caso, relatos de experiência, propostas de novas idéias, tópicos para discussão, ensaios para reflexão, ou apresentações de ferramentas. O programa do workshop será composto de apresentações de artigos, palestras e painéis de discussão.

Anúncios

Enfim, F É R I AS!!²

Eis o segundo post da saga enfim férias!! E com ele, os primeiros cabelos brancos… (kkkkkkk)

Recapitulando, para as almas que porventura lêem (ou não) este blog, os posts intitulados “enfim férias” têm por objetivo resumir tudo que foi feito, todos os desafios enfrentados no período. E esse, não foi dos mais fáceis que já enfrentei… Fora isso, vai servir pra quem tem interesse de fazer um mestrado em informática, seja na UFPB (PPGI) ou em outra universidade, ter uma noção do que é um mestrado, e da quantidade de esforço necessário.

E agora.. por onde começo?

Os alunos que ingressaram nesse período do PPGI (e acredito que se tornará padrão para os próximos) tiveram que pagar as 3 cadeiras obrigatórias:

  1. Arquitetura de Computadores (Alisson)
  2. Estrutura de Dados e Complexidade de Algoritmos (Lucídio)
  3. Teoria da Computação (Andrei)

Acredito que essa é uma das combinações mais trabalhosas do PPGI. Poderia chamar de combinação letal se todos os professores descem a carga máxima em cada cadeira. Aí sim, cabeças rolariam! kkkkkkkkkk

Começando por Arquitetura de Computadores: soube que no período passado o professor botou quente na turma, fez uma única prova com o conteúdo do período todo, mais seminários, mais resenhas. Veeey na boa… deve ter sido punk!! No nosso período, tivemos o seminário, mais a participação em discussões em seminários de outros, mais o artigo. Acredito que os seminários acrescentaram conteúdos mais interessantes/atuais ao convencional dado na sala. Não vou dizer que a cadeira foi fácil, mas com certeza foi menos difícil que no período anterior. Inicialmente, o artigo era uma preocupação… mas depois achei um tema legal, inclusive envolvia tanto assuntos de arquitetura quanto de EDCA. Depois posto aqui =).

 

Sobre Estruturas de Dados e Complexidades de Algoritmos (EDCA): aqui o rock foi pesado, como sempre foi nos períodos anteriores (segundo escutei falar)! Os assuntos são bem dados, o professor tem uma didática muito boa (particularmente gostei muito das aulas), mas o tempo do curso faz com que ele tenha que ministrar +- 1 cap. por aula. É muito assunto dado em pouco tempo! Confesso que vinha com uma deficiência em boa parte dos assuntos dessa disciplina, deficiência essa que trouxe da graduação. Agora me sinto completamente à vontade, as provas me forçaram a compreender os assuntos, a ler cerca de 18 capítulos do Cormen! Fora isso, posso dizer que o professor elabora provas “justas”, não é difícil nem fácil, tem um nível mediano, que possibilita a quem estudou fazer uma boa prova.

 

Sobre Teoria da Computação: confesso que essa não é uma de minhas matérias favoritas!! (kkkkkkkkkkkk) Mas os assuntos da primeira prova eram bem tranquilos, abordavam tópicos práticos como AFDs, AFNs, LB… Já para o assunto da segunda prova, foi acontecendo uma transição do prático para o teórico, que quando percebemos estávamos apenas lidando com teoremas, e utilização dos mesmos para provas. O assunto da segunda prova é bem complicado/chatinho de entender, mas as listas ajudaram bastante na compreensão dos mesmos, pois nos geravam dúvidas, e o professor foi bem solícito para tirá-las, estando sempre disponível.

 

Resumindo: pagar as 3 cadeiras obrigatórias ao mesmo tempo dá um “trabalhinho”!

Agora, me resta esperar as cadeiras do período que vem + estágio em Docência, e começar a trabalhar mais focado no tema do meu mestrado!

 

[]’s

Seminário apresentado na cadeira de Arquitetura do mestrado (PPGI – UFPB).
Aborda temas relacionados à evolução dos processadores, principais desafios da mesma i.e. elevar eficiência do processador aumentando também sua eficiência energética, explicando a disparidade entre a velocidade de memória e processador que causa o “Data Starvation”, e relação entre aumento do número de núcleos e aumento de desempenho citando a Lei de Amdahl.
Cita também algumas técnicas “programáticas” de como “influenciar” processadores e memória cache a trabalhar de maneira mais eficiente.

Enfim, F É R I A S!

UUUUUUffaaa!!!
Esse período não pareceu ter fim!
Mas aqui estou, sobrevivente a mais uma batalha do nosso curso de computação. (que draaamaa, aeuhauhauhahu)

Maaaaasss, apesar de tudo, foi um dos períodos que mais gostei.
Com todo esforço, tem que vir alguma recompensa né.

Bem, a primeira conquista desse período foi o certificado da Oracle.
E ele não veio de graça não viu?!
Quantas manhãs e tardes estudando aquele livro sem fim da certificação.. quantas manhãs e tardes dentro daquela cabine escrota legal do Espaço cultural..

Praticamente no início do período, eu tava uma pilha pra terminar de estudar o livro. Acho que mais ou menos umas 3 semanas do início do período fiquei focado só estudando pra essa prova. Aqui acolá tinha que inclusive faltar algumas aulas pra conseguir terminar de estudar a tempo. Fora os 2 projetos do XPTA, que eu e o “sr. Herminegildo” (uahuahuahauhauh) estávamos terminando pra levar pra São Paulo. Diga-se de passagem que nós considerávamos a recompilação do Xj3D para multi-projeção uma missão impossível. Mais de 100mb de código puro, 100 pacotes, cada um com 50 classes… trabalhando com matriz na mão pra rotacionar as câmeras… e compreender como e onde colocaríamos a libGlass para atingir nosso feito.. (ali foi doideira mermão, believe me)

E isso tudo da uma vez pq eu não consegui me programar para terminar de estudar pra a OCJP nas férias…
O engraçado é que eu lembro que quando a gente (a gente == pessoal que tava estudando pra certificação == erick, igor, glauco, berg,…) terminou de estudar todos os capítulos, do livro e foi resolver uns simulados (programas) que tínhamos no pc, vimos que o buraco era mais embaixo (huahauhauhau)… ninguém, absolutely nobody estava conseguindo atingir a quantidade mínima de questões pra passar na prova. Depois disso, cada um deu seu gás final, leia-se umas 2 ou 3 madrugadadas perdidas inclusive a madrugada do dia da prova! Fui fazer a prova parecendo um Zumbi ¬¬

Enfim, depois de relatar toda a saga, o que importa é que passaaaamos!!! hehehehe
Era questão de honra passar nessa prova.. (tirei uma tonelada das minhas costas… auheuahuaeuaeuhae)

Oracle Certified Professional Java SE 6 Programmer

Muitos podem dizer que é apenas um certificado, um papel, ou algo do tipo, mas pra ele vir, eu aprendi muita coisa como conceitos importantes de programação em geral, e claro sobre a linguagem de programação Java.

Fora isso, paguei sem problemas as outras cadeiras. Vale ressaltar que já paguei e estou livre de Redes!! (auhauhauhauhauhua) Uma conquista e tanto, considerando as provas impossíveis extremamente difíceis, e o projeto da cadeira…
Teve também a cadeira de Hamilton, que nos rendeu 2 artigos!! (E período que vem tem mais!! hehehe =P)

Outra muito importante foi a cadeira de Métodos de Projetos de Software!! Nessa eu aprendi muitas coisas importantes, e além de tudo, matei minha tara por aprender a fazer algum desenvolvimento para Web, sendo assim escolhi Java, né?! (hauhauauahauh) Sempre quis fazer algum sisteminha e ver ele rodando na Web, com essa cadeira juntei o útil (fazer o projeto da cadeira) ao agradável (matar minha tara por aprender Java Web). Pra isso aprendi o JSF 1.2 JSF 2.0, e o PrimeFaces (já no fimzinho da cadeira) que é um framework pra ajudar no desenvolvimento da GUI do sistema. Fora isso aprendi o suficiente do Hibernate para usá-lo, esbarrando em algumas clássicas exceções (vide LazyInitializeException dentre outras) e limitações de não ter tempo para estudar mais a fundo o mesmo.

Além das novas tecnologias, eu curti o trabalho de arquiteto… ter que dividir o seu projeto de forma estruturada em pacotes/camadas como o MVC (Model View Controller), para que ele fique bem segmentado facilitando o trabalho dos desenvolvedores (outra tarefa minha ¬¬).

Apesar de alguns obstáculos no desenvolvimento do projeto, foi uma experiência legal, eu curti [+1].
aueiheaiuahaaueaeuaeuhuah

P.S.: só lembrando de agradecer a Varejão por me tirar várias dúvidas quanto ao JSF, PrimeFaces, e Hibernate. Varejão merecia uma cadeira pela ajuda!! (aueaeiuheaiuheaea) Fora as brincadeiras, ele me ajudou mais que muita gente que deveria ter ajudado.. ¬¬

Este slideshow necessita de JavaScript.

Como balanço do período, posso dizer que esse foi o que mais aprendi.
Vamos ver o que nos espera no período que vem (Eng. de Software)…

E vamos curtir as férias, pq as férias são curtas!!
auehaeheaueheuasaiuhsaiudauih

Abraços!!
[]’s

Paper Accepted – CSBC (WEI) 2011

Em um dos posts anteriores já havia comentado sobre esse projeto em que eu, Erick, Berg, Kívio, Igor, Glauco e o prof. Hamilton trabalhamos.
Já estamos trabalhando para disponibilizá-lo na Web, para que ele possa ser utilizado por everybody.
=P

Title: Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores

Resumo:
Em arquitetura de computadores, um dos desafios é conseguir que os alunos compreendam o funcionamento de um processador corretamente. Para auxiliar esta tarefa são utilizadas aplicações que simulam essas arquiteturas. A partir dessas barreiras do ensino, se propôs desenvolver uma aplicação que simula visualmente as instruções de uma arquitetura didática e implementável. Tais instruções podem ser visualizadas, tanto com quanto sem pipeline, o que facilita a compreensão desse conceito, e do funcionamento de um processador enquanto realiza uma instrução.

Abstract:
In Computer Architecture, one of the challenges is getting the students to understand the workings of a processor correctly. To assist in this task, applications are used to simulate these architectures. From these barriers of education, is proposed the development of an application that visually simulates the instructions of an implementable and didactic architecture. Such instructions can be visualized, both with and without pipeline, which facilitates the comprehension of this concept, and of the operation of a processor while executing an instruction.

Desenvolvimento de um simulador 3D para a cadeira de Arquitetura

Hoje foi apresentado (Erick) nosso trabalho sobre o simulador 3D para o ensino da arquitetura de processadores…

Decidi escrever um pouco porque achei a experiência bastante interessante.
O prof. Hamilton achou de fato um meio com que nós aprendêssemos de forma eficaz o que ele estava ensinando. Nos pediu para que fizéssemos uma aplicação gráfica para a simulação do funcionamento do processador. E isto realmente nos forçou a aprender o funcionamento dos processadores, sendo que de maneira mais prazerosa (pelo menos pra mim).

Primeiro foi preciso escolher que tecnologias utilizar, levando em conta facilidade de desenvolvimento e poder da linguagem. Daí sugeri utilizarmos o X3D, pois tem uma fácil integração com java que nos permite adicionar interatividade a cenários 3D. Então, fiquei encarregado de dar uma mini-aula, mostrando como se construía modelos 3D com a linguagem, e como se adicionava interação com a mesma. (Slide da apresentação abaixo.)

Desse ponto, dividi a modelagem dos registradores & cia entre alguns colegas, e fiquei encarregado de montar a animação de uma instrução para que servisse de modelo para os outros poderem fazer outras instruções. Neste meio tempo, alguns erros foram cometidos quanto ao funcionamento da animação, acredito que fizemos uma 2 animações erradas. Inicialmente achávamos que sabíamos o que era o pipeline do processador, mas só depois que mostramos uma animação ao professor, ele nos apontou onde estávamos errando.

Enfim, conseguimos gerar uma versão desktop (figuras abaixo), feita em java com algumas instruções prontas, sem e com pipeline. Nosso próximo passo, é fazer uma integração na Web da aplicação, via applets. E por último, fazer um upgrade para que o usuário possa escolher uma lista de intruções a ser processadas.

Este slideshow necessita de JavaScript.

Blog no WordPress.com.

Acima ↑