3º Trabalho de Laboratório. Unidade de Controlo Microprogramada

Tamanho: px
Começar a partir da página:

Download "3º Trabalho de Laboratório. Unidade de Controlo Microprogramada"

Transcrição

1 MICROPROCESSADORES 3º Trabalho de Laboratório Unidade de Controlo Microprogramada Objectivo: Pretende-se que os alunos compreendam a metodologia usada na implementação, programação e teste de uma Unidade de Controlo Microprogramado de um computador de Ciclo Múltiplo, assim como a familiarização dos conceitos de pilha e subrotina. O trabalho terá uma duração de 2 semanas, devendo o relatório ser entregue na aula de laboratório da segunda semana. O trabalho deverá ser preparado fora do horário de laboratório, destinando-se as 4 horas de laboratório à resolução de eventuais problemas, e à demonstração do trabalho realizado. 1 INTRODUÇÃO Pretende-se programar uma Unidade de Controlo Microprogramado para um computador elementar de Ciclo Múltiplo baseado numa Unidade de Processamento de 6 bits. O computador será integralmente fornecido pelo corpo docente sob a forma de um projecto de Xilinx, sendo o trabalho centrado na microprogramação do conjunto de instruções na ROM da Unidade de Controlo, e numa subrotina e programa principal em código Assembly que efectua multiplicações de operandos de 6 bits armazenados na memória RAM. A arquitectura do computador encontra-se na figura 1 abaixo. MR 0 1 N C MUX R IRW IR Dout[15:0] DSel ASel Data in UA (9 x 6 bits) A B RW BSel SPC SP PC Dout[5:0] PCC 01 Opcode L / CNT NADR MC MR 0 1 MUX C CAR Address ROM (64 x 35 bits) Data out MC Restantes Sinais de Controlo MA 1 0 MUX A X 6 6 UF UF out Y MUX B Flags MD FW Reg MB PC 0 1 MUX D Concat. 0 C,Z Data in Dout[5:0] MUX M 6 Address RAM (64 x 16 bits) Data out Write Dout[15:0] MM MW Figura 1- Arquitectura elementar de um computador de ciclo múltiplo Relativamente à identificação de Restantes Sinais Controlo da figura 1, esta corresponde respectivamente a IRW (1 bit), DT (1 bit), M Dsel (2 bits), RW (1 bit), AT (1 bit), M Asel (2 bits), BT (1 bit), M Bsel (2 bits), MA (1 bit), MB (2 bits), FS (3 bits), FW (1 bit), MW (1 bit), MD (1 bit), MM (2 bits), PCC (2 bits), SPC (2 bits). 2 UNIDADE DE PROCESSAMENTO (UP) A Unidade de Processamento (UP) de 6 bits a controlar assemelha-se àquelas usadas nas sessões de laboratório anteriores. A UP é constituída por uma Unidade de Armazenamento (UA), uma Unidade Funcional (UF) e 2 Muxs. Unidade de Armazenamento (UA). A UA dispõe de 9 registos: R0, R1,..., R7 e Rt com a codificação 000, 001,..., 111 para os registos R0 a R7 respectivamente. Os registos R0 a R7 podem ser endereçados pelas instruções assembly armazenadas na RAM (através do Instruction Register (IR)). Contudo, o registos Rt não. Este destina-se exclusivamente a ser utilizado como armazenamento temporário na execução das instruções microprogramadas guardadas na ROM. 1 de 10

2 Dito de outra forma, o registo Rt é invisível para o utilizador (uma vez que este não os pode referenciar nas suas instruções assembly). Cada registo tem 6 bits. Quando RW=1, a entrada de dados da UA é armazenada no registo endereçado por Dsel. Quando RW=0, nenhum registo da UA é escrito. O acesso aos registos da UA é feito através das linhas DSEL, ASEL e BSEL de 4 bits (ver figura 1) que estão ligadas ao resto do computador como se mostra na figura 2 abaixo. Figura 2- MUX s de selecção dos bits de controlo ASel, BSel e DSel Note que os 3 bits de menor peso de Asel, Bsel e Dsel podem ter origens diversas (mas provêm sempre de bits contidos no Instruction Register) e são controlados pelos sinais MAsel, MBsel e MDsel gerados na Unidade de Controlo (UC). O bit de maior peso de Asel, Bsel e Dsel é denominado AT, BT e DT, respectivamente. Os sinais AT, BT e DT são também gerados na UC. Note que estas ligações confirmam o funcionamento anteriormente descrito: o utilizador só pode referenciar nas suas instruções assembly os registos R0 a R7; o acesso ao registo Rt exige a manipulação dos bits AT, BT e DT que estão apenas ao alcance da UC. Unidade Funcional (UF). A UF é semelhante à do laboratório 2, com a excepção de que os operandos têm agora 6 bits (e não 4). As linhas FS (Function Selection) determinam qual a micro-operação executada pela UF: Tabela 1- Micro operações realizadas pela unidade funcional FS 2 FS 1 FS 0 Micro-operação Descrição 000 W = X Transferência de X 001 W = Y Transferência de Y 010 W = X+1 Incremento de X 011 W = X-1 Decremento de X 100 W = X+Y Adição 101 W = X-Y Subtracção 110 W = X AND Y Operação lógica AND 111 W = X OR Y Operação lógica OR A micro-operação executada na UF afecta as flags Negative (N) e Carry (C). Estas flags podem ser guardadas num registo após a execução de cada instrução, consoante o sinal de controlo FW: se FW=1 as flags são armazenadas no registo Reg indicado na figura 1. Muxs. O Mux A selecciona o operando X da UF: quando MA=0, o operando X da UF é o registo da UA escolhido pelas linhas Asel, quando MA=1 o operando X é o dado (Op) contido nos 6 bits menos significativos do Instruction Register - IR[5:0]. O Mux B selecciona o operando Y da UF: quando MB=0, o operando Y é o registo da UA escolhido pelas linhas Bsel; quando MB=1, o operando Y é o dado contido nos 6 bits menos significativos das linhas Dout da RAM; quando MB=2, o operando Y é o registo Stack Pointer (SP). 3 ARQUITECTURA DO COMPUTADOR E DA UNIDADE DE CONTROLO (UC) A arquitectura do computador implementado caracteriza-se essencialmente por possuir uma Unidade de Controlo microprogramado (ROM, CAR, Mux R e Mux C) e uma memória comum para dados, programa e pilha (RAM). Além destas unidades, distinguem-se a UP (constituída pela UA e pela UF), vários Mux s e ainda 3 registos: o Program Counter (PC), o Instruction Register (IR) e o Stack Pointer (SP). 2 de 10

