Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Documentos relacionados
AULA 01: APRESENTAÇÃO

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 02: INTRODUÇÃO

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

FPGA & VHDL. Tutorial

FPGA & VHDL. Tutorial Aula 1. Computação Digital

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

INTRODUÇÃO AOS SISTEMAS LÓGICOS INTRODUÇÃO

Prof. Eliezer Soares Flores 1 / 22

PROJETO DE UM MODELO DE UM CONVERSOR ANALÓGICO DIGITAL PARA SOC S

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Organização de Computadores I

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho


Sistemas Operacionais (SO)

SSC510 Arquitetura de Computadores 1ª AULA

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Infraestrutura de Hardware. Funcionamento de um Computador

ORGANIZAÇÃO DE COMPUTADORES

Organização e Arquitetura de Computadores I

Arquitetura e organização de computadores Uma visão geral

Revisão: Projeto de Processadores em VHDL

ORGANIZAÇÃO DE COMPUTADORES

pet Arquitetura de Computadores computação UFPE

Introdução à Informática. Aula 1

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018

Aula 06 - Máquina Multinível e Von Neumann

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

CRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2

Organização e Arquitetura de Computadores I

Apresentação. Informação geral + Conceitos iniciais

Introdução ao módulo LabVIEW FPGA

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Sistemas de Computação

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Sistemas de Computação. Bibliogra a. Hardware e Software. Notas. Introdução. Haroldo Gambini Santos. 26 de abril de Notas

Arquitetura de Computadores

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Quando Distribuir é bom

Desenvolvendo aplicações com LabVIEW FPGA. Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas

Organização e Arquitetura de Computadores. Professor Airton Ribeiro de Sousa

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

Introdução à Programação. Apresentação da Disciplina e Conceitos Básicos de Computadores

Arquitetura de Computadores

Organização e Arquitetura de Computadores. Professor Airton Ribeiro de Sousa

Microcontroladores. Rafael Silva de Lima

Introdução à Linguagem VHDL

Arquitetura de Von Neumann

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

Quando Distribuir é bom

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Estrutura de um computador digital. Gustavo Queiroz Fernandes

Prof. Sandro Wambier

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO

Introdução à Computação MAC0110

ORGANIZAÇÃO DE COMPUTADORES

GFM015 Introdução à Computação

Faculdade Dom Bosco de Porto Alegre Engenharia de Produção Automação Robótica I

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos

Introdução à Programação de Computadores Fabricação Mecânica

Projeto de Processadores Programáveis

Algoritmos Computacionais

Revisão FUI. Tiago Alves de Oliveira

Programação de Computadores I - PRG1 Engenharia Elétrica

Arquitetura de Computadores

Projeto com Linguagens de Descrição de Hardware

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

Computadores e Programação (DCC/UFRJ)

Algoritmos e Lógica de Programação Componentes e Arquitetura

Sistemas Operacionais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Informática I. Aula Aula 20-5/11/2007 1

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 12: MEMÓRIA CACHE: FUNÇÃO DE MAPEAMENTO (PARTE 1)

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 10: MEMÓRIA E HIERARQUIA DE MEMÓRIAS

Sumário. Introdução a SoCs. Introdução a SoCs. Introdução a SoCs. Introdução a SoCs. Systems on Chips Multiprocessados: MPSoCs

SSC0112 Organização de Computadores Digitais I - Turma 2

Desenvolvimento de Modelo HDL otimizado no tempo para Controlador de Acesso Direto à Memória (DMA)

Infraestrutura de Hardware. Introdução

28 de fevereiro de 2016

Conceitos básicos sobre computadores (continuação)

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Transcrição:

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação

POR QUE APRENDER CONCEITOS DE ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES?

Importância da Arquitetura e Organização de Computadores Desempenho é um importante fator de qualidade para tornar os softwares competitivos. Desenvolver SW com bom desempenho requer o entendimento de como um computador funciona: Componentes de um computador Como os componentes interagem entre si Como o software interagem com os componentes Projetistas de SW devem desenvolver aplicações que maximizam o uso eficiente do HW. 3

Componentes de um Sistema Computacional Aplicação Software Hardware Compilador Montador Sistema operacional Repertório de Instruções da Arquitetura Processador Memória Sistema de E/S Datapath & Controle Projeto Digital Projeto de Circuito Transistores Software de sistema Interface Computador Sistemas digitais 4

Hardware de um Sistema Computacional O HW é composto por 5 componentes básicos: Unidade de controle Datapath Memória Dispositivos de entrada Dispositivo de saída Arquitetura de Von Neumann 5

Hardware de um Sistema Computacional Processador (CPU) Unidade de controle: gera todos os sinais de controle interno e externo ao processador. Datapath: caminho que o dado percorre dentro do processador. É o cérebro do sistema computador 6

