Giter Site home page Giter Site logo

caioalarcon / ssc0511-organizacao-de-computadores-digitais Goto Github PK

View Code? Open in Web Editor NEW

This project forked from simoesusp/ssc0511-organizacao-de-computadores-digitais

0.0 1.0 0.0 20.88 MB

Disciplina SSC0511 - Organização de Computadores Digitais

License: GNU General Public License v3.0

Assembly 100.00%

ssc0511-organizacao-de-computadores-digitais's Introduction

SSC0511-Organizacao-de-Computadores-Digitais

SSC0511 - Organização de Computadores Digitais

Tambem copie seus projetos Zipados para a pasta TrabalhosAlunos

Lista de projetos

Apresentação da Disciplina

Professor: Eduardo do Valle Simões Email: Simoes AT icmc.usp.br Departamento de Sistemas de Computação – ICMC - USP Grupo de Sistemas Embarcados e Evolutivos Laboratório de Computação Reconfigurável

Organização de Computadores Digitais Créditos Aula: 4 Créditos Trabalho: 0

Objetivos Introduzir os conceitos básicos de Lógica Digital e de organização de computadores.

Programa Arquitetura de processadores: elementos básicos, operação geral, macro instruções e microinstruções. Subsistemas de memória. Unidade de controle: fundamentos, desenvolvimento e implementação. Técnicas para organização de E/S, uso de DMA e Barramentos. Noções de Linguagens Montadoras.

Avaliação Serão realizadas três provas sobre os assuntos do programa. 1ª Prova: Dia xx/0x/2017 2ª Prova: Dia xx/0x/2017 3ª Prova: Dia xx/0x/2017 REC: xx/0x/2017

A nota final será calculada pela média ponderada dessas notas obtidas pelo aluno no decorrer do semestre. Norma de Recuperação: (NP-2) / 5 * Mrec + 7 - NP, se Mrec > 5 Max { NP, Mrec }, se Mrec < 5

Bibliografia Livro(s) Texto(s): -TANENBAUM, A.S. Structured Computer Organization, Prentice Hall, 4th ed, 1999.

  • STALLINGS, W. Arquitetura e Organização de Computadores, Prentice Hall, 5a. ed., 2002. -PATTERSON, D.A.; HENNESSY, J.L. Computer Organization and Design: The Hardware/Software Interface, Morgan Kaufmann, 1994. -MONTEIRO, M.A. Introdução à Organização de Computadores, 3a ed. Livros Técnicos e Científico Editora SA, 1996.

Programa da Disciplina: A seguir, a ementa da disciplina é apresentada com uma descrição da maneira com que cada tópico será abordado e dos capítulos dos Livros (PATTERSON - 3rd ed, 2003 e MONTEIRO - 5a ed, 2007) que contém cada tópico:

  1. Revisão de conceitos sobre blocos lógicos/básicos; subsistemas de memória, organização, síntese e análise;
  • duas aulas iniciais de revisão de todas as estruturas necessárias para a disciplina: multiplexadores, registradores, memórias (construção, barramentos, operação), ULA, state-machine, barramentos e interconexões.
  • Será dada uma lista de exercícios para testar o conhecimento dos alunos nestes pontos, levantar deficiências e corrigi-las o mais cedo possível.
  • As aulas seguintes, apresentam o projeto incremental de um processador contendo ULA, Máquina de Controle, Memória, registradores e dispositivos de I/O, servindo também de revisão pratica de implementação destes sub-sistemas e suas interconexões.
  • PATTERSON Cap. 1.1 a 1.3, 3.1 a 3.5 (3rd ed, 2003)
  • MONTEIRO Cap. 1.1.3, 3.3.1.2, 3.4.1, 4.2.1, 4.2.3, 4.3.3, 6.2.1, 6.2.2, 6.3, 6.4, 6.5., E.1 (5a ed, 2007)
  1. Arquitetura de processadores, elementos básicos, operação geral, macro instruções e microinstruções, unidade de controle, fundamentos, desenvolvimento e implementação.
  • Serão vistas as arquiteturas de Harvard e Von Neumann e será feita uma breve caracterização de maquinas RISC e CISC e seus elementos básicos.
  • Um processador genérico (baseado na arquitetura Von Neumann / RISC) será implementado progressivamente e serão dados diversos exemplos de operação de suas subestruturas para todo um conjunto completo de instruções (ex.: ADD, LOAD, STORE, CALL, JUMP, PUSH, PULL, SHIFT ...)
  • Serão apresentadas unidade de controle implementadas por elementos lógicos e por microprograma. Será também apresentado progressivamente todo o algoritmo de uma unidade de controle capaz de controlar as operações do conjunto de instruções do processador implementado.
  • Serão apresentadas as características de sistemas de memória.
  • Estes pontos serão vistos em uma seqüência de varias aulas, nas quais o processador e a máquina de controle serão construídos para executar o conjunto de instruções, uma a uma, revendo então seus fundamentos, desenvolvimento e implementação.
  • PATTERSON Cap. 2.1 a 2.8, 5.1 a 5.5, 5.7, 7.1 a 7.2 (3rd ed, 2003)
  • MONTEIRO Cap.8.1 a 8.5, 11.1, 11.2, 11.3.1, 11.3.2, 11.3.3 (5a ed, 2007)
  1. Técnicas para organização de E/S, uso de DMA. Barramentos, conceitos gerais, estudos de casos.
  • Barramentos, E/S e DMA serão vistos em duas fases: a) Durante a revisão e a implementação progressiva do processador, varias noções praticas de diversos tipos de barramentos (controle, endereço, dados) e de dispositivos de E/S serão apresentadas. Inclusive, será construída em aula uma interface de leitura de teclado e uma controladora de vídeo (bastante simplificada: Texto 20 linhas x 16 colunas), ilustrando um mapa de caracteres e uma memória de vídeo. Serão também apresentados os conceitos de portos de entrada e saída em microcontroladores e interrupções de E/S. b) Serão apresentados em transparências vários exemplos de hierarquia e controle (arbitragem) de barramentos, E/S Programada e os conceitos, operação e exemplos de DMA. As transparências serão utilizadas para apresentar (e não resumir) as informações conceituais do Livro sobre estes temas.
  • PATTERSON Cap. 8.1 a 8.7 (3rd ed, 2003)
  • MONTEIRO Cap. 10.1 a 10.3, 10.5, D.3.1, D.3.2 (5a ed, 2007)
  1. Noções de Linguagens Montadoras.
  • Serão apresentados exemplos de compilação de linguagens de alto nível para instruções Assembly e a utilização de montadores para converter linguagem montadora em linguagem de máquina, apresentando exemplos simples de transformação de linguagem C em linguagem montadora, como, por exemplo, inicialização de variáveis ("Int A = 5;"), Loops (For), e condicional (Se-Entao).
  • Também serão vistos vários exemplos de desenvolvimento de programas em linguagem Assembly realizando diversas funcionalidades inclusive E/S.
  • PATTERSON Cap. 2.5 a 2.8, 2.10, 2.13, 2.15 (3rd ed, 2003)
  • MONTEIRO Cap. C.2, C.3, C.6 (5a ed, 2007)