3 3.1 Formato das Instruções Assembly As instruções de Assembly a utilizar neste computador são de 16 bits e possuem formatos de acordo com o tipo de endereçamento utilizado como indicado na figura 3: em que: Figura 3- Modos de endereçamento e formato das instruções OpCode (4 bits): código da instrução assembly a executar; DR (3 bits): selecciona um dos registos R0 a R7; RB (3 bits): selecciona um dos registos R0 a R7; RA (3 bits): selecciona um dos registos R0 a R7; Op (6 bits): operando constante de 6 bits; Address (6 bits): constante de 6 bits em formato binário com o endereço de uma posição de memória RAM (endereço efectivo); Offset (6 bits): constante de 6 bits em formato de complemento para 2 (permite indicar saltos para a frente ou para trás). 3.2 Memória e Registos auxiliares A memória RAM tem uma dimensão de 64x16 bits, e contém o programa, os dados e a pilha (stack). Dado que os registos da UA têm 6 bits, e que as instruções de programa têm 16, torna-se óbvio que nos endereços em que a memória é utilizada para guardar dados a sua capacidade não é completamente aproveitada, pelo que as operações que guardam e buscam dados na memória só utilizam os bits menos significativos da memória. A este respeito, notar o bloco de concatenação de zeros na figura 1. Dado que a memória é comum, as regiões de código, dados e pilha têm de se apresentar disjuntas no espaço de endereçamento (para evitar sobreposições). Assim: O programa a ser executado deve ser colocado a partir do endereço 0 (e ocupa as posições seguintes de memória); O topo da pilha é o endereço 63 (ou 3Fh), e cada operação que coloca dados na pilha decrementa esse endereço; Os dados ficarão colocados numa área situada entre o programa e a pilha como indicado na figura 4 explicada mais à frente. O acesso à memória é feito a partir do Mux M, da seguinte forma: Se MM=0, o endereço da RAM provém do registo da UA seleccionado por Bsel; 3 de 10

4 Se MM=1, o endereço da RAM provém do registo Stack Pointer (SP). Note que o SP contém o endereço da última posição em que se acedeu à pilha e é inicializado com o valor 00h 1 ; Se MM=2, o endereço da RAM provém do Program Counter (PC). Note que o PC contém o endereço da instrução do programa a ser executada (i.e., aponta para a instrução a ser executada). É também inicializado com o valor 00h. De notar que as operações CALL e RET, utilizadas para manipular subrotinas, utilizam a pilha para guardar o conteúdo do PC nos 6 bits de menor peso da palavra da memória. O PC e o SP representados no diagrama de blocos não são simples registos, mas sim unidades mais complexas que contêm diversas funcionalidades: O SP é um registo de 6 bits controlado pelo sinal SPC (2 bits). Quando SPC=0, o valor de SP não é alterado (hold). Quando SPC=1, o SP é incrementado de uma unidade (SP SP+1). Quando SPC=2, o SP é decrementado de uma unidade (SP SP-1); O PC é um registo de 6 bits controlado pelo sinal PCC (2 bits). Quando PCC=0, o valor de PC não é alterado. Quando PCC=1, o PC é incrementado de uma unidade (PC PC+1). Quando PCC=2, o registo PC é carregado com os 6 bits menos significativos da RAM (PC address). Quando PCC=3, são adicionados ao PC os 6 bits menos significativos da RAM (PC PC + offset). Atenção que esta informação, offset e address, provém da RAM e não do registo IR. ATENÇÃO que o valor do campo offset e address que devem ser colocados à entrada do PC provêm da memória RAM e não do registo IR. 1 Isto deve-se ao facto de a instrução PUSH começar por decrementar o SP, pelo que a primeira posição a ser utilizada no stack será a 63, ou seja 3Fh (o SP passa de para ) 4 de 10

