Aula 14: Instruções e Seus Tipos
|
|
- Bruno Regueira Vilanova
- 8 Há anos
- Visualizações:
Transcrição
1 Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35
2 Conceitos Básicos Diego Passos (UFF) Instruções e Seus Tipos FAC 2 / 35
3 Processador e Instruções Processador é um dispositivo que opera em ciclos Ciclos de execução de instruções Pequenas tarefas executadas sobre determinados operandos Buscar Instrução Interpretar Instrução Executar Instrução Diego Passos (UFF) Instruções e Seus Tipos FAC 3 / 35
4 Instruções de Máquina Individualmente, instruções são simples Não realizam tarefas complexas eg, não há instrução de máquina para verificar a ortografia de uma palavra em um texto A composição/sequência de várias operações mais simples resulta em tarefas mais complexas Exemplos de tarefas simples (para as quais podem existir instruções de máquina): Operações lógicas/aritméticas simples sobre dois operandos Movimentação de dados entre a memória e registradores Alterações nos valores de certos registradores Diego Passos (UFF) Instruções e Seus Tipos FAC 4 / 35
5 Conjunto de Instruções Também chamado de ISA (do inglês, Instruction Set Architecture) Nome dado ao grupo de todas as instruções disponíveis em um processador Processadores diferentes podem disponibilizar instruções diferentes Em outras palavras, processadores diferentes podem ter conjuntos de instruções diferentes O conjunto de instruções de um processador deve permitir a implementação de qualquer tarefa computável ie, deve haver um grupo mínimo de instruções que combinadas possam resultar em qualquer tarefa computacional Em outras palavras, algoritmos escritos em linguagens de alto nível podem ser traduzidos para sequências destas instruções Diego Passos (UFF) Instruções e Seus Tipos FAC 5 / 35
6 Conjunto de Instruções: Reduzido vs Extenso Respeitando este conjunto mínimo necessário de instruções, processadores podem implementar conjuntos de instruções maiores ou menores Há méritos e desvantagens em ambas as abordagens Discutiremos isso em mais detalhes na última aula do curso De toda forma, há processadores reais com conjuntos de instruções grandes e pequenos Diego Passos (UFF) Instruções e Seus Tipos FAC 6 / 35
7 Conjunto de Instruções: Família Processadores diferentes podem implementar conjuntos de instruções diferentes Mas isso nem sempre ocorre De fato, é comum que um novo processador herde o conjunto de instruções de um modelo mais antigo Distinção importante: Conjunto de instruções: que operações estão disponíveis Microarquitetura: como estas operações são implementadas Processador mais novo pode implementar o mesmo conjunto de instruções, mas de maneira mais eficiente Diego Passos (UFF) Instruções e Seus Tipos FAC 7 / 35
8 Conjunto de Instruções: Família (II) Há vários motivos repetir um conjunto de instruções: Não reinventar a roda : reutilizar fórmula bem sucedida Permitir reutilização de compiladores Permitir compatibilidade de código executável binário Algumas vezes, pode-se ganhar desempenho alterando o conjunto de instruções Mas normalmente, maiores evoluções estão na forma de implementá-lo Permite o lançamento de processadores mais rápidos, mas compatíveis Consumidor pode atualizar computador Sem alterar software utilizado Diego Passos (UFF) Instruções e Seus Tipos FAC 8 / 35
9 Conjunto de Instruções: Família (III) Exemplos de conjuntos de instruções bem sucedidos: i368 (ou x86): processadores Intel, AMD (entre outros) de 32 bits x64 86: processadores Intel, AMD (entre outros) de 64 bits MIPS: extensivamente usada em dispositivos embarcados (roteadores) e consoles (Nintendo 64, Playstation 1 e 2, PSP) PowerPC: usado em carros, consoles (Wii, Wii U, XBox 360, Playstation 3) ARM: conjunto de instruções mais popular do mundo Domina os smartphones (95%) Apenas em 2013, 10 bilhões de processadores produzidos Também presente em tablets, aparelhos de TV, Começa a se popularizar no mercado de servidores Diego Passos (UFF) Instruções e Seus Tipos FAC 9 / 35
10 Conjunto de Instruções: Família (IV) Note que algumas vezes processadores de uma mesma família estendem o conjunto de instruções Acrescentam instruções Objetivo: permitir melhor desempenho de certos tipos de aplicação Mas instruções que já existiam são mantidas Compatibilidade é garantida Exemplo: Instruções MMX adicionadas ao Pentium, em 1997 Além das instruções tradicionais do i386 Diego Passos (UFF) Instruções e Seus Tipos FAC 10 / 35
11 O Conjunto de Instruções do MIPS A arquitetura MIPS é relativamente simples Ao menos em comparação com outras, como a x86 Por este motivo, esta arquitetura é comumente adotada em cursos de Arquiteturas de Computadores E livros didáticos da área No restante deste curso, utilizaremos a arquitetura MIPS e seu conjunto de instruções como estudo de caso Exemplificaremos conceitos com ela Diego Passos (UFF) Instruções e Seus Tipos FAC 11 / 35
12 Representação de uma Instrução Assim como qualquer outro dado em memória, instruções são armazenadas como conjuntos de bits Em algumas arquiteturas, o tamanho de uma instrução é fixo Geralmente, do tamanho da palavra do processador eg, MIPS Em outras, há instruções de tamanhos variáveis ie, algumas instruções são curtas, outras mais longas eg, família x86 Diego Passos (UFF) Instruções e Seus Tipos FAC 12 / 35
13 Representação de uma Instrução (II) O conjunto de bits de uma instrução pode ser dividido em vários subconjuntos Ou campos Cada um com uma semântica específica Exemplos de campos típicos: Opcode: código da operação, número que especifica operação a ser executada Operandos: representação numérica dos operandos sobre os quais operação será realizada Ou de onde obtê-los Resultado: representação numérica de onde guardar o resultado da operação Diego Passos (UFF) Instruções e Seus Tipos FAC 13 / 35
14 Representação de uma Instrução (III) Exemplo de instrução de soma no MIPS (32 bits): Opcode: (2) = 0 (10) Significado: Operação Lógica ou Aritmética Operando 1: (2) =17 (10) Significado: Primeiro Operando está no Reg 17 Operando 2: (2) =18 (10) Significado: Segundo Operando está no Reg 18 Resultado: (2) =8 (10) Significado: Armazenar Resultado no Reg 8 Campo não Utilizado Nesta Instrução (deve sempre ser 0) Função: (2) =32 (10) Significado: Operação de Soma Diego Passos (UFF) Instruções e Seus Tipos FAC 14 / 35
15 Tipos de Instrução de Máquina Diego Passos (UFF) Instruções e Seus Tipos FAC 15 / 35
16 Instruções e Seus Propósitos Geralmente, podemos dividir as instruções de um conjunto de instruções de acordo com o propósito Objetivo Tipo de operação realizada Tipo de dado manipulado Categorias comuns: Instruções aritméticas Instruções de transferência de dados Instruções lógicas Instruções de deslocamento Instruções de desvio condicional Instruções de desvio incondicional Instruções de ponto flutuante Instruções para operação atômica Diego Passos (UFF) Instruções e Seus Tipos FAC 16 / 35
17 Instruções Aritméticas Instruções que realizam contas sobre valores inteiros Na nossa classificação, há um grupo separado para operações sobre ponto flutuante Em geral, recebem dois operandos e têm um resultado numérico Na arquitetura MIPS, operandos são necessariamente registradores ou constantes especificadas na própria instrução Diego Passos (UFF) Instruções e Seus Tipos FAC 17 / 35
18 Instruções Aritméticas (II) Exemplos (do MIPS): Instrução add: Soma os valores de dois registradores Resultado é guardado também em um registrador Registradores podem ser todos diferentes, ou não Instrução sub: Equivalente à add, mas faz subtração Instrução addi Parecida com a add, mas um dos operandos é uma constante armazenada na própria instrução Diego Passos (UFF) Instruções e Seus Tipos FAC 18 / 35
19 Instruções de Transferência de Dados Em geral, instruções de processamento (eg, aritméticas, lógicas) operam sobre: Constantes, presentes na própria instrução Valores guardados em registradores Em outras palavras, elas não operam diretamente sobre dados na MP Mas registradores são pequenos Não podemos armazenar todos os dados do programa neles A maior parte dos dados estará em MP Solução: Trazer dados da MP para os registradores E levar dados dos registradores para a MP Diego Passos (UFF) Instruções e Seus Tipos FAC 19 / 35
20 Instruções de Transferência de Dados (II) Logo, precisamos de instruções que sejam capazes de fazer estas transferências Exemplos (do MIPS): Instrução load word: Traz uma palavra da memória principal para um registrador Recebe como operandos dois registradores e uma constante Um dos registradores é o destino O endereço da palavra a ser trazida é dado pela soma do outro registrador com a constante Instrução store word: Inverso da load word Armazena valor de um registrador de origem em um endereço da MP Endereço é dado pela soma de um registrador com uma constante Há também variações para outros tamanhos de dados Meia palavra, byte Há também instruções para carregar um valor constante (na própria instrução) para um registrador Diego Passos (UFF) Instruções e Seus Tipos FAC 20 / 35
21 Instruções Lógicas Similares às instruções aritméticas Mas executam operações de lógica Bit 0 representa o falso lógico Bit 1 representa o verdadeiro Operações lógicas são executadas bit a bit Operandos são números com vários bits Geralmente, uma palavra completa Operações são feitas para cada par de bits correspondentes dos operandos eg, com 4 bits, uma operação lógica OU entre 1010 e 0110 resulta em 1110 Diego Passos (UFF) Instruções e Seus Tipos FAC 21 / 35
22 Instruções Lógicas (II) Exemplos (do MIPS): Instrução and: Realiza a operação lógica E bit a bit Operandos são dois registradores Resultado também é colocado em um registrador Instrução or: Similar à and, mas efetua a operação lógica OU Instrução xor: Similar às anteriores, mas a operação é de OU Exclusivo Instrução nor: Idem, mas para a operação de Não-OU Diego Passos (UFF) Instruções e Seus Tipos FAC 22 / 35
23 Instruções de Deslocamento Algumas vezes é útil deslocarmos os bits de um número Para a esquerda ou para a direita Operação conhecida em inglês como shift Exemplo de utilidade aritmética: Deslocar bits uma casa para a esquerda multiplica por dois Deslocar bits uma casa para a direita divide por dois Há ainda outras utilidades na manipulação de bits em geral Diego Passos (UFF) Instruções e Seus Tipos FAC 23 / 35
24 Instruções de Deslocamento (II) O tipo mais comum de shift é o lógico No shift para a direita, bits à esquerda são completados com zero No shift para a esquerda, bits à direita são completados com 0 eg, com 4 bits, 0101 <<1 = 1010, 0101 >>1 = 0010 Há ainda o shift à direita aritmético Bits adicionados à esquerda são iguais ao bit mais significativo do operando eg, com 4 bits, 0101 >>1 = 0010, 1101 >>1 = 1110 Shifts aritméticos são úteis para fazer divisões por 2 em números negativos em complemento a 2 Diego Passos (UFF) Instruções e Seus Tipos FAC 24 / 35
25 Instruções de Deslocamento (III) Na arquitetura MIPS, há 6 tipos de instruções de shift disponíveis Shifts à esquerda, à direita, aritiméticos à direita Quantidade de bits deslocados dado por constante (na própria instrução) ou por valor em registrador Em todas as instruções, o valor a sofrer o deslocamento é sempre lido de um registrador E resultado é guardado em outro registrador (potencialmente diferente) Diego Passos (UFF) Instruções e Seus Tipos FAC 25 / 35
26 Instruções de Desvio Condicional Também comumente chamadas de instruções de branch Alteram o valor do registrador PC, caso uma determinada condição seja verdadeira Ou auxiliam nesta tarefa Lembrando: PC é um registrador especial Armazena endereço da próxima instrução a ser executada Geralmente, instruções são executadas em sequência Mas às vezes precisamos saltar para outra parte do código Exemplos? Diego Passos (UFF) Instruções e Seus Tipos FAC 26 / 35
27 Instruções de Desvio Condicional (II) Instruções de branch são necessárias para dar suporte à condicionais e repetições em linguagens de alto nível Alguns exemplos (em C): if (x == 3) { // Instrucao de branch y = 4; } else { y = 6; } while (x < 100) { // Instrucao de branch y = y + 1; x = x + y; } x = x * 4; Diego Passos (UFF) Instruções e Seus Tipos FAC 27 / 35
28 Instruções de Desvio Condicional (III) Há diversas pequenas variações das instruções de branch em cada arquitetura Alguns exemplos do MIPS: Instrução branch on equal: Operandos são dois registradores e uma constante numérica Compara os valores dos registradores Se forem iguais, soma ao PC à constante multiplicada por 4, e mais 4 Instrução branch on not equal: Idem, mas PC é mudado se valores foram diferentes Instrução set on less than: Recebe dois registradores como operandos e mais um para o resultado Se o primeiro operando é menor que o segundo, resultado é 1 Usado com branch on equal para comparações do tipo menor que Diego Passos (UFF) Instruções e Seus Tipos FAC 28 / 35
29 Instruções de Desvio Incondicional Também chamadas de instruções de jump, ou salto Parecidas com as instruções de branch, mas não há condição a ser testada Valor do PC é mudado sempre Programa sempre salta para outra instrução Utilidades? Diego Passos (UFF) Instruções e Seus Tipos FAC 29 / 35
30 Instruções de Desvio Incondicional (II) Em linguagens de alto nível, instruções de jump ocorrem em vários casos Por exemplo: Estruturas como goto Loops infinitos Chamadas de função Exemplos (em C): if (x == 3) { goto erro; // Jump } y = 6; erro: printf("houve algum erro!\n"); while (1) { // Espera nova conexao // Trata requisicao // }// Jump y = 4; x = sqrt(5); // Jump y = y + x; Diego Passos (UFF) Instruções e Seus Tipos FAC 30 / 35
31 Instruções de Desvio Incondicional (III) Exemplos (no MIPS): Instrução jump: Recebe um único operando: uma constante na própria instrução Valor do PC é alterado para 4 vezes o valor da constante concatenada com os 4 bits mais significativos do PC Instrução jump register: Parecido, mas o operando é um registrador Valor do PC é alterado para valor do registrador especificado Instrução jump and link: Idêntica à jump, mas adicionalmente guarda o valor atual do PC no registrador 31 Qual é a utilidade da instrução jump and link? Diego Passos (UFF) Instruções e Seus Tipos FAC 31 / 35
32 Formatos de Instruções Diego Passos (UFF) Instruções e Seus Tipos FAC 32 / 35
33 Instruções e Seus Formatos Instruções diferentes precisam de operandos diferentes Ou, mais genericamente, parâmetros diferentes As diferenças estão tanto no número, quanto no tipo eg, instrução jump recebe apenas um parâmetro vs três na instrução add Instrução add recebe três registradores vs dois (e uma constante) na addi Outra diferença: número de bits de cada parâmetro eg, uma constante pode usar 16 ou 26 bits no MIPS De alguma forma, processador conhece o formato de cada instrução Sabe como separar os bits da instrução nos grupos adequados E o que cada grupo representa Diego Passos (UFF) Instruções e Seus Tipos FAC 33 / 35
34 Formatos de Instrução no MIPS No MIPS, as instruções podem ser divididas de acordo com seu formato Há três formatos, no total: Formato R: instruções que recebem três registradores como parâmetros Formato I: instruções que recebem dois registradores e um imediato (constante) como parâmetros Formato J: para instruções do tipo jump, que recebem apenas um imediato (constante) como parâmetro Em qualquer um dos três tipos, os 6 bits mais significativos representam o OpCode Código numérico que define a operação Ou ao menos seu tipo Todas as instruções têm um comprimento de 32 bits O que varia, portanto, são os 26 bits menos significativos Diego Passos (UFF) Instruções e Seus Tipos FAC 34 / 35
35 Formato de Instrução no MIPS (II) Tipo Formato (bits) R opcode (6) rs (5) rt (5) rd (5) shamt (5) função (6) I opcode (6) rs (5) rt (5) imediato (16) J opcode (6) endereço (26) Em todos os formatos, os nomes dos campos querem dizer: rs, rt (formato R): registradores com valores de entrada para a instrução rd, rt (formato I): registrador de resultado shamt: quantidade de bits deslocados imediato: constante numérica endereço: constante numérica função: similar ao opcode, define mais especificamente o operação realizada eg, para operações aritméticas, o opcode define apenas que a instrução é uma operação aritimética Neste caso, o campo função determina se é uma soma, subtração, etc Diego Passos (UFF) Instruções e Seus Tipos FAC 35 / 35
Aula 26: Arquiteturas RISC vs. CISC
Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos
Leia maisOrganização de Computadores 1
Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Leia maisArquitetura de Computadores. Linguagem de Máquina
Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP
Leia maisRepresentando Instruções no Computador
Representando Instruções no Computador Humanos aprenderam a pensar na base 10 Números podem ser representados em qualquer base Números mantidos no hardware como série de sinais eletrônicos altos e baixos
Leia maisArquitetura de Computadores
Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,
Leia maisParalelismo a Nível de Instrução
Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos
Leia maisConjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas
Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Pae II Transferência de Dados Lógicas Controle Supoe a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores
Leia maisArquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos
Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos Abordaremos nesta aula assuntos referentes à arquitetura do conjunto de instruções, tipos de operandos
Leia maisArquitetura de processadores: RISC e CISC
Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo
Leia maisMODOS DE ENDEREÇAMENTO
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO
Leia maisREPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade
REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Leia maisIntrodução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte II) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br
Leia maisConjunto de Instruções e Arquitectura p.1
Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações
Leia maisPARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n
Leia maisConjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas
Conjunto de instruções O Conjunto de Instruções ISA Instruction Set Architecture Alguns conceitos... Linguagem máquina Combinação de 0 s e 1 s organizados segundo palavras que são as instruções que o processador
Leia maisIntrodução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01
Introdução à Arquitetura de Computadores Renan Manola Introdução ao Computador 2010/01 Introdução Conceitos (1) Computador Digital É uma máquina que pode resolver problemas executando uma série de instruções
Leia maisLinguagem de Montagem 2. Operações e Operandos
Linguagem de Montagem 2 Operações e Operandos Revisão Para executar uma tarefa qualquer, um computador precisa receber instruções precisas sobre o que fazer Esse conjunto de instruções chamamos de algoritmo
Leia maisOrganização de Computadores Como a informação é processada?
Curso de ADS/DTEE/IFBA Organização de Computadores Como a informação é processada? Prof. Antonio Carlos Referências Bibliográficas: 1. Ciência da Computação: Uma visão abrangente - J.Glenn Brokshear 2.
Leia maisConjunto de instruções e modos de. aula 4. Profa. Débora Matos
Conjunto de instruções e modos de endereçamento aula 4 Profa. Débora Matos Conjunto de Instruções A = ((B + C) x D + E F)/(G x H) A H denotam posições da memória endereços As arquiteturas possuem as seguintes
Leia maisIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Uma instrução pode ser definida como um comando
Leia maisARQUITETURA DE COMPUTADORES
1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula
Leia maisIntrodução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: O Computador como uma Máquina Multinível (cont.) José Gonçalves - LPRM/DI/UFES Introdução à Engenharia de Computação Máquina Multinível Moderna Figura 1 Máquina
Leia maisMemória cache. Prof. Francisco Adelton
Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma
Leia maisComputador Digital Circuitos de um computador (Hardware)
Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções
Leia mais2. A influência do tamanho da palavra
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de
Leia maisOrganização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I. 2002 Juliana F. Camapum Wanderley
Organização e Arquitetura de Computadores Aula 10 Ponto Flutuante Parte I 2002 Juliana F. Camapum Wanderley http://www.cic.unb.br/docentes/juliana/cursos/oac OAC Ponto Flutuante Parte I - 1 Panorama Números
Leia maisComponentes do Computador e. aula 3. Profa. Débora Matos
Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e
Leia maisAula 17: UCP: Construindo um Caminho de Dados (Parte I)
Aula 17: UCP: Construindo um Caminho de Dados (Parte I) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (I) FAC 1 / 33
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE
Leia maisIntrodução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: Organização Básica de um Computador Digital Introdução à Engenharia de Computação 2 Componentes de um Computador Computador Eletrônico Digital É um sistema
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números
Leia mais2 Formalidades referentes ao trabalho
Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores 1 o Semestre de 2006 MICO-v12.r0 07/03/2006 Profs. Luis Allan Künzle e Armando Luiz Nicolini Delgado Atenção: Este
Leia maisLinguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.
Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Tipos de dados Os programas manipulam dados, armazenando-os
Leia maisInformática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1
Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisMIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br
MIPS Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br Introdução Plataforma projetada da parceria entre NEC, Nintendo, Silicon Graphics e Sony Possui um conjunto de instruções que e
Leia maisCISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com
Leia maisO Processador: Caminho de Dados e Controle
22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1
Leia maisIntrodução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16
Introdução aos Computadores Introdução à Ciência de Computadores Nelma Moreira Departamento de Ciência de Computadores da FCUP Outubro 2011 Introdução aos Computadores Introdução à Ciência de Computadores
Leia maisArquitetura de Computadores Moderna
Arquitetura de Computadores Moderna Eduardo Barrére (eduardo.barrere@ice.ufjf.br) DCC/UFJF Baseado no material do prof. Marcelo Lobosco Agenda Visão Geral Objetivos do Curso Ementa Bibliografia Avaliações
Leia maisCapítulo SETE Números em Ponto Fixo e Ponto Flutuante
Capítulo SETE Números em Ponto Fixo e Ponto Flutuante 7.1 Números em ponto fixo Observação inicial: os termos ponto fixo e ponto flutuante são traduções diretas dos termos ingleses fixed point e floating
Leia maisUCP: Construindo um Caminho de Dados (Parte I)
UCP: Construindo um Caminho de Dados (Parte I) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado cedido pela Profa. Fernanda Passos Cristina Boeres
Leia maisORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Linguagem de programação Linguagem de Alto Nível próximo ao ser humano, escrita de forma textual. Ex: if (a==b) a=b+c; Linguagem de Montagem (Assembly) próximo à linguagem de máquina, escrita em códigos
Leia maisInfraestrutura de Hardware. Instruindo um Computador
Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath
Leia maisSistemas Processadores e Periféricos Aula 5 - Revisão
Sistemas Processadores e Periféricos Aula 5 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão
Leia maisCapítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)
Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes
Leia maisULA Sinais de Controle enviados pela UC
Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento
Leia maisConjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)
Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance
Leia mais3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Leia maisRegras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos
Lógica Aula 2 Técnicas de Programação Criando algoritmos Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Criando
Leia maisULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação
Leia maisA declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.
Representação de Dados Tipos de dados: Caracteres (letras, números n e símbolos). s Lógicos. Inteiros. Ponto flutuante: Notações decimais: BCD. A declaração de uma variável vel define o seu tipo. O tipo
Leia maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisCapítulo 7 Nível da Linguagem Assembly
Capítulo 7 Nível da Linguagem Assembly Presente em quase todos os computadores modernos. Implementado por tradução. Linguagem fonte => Linguagem alvo. O programa no arquivo fonte não é executado diretamente
Leia maisOrganização de Computadores Software
Organização de Computadores Software Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Objetivos: Entender
Leia maisCAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
Leia maisPredição de Desvios e Processadores Superescalares Especulativos
Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os
Leia maisLinguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação
Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada
Leia maisUnidade 5: Sistemas de Representação
Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação
Leia maisArchC. Wesley Nunes Gonçalves
Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores
Leia maisAlgoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva
Algoritmos Estruturas Seqüenciais José Gustavo de Souza Paiva 1 Introdução Objetivo básico da computação auxiliar os seres humanos em trabalhos repetitivos e braçais, diminuindo i i d esforços e economizando
Leia maisO modelo do computador
O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década
Leia maisSistemas Microcontrolados
Sistemas Microcontrolados Uma Abordagem com o Microcontrolador PIC 16F84 Nardênio Almeida Martins Novatec Editora Capítulo 1 Introdução Os microcontroladores estão presentes em quase tudo o que envolve
Leia maisComputador Cleópatra
ORGNIZÇÃO E RQUITETUR DE COMPUTDORES Computador Cleópatra Introdução a rquitetura e Programação lexandre mory Edson Moreno 2 / 9 Na ula nterior bstração em Software Programa em linguagem C Programa em
Leia maisCaminho dos Dados e Atrasos
Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém
Leia mais1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos
1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisPROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 2 - O NÍVEL DA MICROARQUITETURA 1. INTRODUÇÃO Este é o nível cuja função é implementar a camada ISA (Instruction Set Architeture). O seu projeto depende da arquitetura do conjunto das instruções
Leia maisUnidade: Unidade Lógica e Aritmética e Registradores. Unidade I:
Unidade: Unidade Lógica e Aritmética e Registradores Unidade I: 0 Unidade: Unidade Lógica e Aritmética e Registradores UNIDADE LÓGICA E ARITMÉTICA E REGISTRADORES O Processador é um chip com milhares de
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é notação em ponto flutuante Compreender a
Leia maisSistemas de Numeração (Aula Extra)
Sistemas de Numeração (Aula Extra) Sistemas de diferentes bases Álgebra Booleana Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 27/2 Sistemas de Numeração Um sistema de numeração
Leia maisUNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores
UNIP - UNIVERSIDADE PAULISTA Arquitetura de computadores ORGANIZAÇÃO DE COMPUTADORES Bibliografia: MONTEIRO, M. A. Introdução à organização de computadores. 4 ed. RJ. LTC 2001. TANEMBAUM, A. S. Organização
Leia maisMicrocontroladores e Interfaces 3º Ano Eng. Electrónica Industrial
Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação
Leia maisSoftware Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza
Software Básico Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo
Leia maisDescrição e análise da implementação em Assembly MIPS da função itoa
Descrição e análise da implementação em Assembly MIPS da função itoa Alana Rocha 1, Guilherme Alves 2, Guilherme Nunes 3 e Luiz Guilherme 4 Objetivo e visão geral do documento Este documento tem o objetivo
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3
Leia maisAlgoritmos DCC 119. Introdução e Conceitos Básicos
Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação
Leia maisMemórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)
Memórias O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Essas informações são guardadas eletricamente em células individuais. Chamamos cada elemento
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisArquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64
Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução
Leia maisArquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios
Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios 1) Explore conversões de números a partir de números binárias com sinal e sem sinal para decimal:
Leia maisSistemas Processadores e Periféricos Aula 2 - Revisão
Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão
Leia maisOrganização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)
Leia maisARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X
ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta
Leia maisProva P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3.
Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 30/novembro/2012 1. (4 pontos) Assumindo uma frequência de relógio de 500 MHz para a organização MIPS multiciclo
Leia maisPipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.
O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução
Leia maisAnotações da 2a Edição
Anotações da 2a Edição OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson. Supõe-se que os estudantes tenham noções de lógica digital e linguagem
Leia maisProjeto 1 - Bootloader
Projeto 1 - Bootloader IF677 - Infra-Estrutura de Software Centro de Informática - UFPE Autor: Thyago Porpino (tnp) Objetivos Desmistificar o processo de inicialização de um computador. Entender como um
Leia maisLINGUAGEM C. Estrutura básica de um programa
LINGUAGEM C Estrutura básica de um programa Um programa em linguagem C é constituído por uma sequência de funções (módulos) que em conjunto irão permitir resolver o problema proposto. Estas funções contêm
Leia maisAula 2 Sistemas de Numeração (Revisão)
Aula 2 Sistemas de Numeração (Revisão) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 Agenda Breve revisão da aula anterior
Leia maisCONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Compreender os conceitos de lógica de programação e de algoritmos. Conhecer
Leia maisIntrodução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br
Leia maisUniversidade Federal de São João Del Rei - UFSJ
Universidade Federal de São João Del Rei - UFSJ Instituída pela Lei 0.45, de 9/04/00 - D.O.U. de /04/00 Pró-Reitoria de Ensino de Graduação - PROEN Disciplina: Cálculo Numérico Ano: 03 Prof: Natã Goulart
Leia maisARQUITETURA DE COMPUTADORES - 1866
7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um
Leia maisTécnico em Informática - Instalação e Manutenção de Computadores PROCESSADORES
Técnico em Informática - Instalação e Manutenção de Computadores PROCESSADORES Processador... 2 Clock... 5 Multiplicador de clock / FSB... 6 Memória Cache... 6 Processador O processador é o cérebro do
Leia mais