Metodologia:

  • As aulas serão principalmente expositivas explicando-se na lousa os conteúdos do livro. Sendo assim, a cópia do material dado na lousa possibilitará a obtenção de uma síntese bem exemplificada do conteúdo do livro.
  • Serão utilizadas transparências, apresentando os tópicos: arquitetura de processadores, elementos básicos, vários exemplos de hierarquia e controle (arbitragem) de barramentos, E/S Programada, configurações de memória e o conceito, operação e exemplos de DMA.
  • Será disponibilizada uma ampla lista de exercícios sobre toda a matéria e marcada uma aula específica para tirar as duvidas dos alunos sobre os exercícios.
  • Serão apresentadas em aula e disponibilizadas aos alunos ferramentas de CAD para a programação e simulação de processadores. Nestas ferramentas, serão apresentados a arquitetura do processador, seu mapa de memória, conjunto de instruções e programas em Assembly controlando dispositivos como sensores, motores e esteiras e alguns jogos.
  • Será disponibilizada uma ferramenta que é um simulador de operação de um processador bastante semelhante ao que será apresentado e implementado em aula, desenvolvida por alunos veteranos do ICMC, incluindo os códigos (feitos em linguagem C) do algoritmo que simula os módulos do processador, o algoritmo da máquina de controle e um montador para os programas em linguagem de máquina. Com esta ferramenta, os alunos podem editar o processador, incluir novas instruções, reprogramar a máquina de controle para controlar estas novas instruções e editar o montador para montá-las para o código de maquina do processador.
  • Serão também oferecidas aulas opcionais para a turma no laboratório, na qual serão apresentados a linguagem VHDL e a utilização das placas de FPGA recentemente adquiridas para a implementação de processadores próprios dos alunos. Serão fornecidas transparências com a síntese desta metodologia para os alunos.
  • Alguns alunos serão convidados a apresentar implementações para seus colegas utilizando as ferramentas apresentadas para implementar software em linguagem montadora e controlar dispositivos com os seus microcontroladores, bem como os que implementarem processadores próprios em software com o simulador ou em hardware na placa de FPGA.
  • Todo este material será disponibilizado diretamente aos alunos durante as aulas e através do github.

ssc0511-organizacao-de-computadores-digitais's People

Contributors

caioalarcon avatar gabrielmachado11 avatar guisanches avatar joaomobarros avatar julio-ng avatar jumc avatar leandromugnaini avatar leobellini avatar orlandopasqualfilho avatar rmedeiros23 avatar rubensgaldinojr avatar simoesusp avatar stellajusto avatar victormomente avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.