5 3.3 Conjunto de Instruções O conjunto de instruções que se pretendem implementar no computador durante a primeira semana estão descritas na tabela 2: Tabela 2- Instruções assembly a implementar na 1ª semana Opcode Operação Modo Endereçamento Descrição Comentários CMP RA,M[RB] Registo (RA) M[(RB)] Compara RA com o dado contido na posição de memória endereçada por RB INC DR,RA Registo MOV DR,RA Registo (DR) (RA)+1 (DR) (RA) Incrementa de uma unidade o conteúdo do registo RA e guarda o resultado em DR Move o conteúdo do registo RA para o registo DR JMP address Directo (PC) address Salto incondicional para a posição de memória address SUB DR,RA Registo (DR) (DR) - (RA) Subtrai RA a DR e guarda o resultado em DR CALL address Directo SP SP-1, M[(SP)] PC, PC address Chama subrotina RET Implícito PC M[(SP)], SP SP+1 Retorna de subrotina CLR M[RA] Registo M[RA] 0 Coloca todos os bits da posição de memória endereçada por RA a zero STR M[Op],RB Imediato M[(Op)] RB PUSH RA,RB Registo SP SP-1, M[(SP)] (RA), SP SP-1, M[(SP)] (RB), POP RA,RB Registo (RA) M[(SP)], SP SP+1 (RB) M[(SP)], SP SP+1 Escreve o conteúdo de RB na posição de memória endereçada pelo Operando. Guarda RA e RB no topo da pilha Coloca em RA e RB o topo da pilha INC M[DR] Registo M[(DR)] ) M[(DR)]+1 Incrementa a posição de memória endereçada por DR JC offset Relativo C=1: PC PC + offset Se C=1, move PC de offset posições JNC offset Relativo C=0: PC PC + offset Se C=0, move PC de offset posições SUBI DR,M[RB],Op Imediato (DR) M[(RB)] -Op Subtrai o valor do operando ao conteúdo de memória endereçado por RB SWAP RA,RB Registo (RA) (RB), (RB) (RA) Troca os conteúdos dos registos RA e RB Os grupos devem programar apenas parte das instruções apresentadas na tabela 2 de acordo com o número do grupo como especificado na tabela 3. Todos os grupos devem implementar as instruções com opcode 0 a 6. Tome atenção ao ponto porque apesar de não ser necessário microprogramar algumas instruções os alunos devem apresentar os fluxogramas ASM de todas as instruções da tabela. Tabela 3- Distribuição de trabalho para os vários grupos Grupo OPCODE de 10

6 A ROM programada e fornecida pelo corpo docente que os alunos deverão utilizar na segunda semana implementa as instruções descritas na tabela 4: Tabela 4- Instruções assembly fornecidas para a 2ª semana Opcode Operação Modo Endereçamento Descrição Comentários SUM DR,RB,RA Registo (DR) (RA) + (RB) Soma RA a RB e guarda o resultado em DR MOVI DR,Op Imediato DEC DR Registo MOVSP DR Registo (DR) Op (DR) (DR)-1 (DR) (SP) Carrega a constante Op (com extensão de sinal) em DR Decrementa de uma unidade o conteúdo do registo DR Copia SP para DR SUMI DR, RB,Op Imediato (DR) (RB) + Op Soma RB ao Operando e guarda o resultado em DR SUB DR,RB,RA Registo (DR) (RB) (RA) Subtrai RA a RB e guarda o resultado em DR CALL address Directo SP SP-1,M[(SP)] PC, PC address RET Op Imediato PC M[(SP)] + 1, SP SP+1+(Op) Chama subrotina Retorna de subrotina e liberta (Op) posições da pilha. Modifica as flags PUSH RA Registo SP SP-1, M[(SP)] (RA) Guarda RA no topo da pilha POP RA Registo (RA) M[(SP)], SP SP+1 Coloca em RA o topo da pilha JMP offset Relativo (PC) PC + offset Salto incondicional de offset posições JN offset Relativo N=1: PC PC + offset Se N=1, move PC de offset posições LD DR,M[RB] Registo STR M[RB],RA Registo (DR) M[(RB)] M[(RB)] (RA) Copia o dado na posição de memória endereçada por RB para DR Escreve o conteúdo de RA na posição de memória endereçada por RB CMP RB,Op Imediato RB Op Compara RB ao operando e modifica os bits de estado NEG DR Registo DR - DR Inverte o sinal do registo DR 3.4 Unidade de Controlo Microprogramado A UC é constituída por uma ROM de 64x35 bits, pelo Control Address Register (CAR), que contém o endereço da microinstrução a ser executada e inicializado a 0, e pelos Muxes C e R, cuja função é controlar o sequenciamento das microinstruções contidas na ROM (ver abaixo a descrição mais pormenorizada). O CAR não é um simples registo, mas sim um contador que pode ser incrementado (L/CNT = 1) ou carregado em paralelo (L/CNT =0). A ROM deverá conter os microprogramas que permitem controlar o computador. Cada instrução de assembly contida na RAM contém um OpCode de 4 bits que corresponde aos 4 bits menos significativos do endereço da ROM. A palavra da ROM contida no endereço que é constituído por 01 seguido do OPCODE, marca o início do microprograma que executa essa instrução de assembly. Por exemplo, se a instrução assembly MOVI DR,Op, que carrega o registo DR com a constante Op, tivesse o OpCode = AAAA o início do microprograma que executa essa instrução começaria no endereço 01AAAA da ROM. O formato de cada palavra da ROM de controlo (35 bits) é o seguinte: 6 de 10