Hardware de um Sistema Computacional Memória principal Dispositivo que permite armazenamento de dados e instruções. Também chamada de memória RAM. Memória secundária Memória para armazenamento de longa duração de dados e programas 7

Hardware de um Sistema Computacional Dispositivos de entrada São dispositivos que fornecem dados para execução de um programa. Permite a interação usuário-máquina Dispositivos de saída São dispositivos que exibem dados e informações processadas pelo sistema computacional 8

COMO PROJETAR UM SISTEMA COMPUTACIONAL (HARDWARE+SOFTWARE)? 9

Fluxo de Projeto de um Sistema Computacional (Antigo)

Fluxo de Projeto de um Sistema Computacional (Antigo) RTL Sem comunicação Equipes de hardware e software não interagem Problemas que poderiam ser descobertos na fase inicial só aparecem na prototipação Era comum projetistas partirem de uma especificação diretamente para uma implementação RTL

COMO SOLUCIONAR ESSE PROBLEMA? 12

Projeto de um Sistema Computacional Abstração É uma técnica poderosa para atacar a alta complexidade Esconde detalhes desnecessários na fase inicial Quanto mais detalhes, mais baixo o nível de abstração Tempo de implementação aumenta quando o nível de abstração diminui. Requer ferramentas

Nível de Abstração Estrutural Comportamental Algoritmos Transferências entre registros Expressões booleanas Funções de transistores Layout de transistores Células Chip Placa Físico 14

Nível de Abstração RTL Descrição funcional completa Utilizo por ferramentas de sínteses Completamente orientado por clock Precisão de ciclo tanto interno como externo 15

Nível de Abstração TLM Separa computação de comunicação Comunica através de transações Abstrai o handshaking detalhado do sinal, sincronizando as operações através de operações de E/S bloqueantes e nãobloqueantes 16

Fluxo de Síntese 17

Modelagem e Simulação A modelagem e simulação do sistema em nível abstrato é uma etapa cava vez mais importante no desenvolvimento. Modelagem: representação formal de aspectos relevantes do sistema. Simulação: Possibilidade de obter respostas do sistema modelado a estímulos fornecidos. 18

Modelagem Transacional A modelagem em nível de transações (TLM) é uma metodologia alternativa para os primeiros passos do projeto. Um conceito básico em TLM é a separação entre computação e comunicação. Uma transação é a transmissão de um conjunto de informações relevantes ao problema. Não há uma definição precisa do que seja TLM. 19

Fluxo de Projeto de um Sistema Computacional 20

COMO PROJETAR O HARDWARE DE UM SISTEMA COMPUTACIONAL?

Linguagens de Descrição de Hardware Hardware Description Language (HDL) Introduzida nos anos de 1980 Permite modelar, representar e simular projetos de sistemas digitais Concorrência Paralelismo Semântica para valores de sinais no tempo 22

Linguagens de Descrição de Hardware Hardware Description Language (HDL) São usadas extensivamente na indústria para projetos de sistemas digitais. Microprocessadores Componentes digitais São utilizadas também para descrever as características do hardware: Transições de estados Comportamento hierárquicos (sequencias ou concorrentes) Sincronzinação Instruções de alto nível 23

Linguagens de Descrição de Hardware Hardware Description Language (HDL) Maneira mais rápida de descrever hardware Se a descrição do hardware for feita direta o programador só levará 10% do tempo de projeto para descrever. E os outros 90% será utilizado para testar e validar o hardware. Podem ser sintetizada em hardware através de ferramentas de síntese 24

COMO DESCREVER UM HARDWARE? 25

Tipos de HDL

COMO DESCREVER EM NÍVEL DE SISTEMA? 27

Modelagem em C/C++ Alta velocidade de simulação em alto nível de abstração. Não existe noção de tempo no programa C/C++ não modela o paralelismo intrínseco do hardware C/C++ não modela tipos de dados de hardware, bit-wise multivalorados. Problemas com sinais, ou seja, protocolos em sinais 28

Modelagem em SystemC Comunicação de Hardware Sinais, protocolos Noção de tempo Concorrência Módulos de hardware operam em paralelo O hardware é raativo, responde a estímulos e esta em constante iteração com o sistema. Tipos de dados específicos para Hardware 29

Modelagem em SystemC SystemC é indicado para descrição em nível de sistema.

Modelagem em SystemC Modela sistemas em todos os níveis da abstração Modelagem funcional, utilizando vários modelos de computação Modelagem em TLM Modelagem em RTL Criação de modelos de plataformas HW/SW para uso por projetistas de sistemas e desenvolvedores de SW embarcados Testbenches em nível de sistema (usando bibliotecas) Não deve substituir um HDL e nem uma linguagem de modelagem de software. 31