Construa um computador moderno a partir dos primeiros princípios: de Nand a Tetris (curso centrado no projeto)

coursera.inc

coursera.inc

Construa um computador moderno a partir dos primeiros princípios: de Nand a Tetris (curso centrado no projeto)

Descrição

Prazos flexíveis

Prazos flexíveis
Redefinir os prazos de acordo com sua programação.
Certificado compartilhável
Ganhe um certificado após a conclusão
100% online
Comece instantaneamente e aprenda em sua própria programação.
Aproximadamente. 44 horas para concluir
Inglês
Legendas: árabe, francês, português (europeu), italiano, vietnamita, alemão, russo, inglês, hebraico, espanhol

Shimon Schocken
Professor
Ciência da Computação
Principal instrutor
Professor
Ciência da Computação e Engenharia do Sablabus – O que você aprenderá com este curso
Introdução
Introdução e visão geral do curso, os papéis de abstração e implementação no design de sistemas, o caminho a seguir.
Funções booleanas e lógica do portão
Começaremos com uma breve introdução da álgebra booleana e aprenderemos como as funções booleanas podem ser fisicamente implementadas usando portões lógicos. Em seguida, aprenderemos a especificar portões e chips usando uma linguagem de descrição de hardware (HDL) e como simular o comportamento das especificações de chip resultantes usando um simulador de hardware. Esse plano de fundo definirá o cenário para o Projeto 1, no qual você construirá, simulará e testará 15 portões lógicos elementares. O chipset que você construirá este módulo será usado posteriormente para construir a unidade lógica aritmética (ALU) do computador e o sistema de memória. Isso será feito nos módulos 2 e 3, respectivamente.
Informações sobre o curso geral
Informações sobre o curso geral
Aritmética booleana e alu
Usando o chipset que construímos no módulo anterior, agora iremos construir uma família de Adders – chips projetados para adicionar números. Em seguida, daremos um grande passo à frente e construiremos uma unidade lógica aritmética. O ALU, que foi projetado para realizar todo o conjunto de operações aritméticas e lógicas, é o cérebro calculador do computador. Mais tarde, no curso, usaremos este ALU como o chip de peça central do qual construiremos a unidade central de processamento do computador, ou CPU. Como todos esses chips operam em números binários (0 e 1), iniciaremos este módulo com uma visão geral da aritmética binária e só então nos aprofundará na construção da ALU.
Memória
Depois de construir o ALU do computador, este módulo que passamos a criar a principal unidade de memória do computador, também conhecida como memória de acesso aleatório, ou RAM. Isso será feito gradualmente, subindo de baixo para cima, desde portões elementares de flip-flop até registros de um bit para registros N-bits para uma família de chips de RAM. Ao contrário dos chips de processamento do computador, que são baseados na lógica combinacional, a lógica de memória do computador requer uma lógica seqüencial baseada em relógio. Começaremos com uma visão geral desse fundo teórico e depois seguiremos para construir nosso chipset de memória.
Linguagem da máquina
Um aspecto criticamente importante da construção de um novo sistema de computador é projetar a linguagem de máquina de baixo nível ou conjunto de instruções, com o qual o computador pode ser instruído a fazer várias coisas. Como se vê, isso pode ser feito antes que o próprio computador seja realmente construído. Por exemplo, podemos escrever um programa Java que emula o computador ainda a ser construído e depois usá-lo para imitar a execução de programas escritos no novo idioma da máquina. Tais experimentos podem nos dar uma boa apreciação do osso nu “aparência” do novo computador e levar a decisões que podem muito bem mudar e melhorar o hardware e os projetos de idiomas. Adotando uma abordagem semelhante, neste módulo, assumimos que o computador de hack e a linguagem da máquina foi construído e escreva alguns programas de baixo nível usando a linguagem da máquina de hackear. Em seguida, usaremos um emulador de CPU fornecido (um programa de computador) para testar e executar nossos programas. Essa experiência fornecerá uma amostra da programação de baixo nível, bem como uma sólida visão geral da plataforma de computador de hackear.
Arquitetura do computador
Vamos recapitular os quatro últimos módulos: construímos alguns portões lógicos elementares (Módulo 1) e os usamos para construir um ALU (Módulo 2) e uma RAM (Módulo 3). Em seguida, jogamos com programação de baixo nível (Módulo 4), assumindo que o computador geral esteja realmente disponível. Neste módulo, montamos todos esses blocos de construção em um computador de 16 bits de uso geral chamado Hack. Começaremos construindo a Unidade de Processamento Central (CPU) e integraremos a CPU à RAM, criando um sistema de computador completo capaz de executar programas escritos no idioma da máquina de hackear.
Assembler
Todo computador possui uma linguagem de máquina binária, na qual as instruções são escritas como séries de 0 e 1, e uma linguagem de máquina simbólica, também conhecida como linguagem de montagem, na qual as instruções são expressas usando mnemônicos favoráveis ​​ao ser humano. Ambas as línguas fazem exatamente a mesma coisa e são completamente equivalentes. Porém, escrever programas em montagem é muito mais fácil e seguro do que escrever em binário. Para aproveitar esse luxo, alguém precisa traduzir nossos programas simbólicos em código binário que podem executar como está no computador de destino. Este serviço de tradução é feito por um agente chamado Assembler. O assembler pode ser uma pessoa que realiza a tradução manualmente ou um programa de computador que automatiza o processo. Neste módulo e projeto final no curso, aprendemos a construir um assembler. Em particular, desenvolveremos a capacidade de traduzir programas de hackers simbólicos em código binário que podem ser executados como está na plataforma de hackers. Cada um de vocês pode optar por realizar esse feito de duas maneiras diferentes: você pode implementar um assembler usando um idioma de alto nível ou simular a operação do assembler usando papel e lápis. Nos dois casos, fornecemos diretrizes detalhadas sobre como realizar seu trabalho.

Avaliações

Não há avaliações ainda.

Seja o primeiro a avaliar “Construa um computador moderno a partir dos primeiros princípios: de Nand a Tetris (curso centrado no projeto)”

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Cursos Relacionados

PHP Code Snippets Powered By : XYZScripts.com