7 NADR MC MR IRW DT M Dsel RW AT M Asel BT M Bsel M A MB FS FW MW MD MM PCC SPC Em que: NADR (6 bits): Next Address. Endereço da próxima microinstrução na ROM; MC (1 bit): selecciona endereço a carregar no CAR (0=NADR, 1=01 OpCode); MR (2 bits): Mux de Selecção de Carregamento e Controlo do CAR (00=carrega CAR, 01=incrementa CAR, 10=salta se N=1, 11=salta se C=0); IRW (1bit): controla a escrita no Instruction Register (0=hold; 1=write); DT (1bit): bit mais significativo do sinal Dsel. Permite aceder ao registo Rt quando DT=1; M Dsel (2 bits): selecciona os 3 bits menos significativos do sinal Dsel de acordo com a figura 2; RW (1 bit): controla a escrita nos registos da UA (0=hold; 1=write); AT (1 bit): bit mais significativo do sinal Asel. Permite aceder ao registo Rt quando AT=1; M Asel (2 bits): selecciona os 3 bits menos significativos do sinal Asel de acordo com a figura 2; BT (1 bit): bit mais significativo do sinal Bsel. Permite aceder ao registo Rt quando BT=1; M Bsel (2 bits): selecciona os 3 bits menos significativos do sinal Bsel de acordo com a figura 2; MA (1 bit): selecciona operando X da UF (MA=0: X=registo da UA seleccionado por Asel; MA=1: X=constante proveniente do 6 bits menos significativos do IR); MB (2 bits): selecciona operando Y da UF (MB=00: Y = registo da UA seleccionado por Bsel; MB=01: Y=dado contido na RAM; MB=10: Y=SP); FS (3 bits): selecciona operação a executar na UF de acordo com a tabela 1; FW (1 bit): controla a escrita nos registos que guardam as flags C e N (0=hold; 1=write); MW (1 bit): controla a escrita na RAM (0=read;1=write); MD(1 bit): controla os dados escritos na RAM. Se MD=0 é escrito na RAM o conteúdo do registo endereçado por ASel. Se MD=1 é escrito na RAM o valor do PC. MM (2 bits): selecciona endereço para RAM (MM=00: endereço provém do registo da UA escolhido por Bsel; MM=01: endereço provém de SP; MM=10: endereço provém do PC); PCC (2 bits): controla a operação do PC (PCC=00: hold; PCC=01: PC PC+1; PCC=10: PC address; PCC=11: PC PC + offset); SPC (2 bits): controla a operação do SP (SPC=00: hold; SPC=01: SP SP+1; SPC=10: SP SP-1). 4 PROJECTO O trabalho consistirá essencialmente no projecto e programação das microinstruções que implementam na UC o conjunto de instruções assembly definido para o computador. O trabalho da segunda semana consiste em fazer um programa utilizando as instruções assembly disponíveis numa ROM previamente programada pelo corpo docente. 4.1 Microprogramação do Conjunto de Instruções (1ª semana) Identifique justificando, quais das instruções da tabela 2 necessitam de mais que uma microinstrução para ser implementadas (para além do IF e o EX0) Defina quais os valores das variáveis de controlo da ROM para todas as instruções indicadas na tabela 2 que só necessitam de uma microinstrução para ser implementadas. 7 de 10

