Curso aberto: Arquitetura de computadores - de porta lógica ao Tetris

Oi pessoal,

Queria fazer uma proposta para quem estiver interessado de um curso autodidata / grupo de estudo de arquitetura de computadores.

Trabalho com desenvolvimento de software, sou um entusiasta de engenharia e qualidade de software. E  de uns tempos pra cá tenho tido a curiosidade de saber mais sobre programação de baixo nivel (assembler) e entender como o computador funciona. Desta curiosidade eu acabei pesquisando e encontrei um livro que foi criado por dois professores Israelenses que tem como objetivo principal explicar como um computador começando pelo hardware até o sistema operacional. O site do livro esta aqui

http://www1.idc.ac.il/tecs/

Ao invés de só ficarem dando teoria matemática sobre o que é um computador, eles resolveram ensinar os alunos como contruir um computador a partir de componentes primarios como portas lógicas. Isto é feito de forma estrutura e num ambiente controlado e simulado mas tudo é feito de forma prática com exercicios que são pré-requisitos para os próximos exercicios.

A abordagem deles é muito legal, eles iniciam falando de portas lógicas e vão explicando como construir uma Unidade Logica e Aritmetica (ALU) que é uma parte principal de um processador, e depois como construir bancos de memória a partir das portas lógicas criadas, e dai para o computador, para linguagem assembler, depois para uma linguagem de mais alto nível, chegando até o sistema operacional.

A minha proposta é a seguinte se alguém mais estiver interessado em fazer este curso, podemos criar um grupo de discussão para isso e podemos marcar de nos reunirmos e trocarmos informações sobre as lições aprendidas.

Eu finalizei o capitulo 4 e vou começar o 5. Até o momento eu aprendi o seguinte

1 - Como criar portas lógicas a partir de uma porta lógica NAND.

     Portas OR, NOT, AND, MUX DMUX foram criadas e testadas usando um HDL (Hardware description language) criado para o curso

2 - Criação de uma ALU (Aritmetic and Logic Unit) usando as portas lógicas criadas anteriormente

3 - Criação de registros de memória e bancos de memória usando Flip-Flops e as portas lógicas criadas anteriormente

4 - Introdução a linguagem assembler a ser usada no projeto. Onde os conceitos de ponteiros, instruções na ALU e acesso a memória ficaram mais claros.

Próximo passo: Capitulo 5

Neste capitulo vou construir um computador virtual usando a ALU criada no capitulo 2, mais os registros e bancos de memória criados no capitulo 3. E esta máquina será criada para atender a linguagem assembler definida no capitulo 4.

Espero que a explicação não tenha sido muito chata. Caso alguém tenha interesse ou curiosidade responda este post. Se houver pelo menos mais alguém interessado eu crio um grupo e partirmos daí.

Informações importantes:

  • é um curso aberto você estuda quando quer e puder, no seu tempo
  • É de graça (é sempre legal falar que é de graça)
  • o livro esta disponível de graça na internet em http://www1.idc.ac.il/tecs/plan.html (cada capitulo é um PDF)
  • O material esta todo em inglês
  • pra aproveitar e entender o curso precisa saber programar (senão o curso não faz sentido)

Espero que alguém se interesse

Um abraço,

Luciano

Exibições: 1340

Responder esta

Respostas a este tópico

UOW! Que curso!!!!!!! Muito bom, e tudo free! Não irei acompanhar agora, mas futuramente sim!

Cara muito legal sempre tive vontade de aprender isso também, fiz um curso de programação no senac  em 2000 (pascal, vb6, sql7, java) estou a algum tempo sem programar mas acho que dá prá acompanhar!

O link para o livro não funciona mais, teria outra forma de ter acesso ao conteúdo?

Abs.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço