emachine: Simulador Didático de um Computador Paralelo
|
|
- Rita Silvana Camilo
- 5 Há anos
- Visualizações:
Transcrição
1 TÓPICOS AVANÇADOS EM ARQUITETURAS DE COMPUTADORES TAAC-28S2 CIÊNCIA DA COMPUTAÇÃO : Simulador Didático de um Computador Paralelo PROF. LUIZ A. DE P. LIMA JR. Objetivos Este projeto tem por objetivo motivar e aprofundar a compreensão da arquitetura de um computador paralelo por meio da implementação de um computador paralelo simples o qual denominamos totalmente feita em software, simulando a sua arquitetura e seu conjunto de instruções de maneira a executar um programa em linguagem de máquina. A arquitetura será expandida gradativamente em fases de projeto consecutivas para incorporar conceitos adicionais tais como memória cache com mapeamento direto e múltiplos processadores. A arquitetura definida, apesar de não corresponder a nenhuma máquina real, é inspirada na arquitetura do processador 886. Definição Inicial de Termos Assembler ou montador. Um programa que traduz a linguagem Assembly em linguagem de máquina. Linguagem Assembly. Uma representação simbólica da linguagem de máquina de um processador específico estendida por declarações adicionais que visam facilitar o processo de escrita de programas fornecendo instruções ao montador. Arquitetura Inicial Começaremos com um computador com um único processador. A sua arquitetura básica inicial a ser desenvolvida está representada na Figura. terminal AX BX CX DX FL PC RAM Código executável. O código de máquina gerado pelo montador (ou compilador). É o software no formato pronto para ser executado por um computador. controlador (saída) CPU Conjunto de Instruções ou Instruction Set. O conjunto de todas as instruções possíveis de um processador particular. Em outras palavras, a coleção de instruções em linguagem de máquina que um determinado processador é capaz de compreender. Loader. Um programa (ou procedimento) que copia um programa executável para a memória a fim de ser rodado. Linguagem de Máquina ou Código de Máquina. A representação binária de um programa de computador que é efetivamente lido e interpretado pelo computador. Um programa em linguagem de máquina consiste em uma sequência de instruções de máquina (possivelmente intercaladas com dados). Instruções são strings binárias que podem ter tamanho fixo (e.g., 32 bits em processadores RISC atuais) ou variável. Tabela de Símbolos. Arquivo ou estrutura de dados mapeando símbolos (strings) em códigos (inteiros) e vice-versa. Registradores Figura. Arquitetura básica A CPU possui 4 registradores de 32 bits (AX, BX, CX e DX) que podem ser usados em operações aritméticas ou para armazenar dados temporários. Os códigos destes registradores estão especificados na Tabela. Registrador regcode AX BX CX 2 DX 3 Tabela. Códigos dos registradores (regcodes) Há também outros dois registradores de igualmente 32 bits cada: FL é um flag utilizado para sinalizar condições da CPU (explicado posteriormente) e PC (Program
2 Counter) que armazena o endereço na memória da próxima instrução a ser executada. Memória A memória corresponde a um vetor endereçável de tamanho MEMSZ=6M palavras. Endereços de memória, são números de 24 bits (para endereçar 6M). O conteúdo armazenado em cada endereço da memória são valores de 32 bits s (Figura 2). x x xffffff 24bits RAM Figura 2. Conteúdo da memória e endereços = palavras (4 bytes) Instruções (Instruction Set) O conjunto básico de instruções que esta CPU é capaz de executar está listado na Tabela 2. Mnemônico Arg Arg2 Opcode NOP HALT MOV reg reg 2 MOV reg addr 3 MOV addr reg 4 MOV reg immediate 5 MOV addr immediate 6 ADD reg reg 7 SUB reg reg 8 CMP reg reg 9 JMP addr JZ offset JG offset 2 JL offset 3 OUT reg 4 INC reg 5 DEC reg 6 NOP Nenhuma Operação A instrução NOP não executa nada. Pode ser útil para evitar a necessidade de deslocamento de endereço de memória de determinados trechos do programa. NOP ; nada é executado HALT Interrupção do Programa HALT ; interrompe execução Todo programa deve terminar com uma execução da instrução HALT. MOV Transferência de Dados O conjunto de operações MOV é usado para transferir 32 bits dos registradores e para os registradores. A origem e/ou o destino da transferência deve ser um registrador. O outro argumento pode ser um registrador, um endereço de memória (entre colchetes) ou um valor imediato. Note que há 5 opcodes diferentes para a instrução MOV dependendo dos seus argumentos. MOV AX,BX ; AX BX MOV CX,[] ; CX [] MOV [],DX ; [] DX MOV AX,23 ; AX 23 Os valores entre colchetes [ ] representam conteúdos das respectivas posições de memória. No exemplo acima, o conteúdo da posição de memória é copiado para o registrador CX, DX é copiado para o endereço de memória e o valor 23 é atribuído ao registrador AX na última instrução. ADD Soma Soma os valores de dois registradores. O resultado é armazenado no primeiro registrador. ADD AX,BX SUB Subtração ; AX AX+BX Subtrai os valores de dois registradores. O resultado é colocado no primeiro registrador. SUB AX,BX CMP Comparação ; AX AX-BX Compara os valores de dois registradores subtraindo um do outro e colocando o resultado no flag FL. CMP AX,BX ; FL AX-BX Note que se AX==BX, então FL==, se AX>BX, FL> e se AX<BX, FL<. MUL reg reg 7 DIV reg reg 8 Tabela 2. CPU Instruction Set 2
3 JMP Salto absoluto incondicional Transfere a próxima execução para o endereço fornecido como argumento. Para tanto, o endereço é copiado para o registrador PC. JMP ; PC A próxima instrução a ser executada neste caso, será a contida no endereço da memória. JZ Salto relativo condicional se FL== Desvia a execução do programa o número de posições de memória (offset) fornecido como argumento, se o valor da flag FL for zero. Caso contrário, a instrução JZ é desconsiderada. Esta instrução é geralmente utilizada em conjunto com a instrução CMP para implementar o tradicional if de programas em linguagens de mais alto nível (C, C++, Python, etc.). JZ -5 ; PC PC-5,se FL== O registrador PC já conterá o endereço da próxima instrução quando JZ for executado. Assim, considerando endereços de memória das instruções: 2 JZ 2 ; PC PC+2=24, se FL== 22 INC AX 24 NOP JG Salto relativo condicional se FL> Semelhante à instrução JZ, porém desvia execução somente se FL>. Usada em conjunto com CMP, desviará execução se o primeiro operando do CMP for maior do que o segundo. CMP AX,BX JG 2 ; FL AX-BX ; PC PC+2, se FL> JL Salto relativo condicional se FL< Semelhante à instrução JZ, porém desvia execução somente se FL<. Usada em conjunto com CMP, desviará execução se o primeiro operando do CMP for menor do que o segundo. CMP AX,BX JL 2 OUT Saída na tela ; FL AX-BX ; PC PC+2, se FL< A instrução OUT imprime na tela o valor do registrador fornecido como argumento. OUT AX INC Incremento Incrementa valor de um registrador. INC AX ;imprime valor de AX ; AX AX+ DEC Decremento Decrementa valor de um registrador. DEC AX MUL Multiplicação ; AX AX- Multiplica dois registradores, colocando o resultado no primeiro. MUL AX,BX ; AX AX*BX DIV Divisão inteira e resto Efetua a divisão inteira de um registrador por outro, colocando o resultado no primeiro registrador e o valor do resto da divisão no segundo registrador. DIV AX,BX ; AX AX/BX BX AX%BX Um Simulador Didático Para que seja possível implementar um simulador didático de um computador com esta CPU, é necessário antes desenvolver um programa em linguagem de máquina que possa ser carregado na memória para, em seguida, ser lido e diretamente executado pela CPU. Embora seja possível criar manualmente um programa inteiro usando os opcodes das instruções, a tarefa seria muito tediosa, altamente suscetível a erros e dificilmente debogável. Por exemplo, o programa em Assembly: MOV AX, MOV BX,[] ADD AX,BX MOV [],AX HALT que soma ao conteúdo da memória na posição, para ser executado pela CPU, precisa ser carregado na memória substituindo-se os mnemônicos pelos seus respectivos opcodes, conforme a Figura opcode MOV regcode AX immediate opcode MOV regcode BX address opcode ADD regcode AX regcode BX opcode MOV address regcode AX opcode HALT Figura 3. Programa em linguagem de máquina. Normalmente, esta tarefa é feita por um Assembler (ou montador, em português) que recebe um arquivo escrito em linguagem Assembly como entrada e produz a sequência de bits (no nosso caso, uma sequência de valores inteiros) que correspondem ao programa. 3
4 O ciclo de software para este sistema está representado na Figura 4. terminal controlador (saída) MOV AX MOV BX ADD Assembly assembler AX BX CX DX Linguagem de Máquina Figura 4. Do programa Assembly à sua execução. FL PC CPU loader RAM Por isso, é importante manter a ordem acima de maneira que o opcode correto seja atribuído. Note também que, para esta tabela, será necessário distinguir os comandos MOV (R = registrador; M = memória; I = valor imediato). Os registradores internos da CPU também terão códigos ( regcodes ) quando convertidos em linguagem de máquina. Os regcodes são, da mesma forma que os opcodes, armazenados em arquivo separado (REGCODES.esym): AX ; regcode = BX ; regcode = CX ; regcode = 2 DX ; regcode = 3 OPCODES.esym e REGCODES.esym alimentam o assembler de forma que possa produzir como saída o executável em linguagem de máquina, conforme a Figura 5. Assembler O assembler deve ser capaz de interpretar linhas no seguinte formato: Etiqueta: Mnemônico Operandos ;comentários opcional nome do opcode zero ou mais opcionais Por exemplo: MOV AX, ; move para AX Para assegurar o uso consistente de opcodes no assembler assim como no, e para permitir a fácil inclusão de novas instruções, será necessário criar um dicionário ou tabela de símbolos em um arquivo texto separado (OPCODES.esym) com o seguinte conteúdo: ; texto após ; é comentário NOP ; não faz nada HALT ; para o programa MOV_RR ; reg <- reg2 MOV_RM ; reg <- mem MOV_MR ; mem <- reg MOV_RI ; reg <- valor MOV_MI ; mem <- valor ADD ; reg <- reg+reg2 SUB ; reg <- reg-reg2 CMP ; FL <- reg-reg2 JMP ; salto absoluto JZ ; salto relativo se FL== JG ; salto relativo se FL> JL ; salto relativo se FL< OUT ; imprime valor de reg INC ; reg <- reg+ DEC ; reg <- reg- MUL ; reg <- reg*reg2 DIV ; r<-r/r2; r2<-r%r2 A ordem em que as instruções aparecem no arquivo determinará o seu opcode, contando a partir de zero (NOP). arquivo de entrada MOV AX MOV BX ADD Assembly (.easm) Figura 5. Tabelas de símbolos: OPCODES e REGCO- DES Atividade Assembler (Python) Implemente em Python um assembler que, recebendo como entrada duas tabelas de símbolos (OPCO- DES.esym e REGCODES.esym) e um arquivo contendo um programa em Assembly (*.easm), produza como saída um arquivo texto executável em linguagem de máquina (*.run) (por exemplo, Figura 3) pronto para ser rodado por um processador a ser desenvolvido posteriormente. O arquivo de saída deve ser formado por uma sequência de números inteiros, separados por espaço. Por exemplo: Inicialmente, não é necessário implementar etiquetas para fazer referência a endereços de programa. Comece pela implementação de um programa Python que leia os arquivos *.esym em uma estrutura adequada do Python (dictionary). Pontos a considerar: OPCODES. esym Assembler eassembler.py REGCODES.esym arquivo de saída Linguagem de Máquina (.run). ignore linhas em branco e qualquer texto depois de ; (comentários); 4
5 2. crie dicionários Python para opcodes e regcodes a partir dos arquivos OPCODES.esym e REGCODES.esym (disponíveis no site da disciplina); 3. a partir de cada linha com instruções Assembly do arquivo.easm, crie uma lista formada dos tokens da linha por exemplo, a linha: ADD AX,BX se transforma na lista Python: [ ADD, AX, BX ] ; soma que será, então, analisada para finalmente produzir a saída: 7 4. o Assembler a ser desenvolvido (eassembler.py) deve receber como entrada um arquivo com um programa em Assembly (por exemplo, prog.easm ) e produzir, caso a montagem tenha sido bem sucedida, um arquivo de saída com o mesmo nome do arquivo de entrada, mas com a extensão.run (por exemplo, prog.run ). Atividade 2 Máquina Monoprocessada (C++) Uma vez gerado o arquivo executável em código de máquina pelo programa Assembly, agora será necessário implementar a arquitetura de computador da Figura 4 que execute o programa. A máquina (emachine) a ser implementada deverá conter os seguintes componentes:. Memória: 6M memória principal (RAM). Endereços são inteiros sem sinal (na faixa de a 6MB-) e os conteúdos da memória são palavras (isto é, valores inteiros, possivelmente negativos defina tipo Word). 2. Loader: carrega o programa contido em arquivo.run para a memória principal a partir do endereço init_addr fornecido (que pode ser, por exemplo). 3. CPU: inicializa PC com o endereço de memória init_addr e efetua as seguintes operações até encontrar a operação HALT: a. fetch_instruction: busca na memória a próxima instrução a executar (o endereço onde se localiza esta instrução está contido no registrador PC); b. decode: decodifica (isto é, identifica ) a instrução a partir da mesma tabela de códigos utilizada pelo Assembler (OPCODES.esym); c. fetch_operands: uma vez identificada a instrução, busca na memória os seus respectivos operandos (ou parâmetros) que podem ser de três tipos: () constantes (immediate), (2) registradores ou (3) conteúdos de memória; d. execute: executa a instrução com os parâmetros fornecidos, atualizando o PC. A cada instrução executada, o programa deve imprimir na tela o endereço de memória e a instrução. Por exemplo, se init_addr == : NOP MOV_RM AX,[] 4 INC AX 6 Programa-Teste Implemente um programa em Assembly que calcule o Máximo Divisor Comum (MDC) entre os números contidos nos endereços e de memória colocando o resultado no endereço 2 e o imprimindo na tela. Dica: u, se u == v mdc(u, v) = * mdc(u, v u), se u < v mdc(u v, v), se u > v Gere o arquivo executável usando o Assembler e o rode na máquina monoprocessada. Atividade 3 Implementação de Cache L A próxima etapa do projeto consiste em implementar o modelo de memória cache por Mapeamento Direto (cf. Stallings, ª ed, seção 4.3 leitura obrigatória!). A memória cache é formada por m blocos (chamados cache lines) de K palavras de memória, cada um precedido por uma etiqueta (tag) que identifica o bloco de memória principal sendo atualmente armazenado naquela cache line (Figura 6). 5
6 MEMÓRIA CACHE MEMÓRIA PRINCIPAL linha tag bloco (cache line) endereço 2 K- bloco m- 2 n - tamanho da cache line = K palavras palavra Figura 6. O modelo de memória cache Neste contexto, a CPU solicita o conteúdo da memória fornecendo um endereço que é enviado não mais diretamente à memória principal, mas sim à cache L (nível ), conforme ilustrado na Figura 7. Ao receber esta requisição de acesso a um endereço, o sistema deve verificar se o conteúdo do endereço solicitado está ou não em cache e tomar as medidas necessárias em caso negativo loader RAM terminal AX BX FL PC cache L CX DX controlador (saída) tag cache line direct mapping CPU Figura 7. Arquitetura com memória cache L Note, na Figura 7, que a memória cache se interpõe entre a CPU e a memória principal, oferecendo à CPU a mesma interface de acesso que a memória principal oferecia. Assim, a solicitação para escrita e leitura de uma palavra em um determinado endereço deve ser gerenciada por funções read/write, ao invés de diretamente na posição do vetor. A cache acessará a memória principal (RAM) se o endereço solicitado não estiver mapeado localmente ( cache miss ), seguindo o procedimento ilustrado na Figura 8. Especificação da Memória Cache Uma vez que o tamanho da memória principal é de 6M, a CPU gerará endereços de 24 bits. A capacidade da cache L deverá ser de 892 palavras com cada cache line armazenando 64 palavras (i.e., K=64). Funcionamento Básico da Memória Cache (por Mapeamento Direto) Endereços de 24 bits gerados pela CPU são divididos internamente em blocos de bits como ilustra a Figura 9, onde: w especifica uma das K palavras de uma cache line ou bloco de memória (como K=64, w é um número de 6 bits); r especifica o índice do cache line (um número de 7 bits, uma vez que há 28 cache lines); t é a etiqueta (tag) que corresponde aos bits restantes do endereço e serve para identificar qual o bloco que memória principal que se encontra atualmente na cache line; s corresponde à concatenação dos bits de t e r e representa o número do bloco de memória principal onde está a palavra à qual se deseja acessar. 6
7 CPU endereço s w t r w r 3a tag r t 2 t==t? retorna dado na linha r, posição w w dados cache N: cache miss! S: cache hit! 4 3b busca K bytes da memória a partir do endereço s copia linha r da cache para endereço de mem: t r s s w t r K K Figura 8. Modelo de funcionamento da memória cache por mapeamento direto endereço 24bits (6MB) s w t tag r # linha w -247 (restante) -27 m -63 K bits 7 bits 6 bits Figura 9. Organização dos 24 bits de um endereço de memória. Ao receber a solicitação de uma palavra de memória localizada em um endereço x, extrai-se r e t de x e faz-se então a verificação se t é igual ao tag t contido na linha r da cache line (passo 2 na Figura 8). Se forem iguais, houve um cache hit (i.e., a palavra solicitada está na cache) e então utiliza-se w para retornar à CPU a palavra na posição w dos dados da cache line (passo 3a na Figura 8). Se houver um cache miss, a cache line r corresponde a um outro bloco de memória. Como a cache line pode ter sido alterada, ela é copiada para a memória principal (a partir do endereço formado por [t r ]) (passo 3b na Figura 8), o bloco s da memória principal é trazido para a cache line e, ao mesmo tempo, a palavra no endereço solicitado é retornada à CPU (passo 4 na Figura 8). Assim, a cache é atualizada e próximos acessos a endereços naquela cache line produzirão um cache hit. Considerações de Implementação Embora os endereços utilizados sejam de 24 bits, eles são armazenados em variáveis inteiras sem sinal (de 32 bits). Na realidade, isto não causa problemas, desde que asseguremos que endereços nunca sejam valores maiores do que Lembre-se que deslocar bits n posições à esquerda corresponde a multiplicar o número por 2 5. Deslocar n bits à direita corresponde a dividir por 2 5. Para se obter n os bits à direita do número x, basta calcular: x mod 2 5 (mod é o resto da divisão) ou utilizar operadores bit a bit da linguagem C++. Para testes, faça o seu programa imprimir na tela quando houver cache miss e qual endereço que o causou. Atividade 4 Máquina Multiprocessada sem Coerência de Cache A fase seguinte do projeto consiste em simular o funcionamento de uma máquina com múltiplos processadores (ou núcleos), cada um com a sua própria memória cache L e rodando em paralelo cada um o seu programa. Programas distintos executados pelas CPUs ocupam espaços distintos de memória conforme ilustrado na Figura. Altere o seu programa da fase anterior de forma a: carregar n programas (arquivos.run) em diferentes posições de memória (o loader será executado para carregar na memória cada programa); criar n instâncias de CPUs e suas respectivas caches L, todas conectadas à mesma memória principal (RAM) e disparar a execução de cada programa ( por CPU) como um thread independente (o endereço na memória principal do início de cada programa deverá ser atribuído ao registrador PC da CPU que o executará); o programa encerrar-se-á quando todos as n instâncias de CPU executarem a instrução HALT 7
8 (i.e., quando todos os threads de CPU terminarem); o valor de n (lido do usuário) deve estar no intervalo de a 32. MEMÓRIA PRINCIPAL acessadas. Ou seja, o objetivo é permitir que as variáveis permaneçam em cache com acessos de leitura e escrita e utilizar um protocolo (i.e., algoritmo) de coerência de cache para manter a consistência das variáveis compartilhadas que possam estar ao mesmo tempo em mais de uma cache. CPU cache L prog O protocolo de hardware mais utilizado (arquitetura x86) é conhecido como MESI. Ele visa resolver o problema da coerência de caches associando 2 bits a cada cache line para indicar seus 4 possíveis estados: CPU CPUn cache L cache L prog prog n Figura. Arquitetura com n processadores e suas respectivas caches L Note que este esquema sofre de um problema de projeto: se, por exemplo, duas cache lines de caches diferentes espelham o mesmo bloco de RAM, se uma CPU alterar o seu valor, a outra poderá estar usando valores desatualizados. Isto é bem possível que aconteça sempre que as CPUs estiverem rodando threads no mesmo processo, tipicamente, compartilhando variáveis na memória. Atividade 5 Multiprocessador Simétrico com Coerência de Cache Quando múltiplas cópias dos mesmos dados existem em diversas caches simultaneamente e os processadores podem alterar livremente as suas cópias, o resultado pode ser uma visão inconsistente da memória, conforme ilustrado na Figura. A tabela abaixo resume o significado de cada estado: M E S I. Modificada. A cache line foi alterada (i.e., difere do bloco da memória principal) e está disponível somente nesta cache. 2. Exclusiva. A cache line é a mesma da memória principal e está disponível apenas nesta cache. 3. Compartilhada (Shared). A cache line é a mesma da memória principal e pode estar presente também em outra cache. 4. Inválida. A cache line não contém dados válidos. cache line válida? SIM SIM SIM NÃO cópia na memória desatualizadzadzada atuali- atuali- princ.?? cópias em outras TAL- NÃO NÃO caches? VEZ NÃO escrita nesta cache line? não atualiza mem. princ. não atualiza mem. princ. atualiza mem. princ. e cache atualiza diretamente a mem. princ. O funcionamento do protocolo MESI está ilustrado por meio do diagrama de estados da Figura 2 (veja descrição detalhada no livro-texto Stallings, 7.3). Implementação Incremente a implementação do desenvolvida até o momento de forma a incorporar a coerência entre cache através do protocolo MESI. Escreva 2 programas em Assembly que somam (em paralelo) os valores de a.. e de.. a 2.., respectivamente, armazenando os seus resultados cumulativamente em posições de memória que ocupam o mesmo bloco de memória (e, portanto, a mesma cache line). Figura. O problema da coerência de caches Inclua um mecanismo (e.g., flag) para habilitar/desabilitar a coerência de caches e teste o seu programa comparando os resultados obtidos sem a coerência de cache e com o protocolo MESI em funcionamento em termos de correção do resultado calculado e do tempo gasto com o cálculo em cada caso. Se a CPU alterar a sua cópia em cache de dados espelhados em outras caches, as CPUs e n deveriam invalidar suas cópias de forma a serem atualizadas quando 8
9 linha na cache do processador iniciador linha na cache investigada ( snooping ) I RMS S RH I SHW S SHR WM RME WH SHW SHR SHW SHR RH M WH E RH M E WH preenche cacheline a partir da mem. principal RH Read Hit WH Write Hit atualiza mem. principal a partir da cache line RMS Read Miss, Shared WM Write Miss RME Read Miss, Exclusive SHR Snoop hit on read SHW Snoop hit on write Figura 2. Diagrama de estados do protocolo MESI 9
Primeiro Trabalho de POO Emulador para o Processador Winter
Primeiro Trabalho de POO Emulador para o Processador Winter Prof. Pedro Carlos da Silva Lara Entrega: 21/10/2014 1 Informações Gerais Winter é um processador hipotético especificado com fim puramente acadêmico.
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores
Leia maisSSC510 Arquitetura de Computadores 1ª AULA
SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código
Leia maisMicroprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios
Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisLISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO
LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações
Leia maisNEANDERWIN. Algumas características do processador Neander são:
NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui
Leia maisTrabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas
Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação
Leia maisOrganização de Computadores
Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização
Leia maisDepartamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro
UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC Sistemas Digitais 2 o Semestre Projeto CPU Data da apresentação: 26/27 de outubro
Leia maisOrganização e Arquitetura de Computadores INTRODUÇÃO
Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo
Leia maisDepartamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I.
UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica
Leia maisInfraestrutura de Hardware. Implementação Monociclo de um Processador Simples
Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço
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 maisArquitetura e Organização de Processadores. Aula 4. Pipelines
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de
Leia maisProf. Leonardo Augusto Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados
Leia maisSolução Lista de Exercícios Processadores
Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação
Leia maisJosé Augusto Fabri. Assembly Básico
José Augusto Fabri Assembly Básico Aritmética em Modo Hexadecimal Operações da adição e subtração em hexadecimal (comando H) Número negativos: Que número representa o FFFF? Aritmética em Modo Hexadecimal
Leia maisção de Computadores I
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura
Leia maisORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira
ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável
Leia maisAula 14 Funcionamento de Processadores (Visão específica)
Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm
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 mais2. A influência do tamanho da palavra
PROCESSAMENTO 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
Leia maisLinguagem de Montagem do NeanderX
Universidade Estácio de Sá Curso de Informática Arquitetura de Computadores Linguagem de Montagem do NeanderX 11.5.2006 Geração Programa Executável Linguagens de Programação As linguagens de programação
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 maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter
Leia maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções
Leia maisARQUITETURA DE COMPUTADORES
ARQUITETURA DE COMPUTADORES Arquitetura de Von Newmann Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Vídeos Vídeo aula RNP http://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_com
Leia maisArquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016
Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09
Leia maisAula 12: Memória: Barramentos e Registradores
Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34
Leia mais2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE
Especificação do Projeto Simulador MIPS Superescalar CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até três alunos Última atualização: 5/junho/2018 1. Objetivo Exercitar e
Leia maisORGANIZAÇÃO DE COMPUTADORES
Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e
Leia maisProcessador: Conceitos Básicos e Componentes
Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)
Leia maisAGT0001 Algoritmos Aula 01 O Computador
AGT0001 Algoritmos Aula 01 O Computador Karina Girardi Roggia karina.roggia@udesc.br Departamento de Ciência da Computação Centro de Ciências Tecnológicas Universidade do Estado de Santa Catarina 2016
Leia maisUCP: Construindo um Caminho de Dados (Parte III)
UCP: Construindo um Caminho de Dados (Parte III) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides do Fernanda Passos Cristina Boeres
Leia maisInfraestrutura de Hardware. Funcionamento de um Computador
Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia
Leia maisção de Computadores I
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 4 1. Projeto da Arquitetura
Leia maisInfraestrutura de Hardware. Implementação Multiciclo de um Processador Simples
Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e
Leia maisA Arquitetura: conjunto de instruções
A Arquitetura: conjunto de instruções código instrução comentário 0000 NOP Nenhuma operação 0001 STA MEM() AC 0010 LDA AC MEM() 0011 ADD AC MEM() + AC 0100 OR AC MEM() OR AC 0101 AND AC MEM() AND AC 0110
Leia maisAULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
Leia maisPorque usar um montador? Formato de uma linha de código fonte:
Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob
Leia maisInstruções. Maicon A. Sartin
Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 3ª Aula Visão Geral e Conceitos Básicos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Copyright William Stallings & Adrian J Pullin Tradução, revisão e
Leia maisProcessador. Processador
Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes
Leia maisUnidade de Controle. UC - Introdução
Unidade de Controle Prof. Alexandre Beletti (Cap. 3 Weber, Cap.8 Monteiro, Cap. 10,11 Stallings) UC - Introdução Para gerenciar o fluxo interno de dados e o instante em que ocorrem as transferências entre
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução
Leia maisUNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III
UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III Orientações: Esta lista de Exercícios deve ser entregue juntamente com a
Leia maisCONJUNTO DE INSTRUÇÕES
CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA
Leia maisMicroprocessadores CPU. Unidade de Controle. Prof. Henrique
Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um
Leia maisO Computador Neander Neander - Computador Hipotético Didático
Neander - Computador Hipotético Didático [Weber 2001] Fundamentos de Arquitetura de Computadores. Raul Weber - Ed. Sagra. Site - ftp://ftp.inf.ufrgs.br/pub/inf107/ Arquitetura: características gerais Largura
Leia maisProgramação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I
SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Programação de Microprocessadores Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários
Leia mais1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é
1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro
Leia maisRegistradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture
Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture
Leia maisAs 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE
SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Como conhecer/estudar um Microprocessador/Microcontrolador As 5 partes fundamentais Programação de Microprocessadores Prof: Evandro L. L. Rodrigues Arquitetura
Leia maisFigura 1. Datapath do MIPS Superescalar Especulativo CES SE
Especificação do Projeto Simulador MIPS Superescalar Especulativo CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até quatro alunos 1. Objetivo Exercitar e fixar conhecimentos
Leia maisNeander - características
NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Entrada e Saída Slide 1 Entrada e Saída Dispositivos Externos E/S Programada Organização e Arquitetura de Computadores I Sumário E/S Dirigida por Interrupção
Leia maisCONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)
CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma
Leia maisX Y Z A B C D
29) A seguinte tabela verdade corresponde a um circuito combinatório de três entradas e quatro saídas. Obtenha a tabela de programação para o circuito em um PAL e faça um diagrama semelhante ao apresentado
Leia maisConceitos básicos sobre computadores (continuação)
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores (continuação) Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário O que é um computador e
Leia maisUniversidade Federal de Mato Grosso do Sul. Implementação de um Sistema Simplificado de Memória Cache
Universidade ederal de Mato Grosso do Sul acom - aculdade de Computação Linguagem de Programação Orientada a Objetos Prof. Me. Liana Duenha Implementação de um Sistema Simplificado de Memória Cache O objetivo
Leia maisArquitetura: características gerais
Neander - Computador Hipotético Didático [Weber 2001] Fundamentos de Arquitetura de Computadores. Raul Weber - Ed. Sagra. Site - ftp://ftp.inf.ufrgs.br/pub/inf107/ Arquitetura: características gerais Largura
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Leia maisTecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)
Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora
Leia maisIntrodução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisTodo processador é constituído de circuitos capazes de realizar algumas operações primitivas:
Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo
Leia maisBarramento. Prof. Leonardo Barreto Campos 1
Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;
Leia maisAula 19: UCP: Construindo um Caminho de Dados (Parte III)
Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (III) FAC 1 /
Leia maisMAC0329 Álgebra booleana e circuitos digitais DCC / IME-USP Primeiro semestre de 2017
MAC0329 Álgebra booleana e circuitos digitais DCC / IME-USP Primeiro semestre de 2017 Projeto de circuito 2 CPU/MAC0329 Data de entrega: até 30/06/2017 Neste projeto, o objetivo é a construção do circuito
Leia maisSSC510 Arquitetura de Computadores. 8ª aula
SSC510 Arquitetura de Computadores 8ª aula ARQUITETURAS MIMD COM MEMÓRIA COMPARTILHADA COERÊNCIA DE CACHE PROFA. SARITA MAZZINI BRUSCHI Memórias Cache Políticas de Atualização As memórias caches possuem
Leia maisHistórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral
Processador de uso geral 1. Introdução: Um sistema digital completo é constituído de uma unidade controle e o bloco operacional. Na figura a seguir alguns elementos externos necessários para completar
Leia maisUNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES
Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO
Leia maisConjunto de Instruções e Modelos de Arquiteturas
Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira
Leia maisSEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga
SEL-614 MICROPROCESSADORES E APLICAÇÕES Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador
Leia maisAula 16: UCP: Conceitos Básicos e Componentes
Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34
Leia maisINSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA
INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Engenharia de Eletrónica e Telecomunicações e de Computadores e Engenharia Informática e de Computadores INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA 1.º Trabalho
Leia maisCPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3
CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisMemória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP
Departamento de Ciência da Computação - UFF Memória Cache Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Memória Cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade
Leia maisCOMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto
COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais
Leia maisUniversidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever
Leia maisComputador Cleópatra
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Interface Hardware e Software Alexandre Amory Edson Moreno 2 / 9 Nas Aulas Anteriores Vimos como descrever e implementar circuitos combinacionais
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação
Leia maisAmbiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4
Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para
Leia mais4. Modelo de Programação do DLX Introdução
4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada
Leia maisULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.
PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação
Leia maisUCP: Caminho de Dados (Parte II)
UCP: Caminho de Dados (Parte II) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF) UCP: Caminho
Leia maisUCP 8051 (parte 02) Professor Adão de Melo Neto
UCP 85 (parte 2) Professor Adão de Melo Neto Barramento de endereços UCP 85 É unidirecional (6 BITS), porque a informação flui apenas em uma direção, da CPU para a memória ou para os elementos de E/S.
Leia maisInstruções de Máquina
Instruções de Máquina Operação básica (primitiva) que o hardware é capaz de executar diretamente Conjunto de bits que indica ao processador uma operação que ele deve realizar O projeto de um processador
Leia mais