8 4.1.3 Crie os fluxogramas ASM das microrotinas das instruções que necessitam de mais do que 1 microinstrução, indicando mnemónicas, endereços e transferências de registos em cada estado, para todas as instruções indicadas na tabela 2. Os alunos devem ter o cuidado de realizar os diagramas com o mínimo de estados possíveis, correspondendo a cada estado um endereço da ROM Note que só é possível armazenar dados nos bits menos significativos da memória RAM. Indique o que devia alterar na estrutura do computador para que fosse possível ter duas microinstruções distintas STRDOWN M[RB],RA e STRUP M[RB],RA em que o armazenamento do registo RA na memória é feito respectivamente nos bits mais significativos (STRUP) ou nos menos significativos (STRDOWN) Note também que a Unidade Funcional descrita na tabela 1 não possui forma de fazer deslocamentos. No entanto a implementação de um controlo microprogramado alarga a flexibilidade das operações da UF. Indique o fluxograma ASM da instrução SHL DR, RA (shift à esquerda de RA bits do registo DR) sem alterar a arquitectura definida. Por exemplo, se DR= e RA = então após esta instrução o conteúdo de DR será Programação da ROM (1ª semana) Preencha uma tabela com o conteúdo da ROM (Anexo A) de acordo com as alíneas e apenas para as instruções com opcode 0 a 6 e para a instrução especificada na tabela 3 de acordo com o número do grupo e também para as microinstruções Instruction Fetch (IF) e Execute (EX0). Apresente a tabela em binário em que as colunas correspondem a cada variável de controlo. Os endereços da ROM a que não forem necessários (porque nenhum grupo irá programar toda a tabela) devem ser deixados a branco. Não se esqueça que todas as indiferenças devem ser assinaladas Programe e teste a ROM no Xilinx. 4.3 Programa assembly (2ª semana) Na segunda semana e a partir das instruções da tabela 4 os alunos deverão criar um programa que execute a multiplicação de números binários de 6 bits (positivos ou negativos no formato complemento para 2). Antes de escrever o código quer do programa principal quer da rotina, os alunos deverão realizar um fluxograma dos mesmos descrevendo a metodologia usada na implementação Rotina: Os alunos deverão criar uma rotina em código assembly que execute a multiplicação de dois números binários de 6 bits (positivos ou negativos no formato complemento para 2). O multiplicando e o multiplicador assim como o resultado deverão ser passados/devolvido à rotina de acordo com a tabela seguinte: Tabela 5- Descrição da subrotina a implementar para os vários turnos Turno Multiplicando Multiplicador Resultado Descrição 3ª 8h30m 3ª 12h00 3ª 15h00 R0 R1 SP: end SP: op R7 R7 SP: end SP: end R0 5ª SP: op SP:op R7 6ª R7 SP: op SP: end Os operandos são passados à rotina pelos registos R0 e R1 e o resultado deve ser colocado num endereço de memória passado pela pilha. Os operandos são passados à rotina respectivamente pelo registo R7 e por um valor passado pela pilha. O resultado é retornado através do registo R7 Os endereços de memória que contêm os operandos são passados pela pilha e o resultado é devolvido através do registo R0. Os operandos são passados pela pilha e o resultado é devolvido através do registo R7. Os operandos são passados respectivamente pelo registo R7 e pela pilha e o resultado deve ser colocado num endereço de memória passado pela pilha. A multiplicação deverá ser realizada usando o algoritmo de somas sucessivas. Por exemplo, 3*(-1) = (-1)+(-1)+(-1). Ignore os caso em que o resultado não cabe nos 6 bits. 8 de 10

9 4.3.2 Programa principal: Os alunos devem criar um programa principal que deverá chamar a rotina especificada anteriormente de forma a executar 3 multiplicações distintas com dados contidos na memória. A programação das memórias de microinstruções (ROM) e de instruções/dados/pilha (RAM) está de acordo com o documento explicativo apresentado no trabalho laboratorial 2. Os dados a multiplicar assim como o seu resultado devem ser colocados na memória RAM de acordo com a figura seguinte: Figura 4- Distribuição de endereços da RAM para dados, programa e pilha Na aula o docente indicará quais os valores A a F que devem ser colocados nos endereços de memória indicados na figura de forma a testar o correcto funcionamento do programa criado pelos alunos. Pode acontecer que o programa mais a rotina criados pelos alunos necessitem de mais do que 50 endereços. Nesse caso a figura 4 não será possível de respeitar e os alunos devem deslocar a zona de dados mais para baixo, retirando espaço reservado para a pilha. Os grupos que o fizerem serão penalizados no relatório. 5 FASEAMENTO E RELATÓRIO O trabalho decorrerá durante 2 semanas, devendo ser discutido e apresentado durante a segunda aula de laboratório. As aulas de laboratório destinam-se, essencialmente, à correcção de erros e bugs e a tirar dúvidas que possam existir sobre a implementação do projecto. O trabalho deverá ser planeado e desenvolvido, tanto quanto possível, fora do horário de laboratório, sendo impossível realizá-lo sem qualquer preparação prévia e apenas durante as 4 horas de laboratório. Tendo em consideração estes aspectos, o trabalho desenvolvido será avaliado por fases. Assim: 1ª SEMANA No início da 1ª aula de laboratório os alunos deverão apresentar o trabalho correspondente às alíneas 4.1 e 4.2. Em particular, deve ser apresentada a tabela do ponto 4.2.1, os fluxogramas ASM do ponto e as respostas às perguntas feitas nos pontos e Serão fornecidas várias RAM (ver anexo B) que contêm pequenos programas para testar as instruções assembly microprogramadas na ROM pelo alunos. 2ª SEMANA No início da 2ª aula de laboratório os alunos deverão apresentar o trabalho correspondente à alínea 4.3. Deve ser testado na aula o programa assembly feito pelos alunos para multiplicar valores positivos e negativos com 6 bits. Os alunos devem entregar um relatório no máximo com 5 páginas (excluindo anexos) descrevendo as decisões tomadas no desenvolvimento do projecto, os fluxogramas especificados no ponto 4.3 e o código do programa devidamente comentado. Não se esqueça também de apresentar uma pequena introdução, conclusão e comentários aos testes realizados na 1ª semana. 9 de 10

10 6 AVALIAÇÃO A avaliação do projecto será realizada parcelarmente e de acordo com os seguintes pontos: Relatório (7 Val.) Fluxogramas ASM do ponto (3 val) Respostas às perguntas e (1 val) Funcionamento da Unidade de Controlo Microprogramado (5 Val.) Funcionamento do Programa assembly: Rotina + programa principal (2+2 Val.) Bom trabalho 7 BIBLIOGRAFIA [1] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, Second Edition, Prentice-Hall International, Inc. (Capítulo 8 a 10) [2] N. Horta, Microprocessadores Unidade de Controlo, Aulas Teóricas, [3] N. Horta, Manual para Download do Xilinx, Slides, [4] N. Horta, Manual de Introdução ao Xilinx, Slides, [5] N. Horta, Exemplo de Projecto Barramentos e Símbolos, Slides, de 10

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES 3º Trabalho de Laboratório Unidade de Controlo Microprogramada Objectivo: Pretende-se que os alunos compreendam a metodologia usada na implementação, programação e teste de

Leia mais

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Ano Lectivo: 200/2009 Data: 6 de Janeiro de 2006 INFORMAÇÕES GERAIS Duração: 2h00 1. Mantenha na secretária apenas a sua identificação e uma caneta

Leia mais

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento (CPU)

Leia mais

28/9/2010. Unidade de Controle Funcionamento e Implementação

28/9/2010. Unidade de Controle Funcionamento e Implementação Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes 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 mais

Conjunto 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. 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 mais

ULA Sinais de Controle enviados pela UC

ULA 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 mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto 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 mais

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO 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 mais

Nível da Microarquitetura

Nível da Microarquitetura Nível da Microarquitetura (Aula 10) Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos: Camilo Calvi - LPRM/DI/UFES Máquina de Vários Níveis Modernas (ISA)

Leia mais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

Arquitectura de Computadores Unidade de Processamento

Arquitectura de Computadores Unidade de Processamento Sistemas Digitais Complexos: + Unidade de Controlo (Datapath): Módulo responsável pela execução das operações de processamento de dados. Unidade de Controlo: Módulo responsável pelo controlo da sequência

Leia mais

2 Formalidades referentes ao trabalho

2 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 mais

Programação ao nível da máquina. Operações lógicas e aritméticas

Programação ao nível da máquina. Operações lógicas e aritméticas Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍ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 mais

1. SINTAXE DA LINGUAGEM ASSEMBLY

1. SINTAXE DA LINGUAGEM ASSEMBLY 1. SINTAXE DA LINGUAGEM ASSEMBLY Antes de se escrever em assembly, é conveniente construir um fluxograma do programa. Um fluxograma não faz referência à linguagem a utilizar, pelo que pode ser utilizado

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Índice 1- Introdução 2- Exemplo de Microarquitetura

Leia mais

Arquitectura de Computadores. Dicas e Truques do Assembly do P3

Arquitectura de Computadores. Dicas e Truques do Assembly do P3 Instituto Superior Técnico Arquitectura de Computadores Dicas e Truques do Assembly do P3 Prof. Renato Nunes Versão 2.0 03/03/2008 1. Introdução Este documento contém vários pedaços de código, instruções

Leia mais

MICROPROCESSADORES. Arquitectura do Conjunto de Instruções. Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico

MICROPROCESSADORES. Arquitectura do Conjunto de Instruções. Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções Unidade Central

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

Funcionamento básico de um computador

Funcionamento básico de um computador Funcionamento básico de um computador Processador Unidade de dados Unidade de controlo Arquitetura de computador básica Linguagem assembly Exemplos Arquitetura de Computadores Funcionamento básico de um

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capí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 mais

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA Sistemas Digitais Reconfiguráveis Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA Liliana Rocha Nicolau Lopes da Costa 27611 Ano Lectivo de 2006/2007 Universidade de Aveiro 1. Objectivos

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura 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 mais

MICROPROCESSADORES 2º TESTE - A

MICROPROCESSADORES 2º TESTE - A MICROPROCESSADORES 2º TESTE - A Ano Lectivo: 2005/2006 Data: 8 de Maio de 2006 Ano Curricular: 1º Ano 2º Semestre Duração: 2h00 INFORMAÇÕES GERAIS 1. Identifique todas as folhas do enunciado com nome e

Leia mais

2. A influência do tamanho da palavra

2. 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 mais

Sistemas Lógicos II. Aula 10

Sistemas Lógicos II. Aula 10 Sistemas Lógicos II Aula 10 1 2 rbh rbl wbh wbl Arquitectura Corrente + IPC Increment Program Counter Transfer from PC - TPC Transfer from IR - TIRH Transfer from IR - TIRL Transfer from C - TC rch rcl

Leia mais

Organização e Arquitetura de Computadores I

Organizaçã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 mais

Arquitetura de Computadores - Revisão -

Arquitetura de Computadores - Revisão - Arquitetura de Computadores - Revisão - Principais funções de um Sistema Operacional Componentes básicos da Arquitetura Barramentos Registradores da CPU Ciclo de Instruções Interrupções Técnicas de E/S

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento

Leia mais

Instituto Superior Técnico Licenciatura em Engenharia Informática e de Computadores. Projecto de. Arquitectura de Computadores.

Instituto Superior Técnico Licenciatura em Engenharia Informática e de Computadores. Projecto de. Arquitectura de Computadores. Instituto Superior Técnico Licenciatura em Engenharia Informática e de Computadores Projecto de Arquitectura de Computadores Jogo dos Blocos (variante do Arkanoid) (Versão 1.0) 2008/2009 Índice 1 Objectivo...

Leia mais

Organização e Arquitetura de Computadores I

Organizaçã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 mais

Capítulo 3 Processadores de Propósito Geral: Software

Capítulo 3 Processadores de Propósito Geral: Software Capítulo 3 Processadores de Propósito Geral: Software Prof. Romis Attux EA075 2015 Obs: Os slides são parcialmente baseados nos dos autores do livro texto Processadores de Propósito Geral Um processador

Leia mais

Estrutura de um Computador

Estrutura de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura de um Computador Aula 7 Prof. Dr. Marcelo Andrade da Costa Vieira MODELO DE VON NEUMANN PRINCÍPIOS A arquitetura de um computador consiste de

Leia mais

ULA- 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 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 mais

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 1º Teste - 03/07/2008

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 1º Teste - 03/07/2008 Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 1º Teste - 03/07/2008 INSTRUÇÕES: - A duração da prova é de 1,5 horas. - Responda apenas nos locais indicados. - Identifique todas as folhas

Leia mais

Organização Básica do Computador

Organização Básica do Computador Organização Básica do Computador Modelo de Von Neumann MEMÓRIA ENTRADA ARITMÉTICA LÓGICA SAÍDA CONTROLE Modelo de Von Neumann Introduziu o conceito do computador controlado por programa armazenado. Todo

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Edeyson Andrade Gomes

Edeyson Andrade Gomes Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador

Leia mais

Computador Cleópatra

Computador 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 mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de Entrada/Saída

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída SEL-0415 Introdução à Organização de Computadores Dispositivos de Entrada e Saída Aula 9 Prof. Dr. Marcelo Andrade da Costa Vieira ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Inserção dos dados (programa)

Leia mais

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Arquitetura e Organização de Computadores 1 Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Objetivo: Apresentar as funções o mecanismo de atuação da

Leia mais

Representação de Dados

Representação de Dados Representação de Dados Introdução Todos sabemos que existem diferentes tipos de números: fraccionários, inteiros positivos e negativos, etc. Torna-se necessária a representação destes dados em sistema

Leia mais

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP. A ARQUITETURA DE UM COMPUTADOR A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957),

Leia mais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

CISC - Complex Instruction Set Computer

CISC - Complex Instruction Set Computer MAC 412- Organizãção de Computadores - Siang W. Song Baseado no livro de Tanenbaum - Structured Computer Organization Índice Conceito de microprogramação 1 Conceito de microprogramação Como surgiu Exemplos

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

CAPÍTULO 6 ARITMÉTICA DIGITAL

CAPÍTULO 6 ARITMÉTICA DIGITAL CAPÍTULO 6 ARITMÉTICA DIGITAL Introdução Números decimais Números binários positivos Adição Binária Números negativos Extensão do bit de sinal Adição e Subtração Overflow Aritmético Circuitos Aritméticos

Leia mais

Conjunto de instruções e modos de. aula 4. Profa. Débora Matos

Conjunto 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 mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ICO Aula N : 09 Tema: Unidade Central de

Leia mais

Introdução. ULA: Faz os Cálculos UC: Como isso tudo ocorre?

Introdução. ULA: Faz os Cálculos UC: Como isso tudo ocorre? Introdução ULA: Faz os Cálculos UC: Controla a execução do programa (ordem de leitura das instruções) Traz dados da memória e dispositivos para os registradores Comanda a ULA Como isso tudo ocorre? A UNIDADE

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

Leia mais

Unidade Central de Processamento

Unidade Central de Processamento Unidade Central de Processamento heloar.alves@gmail.com Site: heloina.com.br 1 CPU A Unidade Central de Processamento (UCP) ou CPU (Central Processing Unit), também conhecida como processador, é responsável

Leia mais

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação INE5406 - Sistemas Digitais semestre 2011/1 Prof. José Luís Güntzel guntzel@inf.ufsc.br

Leia mais

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

ORGANIZAÇÃ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 mais

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Máquina Multinível 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 para o processador.

Leia mais

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Primeiros computadores digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna Execução de um O executa um Quais os seus componentes? Como estes se organizam e interactuam? entrada de dados processador, memória, input bits periféricos,etc bits saída de dados output Primeiros "es"

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA 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 mais

Organização de Computadores 1

Organizaçã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 mais

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Componentes de um Computador (5) Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/01 - INF02597 Com slides de Roberta Lima Gomes

Leia mais

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

Arquitectura de Computadores MEEC (2014/15 2º Sem.) Arquitectura de Computadores MEEC (2014/15 2º Sem.) Unidade de Controlo Prof. Nuno Horta PLANEAMENTO Introdução Unidade de Processamento Unidade de Controlo Arquitectura do Conjunto de Instruções Unidade

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta / Paulo Lopes Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 08: UCP Características dos elementos internos da UCP: registradores, unidade de controle, decodificador de instruções, relógio do sistema. Funções do processador: controle

Leia mais

Objetivos Gerais. Arquitetura de Computadores. Arquiteturas estudadas. O Computador Neander

Objetivos Gerais. Arquitetura de Computadores. Arquiteturas estudadas. O Computador Neander Objetivos Gerais Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2005 ISA Parte II: Arquiteturas-Exemplo Simuladores e Máquinas Reais Demonstrar os conceitos genéricos

Leia mais

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR Curso Engenharia Informática Ano letivo 2012-2013 Unidade Curricular Arquitectura de Computadores ECTS 6 Regime Obrigatório Ano 2º Semestre 2ºsem Horas de trabalho globais Docente (s) Luis Figueiredo Total

Leia mais

PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação

PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação Aula 02 Anarosa Alves Franco Brandão (PCS 2302) Jaime Simão Sichman (PCS 2302) (PCS 2024) Ricardo Luís de Azevedo da Rocha (PCS 2024) Monitores:

Leia mais

RISC simples. Aula 7. 31 de Março de 2005 1

RISC simples. Aula 7. 31 de Março de 2005 1 RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO Geração de código Ivan Ricarte 2008 Sumário Geração de código intermediário Código de três endereços Notação pós-fixa Otimização de código Heurísticas de otimização Geração de código em linguagem simbólica

Leia mais

Exemplo de Subtração Binária

Exemplo de Subtração Binária Exemplo de Subtração Binária Exercícios Converta para binário e efetue as seguintes operações: a) 37 10 30 10 b) 83 10 82 10 c) 63 8 34 8 d) 77 8 11 8 e) BB 16 AA 16 f) C43 16 195 16 3.5.3 Divisão binária:

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

Introdução à programação em linguagem assembly

Introdução à programação em linguagem assembly Introdução à programação em linguagem assembly Espaço de endereçamento Instruções de acesso à memória Modos de endereçamento Diretivas Tabelas Pilha Rotinas Arquitetura de Computadores Introdução à programação

Leia mais

Organização e Arquitetura de Computadores I

Organizaçã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 mais

Programando o computador IAS

Programando o computador IAS Programando o computador IAS Edson Borin e Rafael Auler 21 de março de 2012 1 Introdução O computador IAS foi um dos primeiros computadores a implementar o conceito do programa armazenado. Neste paradigma,

Leia mais

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz. SISTEMAS DIGITAIS Memórias Alterado para lógica positiva por Guilherme Arroz Sistemas Digitais 1 Tipos de memórias Existem vários tipos de memórias em sistemas digitais As memórias internas dos dispositivos,

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto

Leia mais

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO O seguinte artigo apresenta uma UCP hipotética construída no software simulador DEMOWARE Digital Works 3.04.39. A UCP (Unidade Central de Processamento)

Leia mais

Evolução dos Processadores

Evolução dos Processadores Evolução dos Processadores Arquitetura Intel Arquitetura x86 Micro Arquitetura P5 P6 NetBurst Core Processador Pentium Pentium Pro Pentium II Pentium III Pentium 4 Pentium D Xeon Xeon Sequence Core 2 Duo

Leia mais

CIRCUITOS E SISTEMAS ELECTRÓNICOS

CIRCUITOS E SISTEMAS ELECTRÓNICOS INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA Enunciado do 2º Trabalho de Laboratório CIRCUITOS E SISTEMAS ELECTRÓNICOS MODELAÇÃO E SIMULAÇÃO DE CIRCUITOS DE CONVERSÃO ANALÓGICO-DIGITAL E DIGITAL-ANALÓGICO

Leia mais

Entradas/Saídas. Programação por espera activa Programação por interrupções

Entradas/Saídas. Programação por espera activa Programação por interrupções Entradas/Saídas Programação por espera activa Programação por interrupções Programação por espera activa 1. O programa lê o estado do periférico: CPU pede ao controlador (IN) o valor no registo ESTADO

Leia mais

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS CIRCUITOS COMBINATÓRIOS TÍPICOS Setembro de CIRCUITOS COMBINATÓRIOS TÍPICOS - SUMÁRIO: DESCODIFICADORES CODIFICADORES MULTIPLEXERS DEMULTIPLEXERS SOMADORES / SUBTRACTORES COMPARADORES Setembro de CIRCUITOS

Leia mais

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto: Processadores BIP A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos 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 Conceitos Básicos Diego Passos

Leia mais

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Conjunto de Instruções

Leia mais

1345 Arquitectura de Computadores

1345 Arquitectura de Computadores 1345 Arquitectura de Computadores Relatório do 2º Teste formativo Ano lectivo 1999/2000 Resolução da questão 1 O mapa de memória pedido é o seguinte: Endereço do fim da página FFFFH DFFFH BFFFH 9FFFH 7FFFH

Leia mais

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Gustavo G. Parma Lista dos comandos assembly que serão utilizados ao longo das práticas. 1 Comandos 1. ADD destino, fonte

Leia mais

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011 Manual Profissional BackOffice Mapa de Mesas v2011 1 1. Índice 2. Introdução... 2 3. Iniciar ZSRest Backoffice... 3 4. Confirmar desenho de mesas... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5. Desenhar

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA 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 mais

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Componentes básicos de um sistema computacional. Cap. 1 (Stallings) Componentes básicos de um sistema computacional Cap. 1 (Stallings) 1 Sistema de Operação Explora recursos de hardware de um ou mais processadores Provê um conjunto de serviços aos utilizadores Gerencia

Leia mais

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento)

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento) Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento) Tempo de acesso: maior que o tempo de acesso da cache, 50 a 70 ns; Capacidade: bem maior que a cache;

Leia mais

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Pipeline. 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 mais