Organização e Arquitetura de computadores

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

Download "Organização e Arquitetura de computadores"

Transcrição

1 Organização e Arquitetura de computadores O processador: o caminho de dados e o controle Prof. Dr. Luciano José Senger Introdução O desempenho de um programa depende: Número de instruções (depende do set de instruções) Velocidade de clock(depende da implementação) CPI -Número de ciclos gastos por instrução (depende da implementação do ISA) Implementação do MIPS simplificada: Intruçõesde referência àmemória (lwe sw) Instruções lógicas e aritméticas (add, sub, and, or, slt) Instruções de controle de fluxo (saltos) beqe j lw $t, offset($t2) Loadword $t = valor armazenado na posição de memória $t2 + offset sw $t, offset($t2) Storeword posição de memória [$t2 + offset] = $t Beq $t, $t2, endereço Branchif equal(salte se igual) Introdução Implementação simplificada Diretrizes: Torne o caso comum mais rápido A simplicidade favorece a regularidade As demais instruções podem ser implementadas com princípios semelhantes A arquitetura do conjunto de instruções influencia os aspectos de implementação: instruções mais simples necessitam de uma implementação também mais simples Memória Inicialmente as memórias de programa e controle separadas Uma sinopse da implementação Todas as instruções do conjunto de instruções têm os dois primeiros passos idênticos: Enviar o valor armazenado no PC para a memória de programa e buscar a instrução dessa memória Ler um ou dois registradores, usando os campos de instrução para selecionar os registradores a serem lidos. Para a instrução load word, precisamos ler apenas um registrador, mas a maioria das outras instruções exige a leitura de dois registradores Mesmo entre diferentes classes de instruções, háalgumas semelhanças: Todas as classes utilizam a UAL após a leitura dos registradores: Instruções de referência à memória: efetuar o cálculo do endereço Instruções aritméticas e lógicas: efetuar a operação Desvios condicionais: efetuar comparação (subtração) Após usar a UAL, as ações necessárias diferem Referência a memória: escreve dado na memória Instrução aritmética: escreve dado no registrador Uma visão abstrata da implementação do subconjunto MIPS mostrando as unidades funcionais principais e as conexões principais Multiplexador ou seletor de dados Barramentode controle Operações devem ser selecionadas através de multiplexadores Circuito com 2 n linhas de entrada, nlinhas de controle e saída Seleciona uma única saída a partir de várias entradas, sendo a entrada escolhida écopiada para a saída Visão abstrata: S2 S F D D D2 D3 D D D2 D3 MU 4-para- F S2 S

2 A implementação básica b do subconjunto MIPS incluindo as linhas de controle e os multiplexadores necessários Visão abstrata: Método de temporização (clocking) Clocking Define quando os sinais podem ser lidos e quando podem ser escritos Evita circunstâncias onde um sinal élido ao mesmo tempo que o mesmo sinal foi escrito; a leitura pode retornar o valor antigo, o valor recente ou uma combinação entre os dois Sincronização acionada por transição Significa que quaisquer valores armazenados em um elemento lógico seqüencial são atualizados apenas em uma transição de clock Como apenas os elementos de estado podem armazenar valores de dados, qualquer coleção de lógica combinatória precisa ter suas entradas vindo de um conjunto de elementos de estado e suas saídas escritas em um conjunto de elementos de estado A lógica l combinacional, os elementos de estado e o clock relacionados Em um sistema digital síncrono, o clockdetermina quando os elementos de estado escreverão valores no armazenamento interno. Todos os elementos que apresentam um estado, como a memória, são considerados acionados por transição Construindo o caminho de dados Elementos principais do caminho de dados PC, memória de instruções e somador O método acionado por transição permite que um elemento de estado seja lido e escrito no mesmo ciclo de clocksem criar uma disputa que poderia levar a valores de dados indeterminados. O período de clock necessita ser longo o suficiente para que os valores de saída estabilizem Construindo o caminho de dados Banco de registradores Devido às instruções de formato R terem três operandosde registrador, precisamos ler duas wordsde dados do banco de registradores e escrever uma word de dados no banco de registradores. 3 entradas de 5 bits (32 registradores): 2 entradas com endereço dos registradores lidos entrada com endereço do registrador escrito 2 saídas de 32 bits: operandosp/ a UAL entrada de 32 bits: escrita do resultado As escritas são controladas pelo sinal de controle de escrita, que precisa estar ativo para que um escrita ocorra na transição do clock Construindo o caminho de dados Instruções do formato R Executa a operação(op and funct) utilizando como operandososvaloresemrse rt Armazenamo resultado no bancode registradores(no endereço rd) Todas as intruçõesdo tipo R precisam Ler dois registradores Realizar uma operação na UAL com os conteúdos dos registradores Escrever o resultado em um registrador Instruções aritméticas lógicas: ADD, SUB, AND, OR Ex: add $t, $t2, $t R-type: op rs rt rd shamt funct

3 Construindo o caminho de dados Instruções de load/store lw $t, offset($t2) e sw $t, offset($t2) Calculam um endereço de memória somando o registrador base ($t2 no exemplo) ao número de 6 bits sem sinal estendido Para sw, o valor a ser armazenado na memória de dados élido do registrador; para lw: o valor élido da memória de dados e escrito no registrador Énecessária uma unidade para estender o sinal de 6 para 32 bits e uma memória para ler e escrever os dados Construindo o caminho de dados A instrução beq Tem três operandos Dois registradores utilizados para a comparação Offsetindicando o endereço de memória para o deslocamento (PC + offset) Instruções de desvio O conjunto de instruções especifica que a base para o cálculo do endereço de desvio éo endereço da instrução seguinte ao desvio. Como calculamos PC + 4 no caminho de dados para a busca de instruções, éfácil usar esse valor como a base para calcular o endereço de destino do desvio. A arquitetura éespecificada de forma que o campo offseté deslocado 2 bits para a esquerda de modo que seja uma offset de uma word; essa forma de cálculo aumenta a amplitude do salto por um fator igual a 4 Construindo o caminho de dados A instrução beq Além de calcular o endereço do desvio, énecessário verificar se o desvio deve ser executado ou não, de acordo com a comparação entre os dois registradores Assim, o caminho de dados do desvio precisa de duas operações: Calcular o endereço de destino do desvio Comparar o conteúdo do registrador (sinal zero da UAL) Construindo o caminho de dados Operações lógicas e de acesso à memória Semelhantes, com as diferenças principais: As instruções lógicas e aritméticas usam a ALU com as entradas vindas de dois registradores; as instruções de acesso àmemória também podem usar a ALU para fazer o cálculo do endereço, embora a segunda entrada seja o campo offsetde 6 bits com o sinal estendido da instrução O valor armazenado em um registrador de destino vem da ALU (para um instrução do tipo R) ou da memória (para um load) Construindo o caminho de dados Integrando os caminhos de dados Os caminhos de dados são unidos e linhas de controle são adicionadas, assim como os multiplexadores necessários Projeto de ciclo único: a busca, decodificação e execução dasinstruçõesocorreemum únicociclode clock Nenhumrecursodo caminhode dados podeser usadosmaisde umavezporinstrução, de forma queaquelesquenecessitamser utilizadosmaisde umavezdevemser replicados(p.e. memóriade instruçõese de dados separados, maisde um somador) multiplexadores nsão necessários na entrada dos componentes compartilhados para realizar a seleção Sinaisde escritaparacontrolara gravaçãono bancode registradores e na memória de dados O tempo de ciclo é determinado pelo tamanho do caminho mais longo(caminho com maior tempo de execução)

4 Acrescentando o controle O controle de ALU Dependendo da instrução, uma das operações abaixo deverá ser executada Aritméticas e lógicas (and, or, sub, add, slt) Load/store(add para cálculo do endereço) BEQ (subtração) Entrada de controle da UAL Função AND OR Soma Subtração Set less than Acrescentando o controle O controle da ALU Podemos gerar a entrada do controle da ALU de 4 bits usando uma pequena unidade de controle que tenha como entradas o campo functda instrução e um campo controlde 2 bits, que chamamos de OpALU. OpALU indica: : addpara load/stores : subpara beq : determinada pela operação do campo funct Controle da ALU Criar 2 bits de controle, que juntamente com o campo funct, definem a função. Entradas UALOp e UALOp2: : loads e stores(soma endereços) : beq : a função édeterminada pelo campo de função Código de operação da instrução LW SW BEQ Tipo R Tipo R Tipo R Tipo R Tipo R UALOp Operação da Instrução load word store word branch equal add subtract AND OR set less than Campo funct Ação da ALU desejada soma soma subtração soma subtração and or set less than Entrada de controle da ALU Controle da ALU A partir dos valores de entrada e saída, pode-se criar um sistema que mapeie o subconjunto de valores possíveis para uma saída correta de controle para a ALU Tabela verdade reduzida OpALU OpALU OpALU2 F5 F4 Campo funct F3 F2 F F Operação Projetando a unidade de controle principal Formatos de instrução considerados op rs rt 3-26 rd shamt funct op rs rt 3-26 endereço op rs rt 3-26 endereço R LW/SW Campo de opcode(bits 3-26) Os dois registradores a serem lidos (rs e rt): posições 25-2 e 2-6 (tipo R, BEQ e store word) Registrador-base para instruções de load e store: está na posição 25-2 (rs) 6 bits de deslocamento do BE, lwe sw: 5- Registrador destino: Para lw: 2-6 (rt) Tipo R: 5-2 (rd) É necessário um multiplexador antes do banco de registradores BEQ O caminho de dados com todos os multiplexadores necessários e todas as linhas de controle identificadas

5 Descrição dos sinais da unidade de controle Os sinais podem ser definidos com base no campo opcode, com exceção da linha de controle OrigPC Essa linha de controle dever ser ativada se a instrução for beqe a ALU produzir o sinal Zero, usado para comparação de igualdade Instrução formato R lw sw beq RegDst UALFonte MemParaReg EscReg LerMem EscMe m Branch ALUOp ALUOp2 Passos para a execução de instruções R. Busca da instrução na memória de instruções e incremento do PC 2. Dois registradores, $t e $t, são lidos do banco de registradores. A unidade de controle coloca valores nas linhas de controle 3. A UAL opera sobre os dados lidos do banco de registradores, usando o código da função (bits 5-) para gerar a função da UAL 4. O resultado da UAL éescrito no banco de registradores usando-se os bits 5- da instrução para selecionar o registrador-destino ($t) Exemplo : Add$t, $t2, $t3 Passos para a execução de instruções LW/SW. Busca da instrução na memória de instruções e incremento do PC 2. Leitura do conteúdo de um registrador ($t2) do banco de registradores 3. Cálculo da soma do valor lido do banco de registradores com o resultado da extensão do sinal de 6 bits menos significativos da instrução (deslocamento) 4. O resultado da soma éusado para endereçar a memória de dados 5. O dado vindo da unidade de memória éescrito no banco de registradores; o número do registradordestino é dado pelos bits 2-6 da instrução ($t) Exemplo 2: lw$t, offset($t2)

6 Passos para execução de instruções BEQ. Busca da instrução na memória de instruções e incremento do PC 2. Leitura do conteúdo dos registradores $t e $t2 3. Realização de uma subtração pela ALU sobre os dois valores lidos do bando de registradores. O valor de PC+4 ésomado ao resultado da extensão do sinal dos 6 bits menos significativos da instrução (deslocamento) deslocado de dois bits à esquerda. O resultado dessa soma éo endereço de destino do desvio 4. A saída, Zero da ALU éusada para decidir se o PC deve ser atualizado com o valor de PC+4 ou com o valor do endereço de destino do desvio condicional Exemplo 3: beq$t, $t2, offset Implementando jumps A instrução jumpse parece um pouco com uma instrução branch,mas calcula o PC de destino de maneira diferente e não é condicional Como um branch, os 2 bits menos significativos são sempre ; os próximos 26 bits mais significativos vem do campo de 26 bits imediato da instrução Assim, pode-se implementar um jumparmazenando no PC a concatenação dos 4 bits superiores do PC atual + 4 (esses são bits 3:28 do endereço da instrução imediatamente seguinte) O campo de 26 bits imediato da instrução jump Os bits Implementando jumps Implementação de ciclo único O projeto de ciclo único éineficiente O clockprecisa ter a mesma duração para cada instrução nesse projeto e o CPI serásempre O tempo de ciclo édeterminado pelo caminho mais longo; esse caminho, certamente, éuma instrução lw, que usa cinco unidades funcionais em série: Memória de instruções Banco de registradores ALU Memória de dados Banco de registradores Embora o CPI seja, o desempenho geral de uma implementação de ciclo único provavelmente não será bom, jáque outras instruções poderiam ficar em um ciclo de clock mais simples Desempenho das máquinas m de ciclo único Suponha os seguintes tempos de operação Unidade de memória: 2 ps ALU e somadores: ps Banco de registradores: 5 ps Considerando que os multiplexadores, a unidade de controle, os acessos do PC, a unidade de extensão do sinal e os fios não possuem atraso, qual das seguintes implementações seria mais rápida e por quanto? em que toda instrução opera em ciclo de clock de uma duração fixa em que toda instrução éexecutada em ciclo de clockusando um ciclo de clockcom duração variável, que para cada instrução, tem apenas a duração necessária (método não prático)

7 Desempenho de máquinas m de ciclo único Solução Considerando o mix: 25% loads, % stores, 45% ALU, 5% desvios, 5% jumps Tempo de execução = Contagem instruções x CPI x Tempo de ciclo Tempo de execução = Contagem instruções x x Tempo de ciclo Tempo de execução = Contagem instruções x Tempo de ciclo Caminhos críticos Desempenho de máquinas m de ciclo único Tempo exigido para cada classe de instruções Desempenho de máquinas m de ciclo único Ciclo de clock determinado pela instrução mais longa, que leva 6ps para ser executada: Desempenho de máquinas m de ciclo único Ciclo único Como precisamos considerar que o ciclo de clocké igual ao atraso de pior caso para todas instruções, não podemos usar técnicas de implementação que reduzem o atraso do caso comum: violação dos princípios de projeto Na implementação de ciclo único, cada unidade funcional precisa ser duplicada, o que eleva o custo de implementação: o projeto de ciclo único éineficiente no desempenho e no custo Solução: utilizar uma implementação, de forma que as instruções possam utilizar mais de um ciclo de clockpara serem executadas, dependendo de sua complexidade. Problema da máquina de ciclo único Clk Cycle Cycle 2 lw sw Waste Na implementação : Cada fase de execução da instrução em um ciclo Unidades funcionais podem ser compartilhadas, isto é, usadas mais de uma vez por instrução Redução da quantidade de hardware necessário Principais vantagens do : Instruções são executadas em quantidades diferentes de períodos de clock(caso comum pode ser melhorado) Capacidade de compartilhar unidades funcionais (redução de custo) A visão de alto nível do caminho de dados Memória e ALU únicas Registradores RI e MDR (os dois valores são necessários no mesmo ciclo de clock) Registradores A e B para armazenar os valores lidos no banco de registradores (assim mais de uma leitura épossível por execução de instrução) O registrador SaidaALUarmazena a saída da ALU

8 A visão de alto nível do caminho de dados Como várias unidades funcionais são compartilhadas para diferentes finalidades, multiplexadores adicionais devem ser incluídos e os multiplexadores existentes devem ser expandidos A substituição das três ALUsdo caminho de dados de ciclo único por uma única ALU significa que esta precisa acomodar todas as entradas que, antes, iam para as três ALUs diferentes: Um multiplexador adicional éincluído para a primeira entrada da ALU, para escolher entre os registrador A e o PC O multiplexador na segunda entrada da ALU muda de duas para quatro entradas: as duas entradas adicionais para o multiplexador são a constante 4 (usada para incrementar o PC) e o campo offsetcom sinal estendido e deslocado (usado no cálculo do endereço do desvio) O caminho de dados para o MIPS manipular instruções básicas Implementação exige um conjunto diferente de sinais de controle: PC, a memória, os registradores e o IR: sinal de escrita Memória: sinal de leitura UAL: mesmo controle da implementação monociclo Multiplexador de 4 entradas: 2 linhas de controle Todos os demais multiplexadores: uma linha de controle Para instruções jumpe branchequalexistem três fontes possíveis para o PC: PC+4 SaidaALU(desvio condicional) 26 últimos bits do IR acrescido de 2 zeros àdireita, e concatenados com os 4 MSB s do PC Controle de escrita do PC: No incremento normal, e em um deslocamento incondicional, o PC é escrito incondicionalmente Se for um desvio condicional, passa o valor de UALSaída, somente se os registradores forem iguais Dois sinais de escrita: PCEsc e PCEscCond O caminho de dados com as linhas de controle indicadas Ações dos sinais de controle de bit: RegDst Inativo O número do registrador-destino no banco de registradores vem do campo rt Ativo O número do registrador-destino no banco de registradores vem do campo rd EscreveReg Inativo Nenhum Ativo O registrador de propósito geral selecionado pelo número do registrador de escrita é atualizado com o valor da entrada Dado de Escrita OrigAALU Inativo O primeiro operando da UAL éo PC Ativo O primeiro operando da UAL vem do registrador A LerMem Inativo Nenhum Ativo O conteúdo da memória no endereço especificado na entrada Endereço écolocado na saída Dado de saída EscreveMem Inativo Nenhum Ativo O conteúdo da memória no endereço especificado na entrada Endereço é substituído pelo valor na entrada Dado a ser Escrito Ações dos sinais de controle de bit: MemParaReg Inativo O valor colocado na entrada Dado a ser Escrito do banco de registradores vem de SaidaALU Ativo O valor na entrada Dado a ser Escrito do banco de registradores do MDR loud Inativo O PC é usado para fornecer o endereço da unidade de memória Ativo SaidaALU é usada para fornecer o endereço para a unidade de memória IRWrite Inativo Nenhum Ativo A saída da unidade de memória éescrita no IR EscrevePC Inativo Nenhum Ativo O PC éatualizado. A fonte écontrolada pelo sinal OrigPC EscrevePCCond Inativo Nenhum Ativo O PC éatualizado se a saída Zero da ALU também estiver ativa

9 Ações dos sinais de controle de 2 bits: OpALU A UAL efetua uma operação de soma A UAL efetua uma operação de subtração O campo função da instrução determina a operação da UAL OrigBALU A segunda entrada da UAL vem do registrador B A segunda entrada da UAL éa constante 4 A segunda entrada da UAL éa extensão de sinal dos 6 bits menos significativos do IR A segunda entrada da UAL éa extensão de sinal dos 6 bits menos significativos do IR deslocados 2 bits à esquerda OrigPC A saída da UAL (PC+4) éenviada ao PC para atualizar seu valor O conteúdo do UALSaída(o endereço-alvo do desvio condicional) é enviado ao PC para atualizar seu valor O endereço-alvo do desvio condicional (IR[25-]), deslocado 2 bits à esquerda e concatenado com PC+4[3-28] éenviado ao PC para atualizar seu valor Caminho de dados completo para a implementação juntamente com as linhas de controle necessárias Dividindo a execução da instrução em ciclos de clock Ao organizar a execução em mais de um ciclo de clock pode-se balancear a quantidade de trabalho realizada em cada ciclo A organização da execução de cada instrução segue um número de etapas, que depende do tipo da instrução As etapas deve ser realizadas de forma que cada passo contenha apenas uma operação de ALU, um acesso àmemória ou um acesso ao banco de registradores Com essa restrição, o ciclo de clockpode ser tão curto quanto a mais longa dessas operações Os registradores (p.e.a, B, MDR, SaidaALU) armazenam dados para os próximos ciclos da mesma instrução Dividindo a execução da instrução em ciclos de clock. Busca da instrução 2. Decodificação da instrução e busca dos registradores 3. Execução, cálculo do endereço de memória ou conclusão do desvio 4. Acesso àmemória ou conclusão de instrução tipo R 5. Conclusão de leitura de memória Dividindo a execução da instrução em ciclos de clock. Busca da instrução IR=Memória[PC] PC=PC+4 Envio do PC para a memória como endereço, realização da leitura e escrita da instrução no registrador de instruções. 2. Decodificação e busca dos registradores Operações que podem depois ser descartadas após a decodificação da instrução (ainda não se sabe qual instrução estáno IR) São executadas para evitar a perda de tempo durante a execução (por exemplo ler rse rt) Carga dos registradores de entrada da ALU e do endereço de desvio condicional (salvo em SaidaALU) A = Reg[IR[25-2]]; B = Reg[IR[2-6]]; SaidaALU= PC + extensão de sinal (IR[5-] << 2); Dividindo a execução da instrução em ciclos de clock 3. Execução, cálculo do endereço de memória ou conclusão do desvio a) Referência à memória SaidaALU = A + extensão de sinal IR[5-] b) Instrução aritmética ou lógica (tipo R) SaidaALU= A opb c) Desvio condicional Se (A == B) PC = SaidaALU d) Desvio incondicional PC = PC [3-28] (IR[25-]<<2

10 Dividindo a execução da instrução em ciclos de clock 4. Etapa de acesso àmemória ou conclusão de instrução tipo R a) Referência à memória MDR = Memória [SaidaALU]; ou Memória [SaidaALU] = B; b) Instruções aritméticas ou lógicas (tipo R) Reg[IR[5-]] = UALSaída; 5. Etapa de conclusão de acesso àmemória (lw) Reg[IR[2-6]] = MDR Definindo o controle Controle da implementação pode ser realizado Máquina de estados finitos (MEF) Máquina de estados finitos Visão de alto nível Definindo o controle O controle da máquina de estados finitos completo para o caminho de dados Definindo o controle Os controles da máquina de estados finitos normalmente são implementados usando um bloco de lógica combinacional e um registrador para conter o estado atual Desempenho da implementação Single Cycle Implementation: Cycle Cycle 2 Clk lw sw Waste multicycle clock slower than /5 th of single cycle clock Multiple Cycle Implementation: due to state register overhead Clk Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9Cycle lw IFetch Dec Exec Mem WB sw IFetch Dec Exec Mem R-type IFetch

11 Controle de Exceções Controle Partes difíceis do controle éimplementar exceções e interrupções, eventos diferentes de desvios que mudam o fluxo de execução das instruções Exceção: evento inesperado de dentro do processador Exemplo: overflow aritmético Interrupção: evento que causa uma mudança inesperada no fluxo de execução mas vem de fora do processador Frequentemente, exceções também são chamadas de interrupções (IA-32) Tipo de evento Requisição de dispositivo de E/S Chamada ao sistema operacional pelo programa do usuário Overflow aritmético Uso de uma instrução não definida Mal funcionamento do hardware Origem Externa Interna Interna Interna Ambas Terminologia MIPS Interrupção Exceção Exceção Exceção Exceção ou interrupção Controle de Exceções Como as exceções são tratadas A ação básica que a máquina precisa realizar quando ocorre uma exceção ésalvar o endereço da instrução problemática no contador de programa para exceções (EPC) e transferir o controle para o sistema operacional em alguns endereços especificados O sistema operacional pode então tomar uma ação apropriada, que pode envolver fornecer algum serviço ao programa do usuário, tomar alguma ação predefinida em resposta a um overflowou interromper a execução do programa e retornar um erro Depois de realizar qualquer ação necessária devido àexceção, o sistema operacional pode terminar o programa ou continuar sua execução usando o EPC para determinar onde reiniciar a execução do programa O motivo da exceção e a instrução que a causou devem ser informados ao sistema operacional Registrador de status Interrupções vetorizadas (o sistema operacional sabe a causa da exceção pelo endereço que ela foi tratada) Mapeando o controle em hardware Função de controle Os sinais de controle são dependentes de: Que instrução está sendo executada Que passo está sendo realizada Usar as informações acumuladas para especificar uma máquina de estado finito Especificar uma máquina de estado finito graficamente, ou usar microprogramação Projeto de controle com máquinas de estados Adequado em processadores com um número de estados moderado No caso de conjunto de instruções mais complexo, torna-se difícil implementar o controle através de máquinas de estado Muitos estados e muitas transições são necessárias, dependo do conjunto de instruções e do número de ciclos de clockpor instrução Projeto do controle por microprogramação Cada microinstruçãodefine o conjunto de sinais de controle que são aplicados no caminho de dados Sequenciamento: Execução sequencial é a padrão (sequenciador) Subrotinas podem ser implementadas Projeto do controle por microprogramação Idéia básica: representar simbolicamente os valores ativos das linhas de controle, de modo que o microprogramaseja uma representação das microinstruções Formato de uma Microinstrução Define quantos campos e quais sinais de controle são afetados por cada campo Deve-se simplificar a representação (se possível) e dificultar a escrita de microinstruções inconsistentes Para se obter as microinstruções, devem ser observadas os sinais de controle no caminho de dados Formato de uma microinstrução para o MIPS Os sinais que não estão ativos ao mesmo tempo compartilham o mesmo campo

12 as microinstruçõessão armazenadas em uma ROM ou uma PLA Assim, cada microinstruçãotem um endereço (endereços são sequenciais) Métodos para escolha da próxima microinstruçãoa ser executada:. Incrementar o endereço da microinstruçãocorrente (indicado por seq ) 2. Desviar para a microinstruçãoque começa a execução da próxima instrução (indicada por Busca, corresponde ao estado da versão FSM) 3. Escolher a próxima microinstruçãocom base na entrada do bloco de controle (indicada por despacho ) Em geral, as operação de despacho são implementadas a partir de uma tabela que Contém os endereços das microinstruções-alvo indexada pela entrada do bloco do controle pode ser implementada em uma ROM ou uma PLA Podem existir diversas tabelas de despacho São necessárias duas tabelas de despacho: Uma para despachar a partir do estado Uma para despachar a partir do estado 2 Formato de microinstrução(i) Formato de microinstrução(ii) Busca da Instrução, incremento do PC (PC+4), decodificação e cálculo do endereço-alvo (beq) Busca da Instrução, incremento do PC (PC+4), decodificação e cálculo do endereço-alvo (beq) Despacho Mempara instruções de acesso a memória Rformat para instruções do tipo R BEQ para a instrução branch on equal JUMPpara a instrução jump Despacho Analogia com uma instrução case ou switchcom o campo opcodee a tabela de despacho usada para selecionar uma de quatro sequências de microinstruções diferentes

13 Execução de LW/SW Tipo R Tipo R Microprograma completo Implementação

14 Vantagens: Facilidade no projeto flexiblidade: Adaptável as mudanças na organização, temporização e tecnologia Podeser modificadano final do ciclode projetooumesmoemcampo Podeimplementarconjuntosde instruçõesbastantecomplexos: apenas mais memória de microcontrole é necessária Generalidade: Pode implementar vários conjuntos de instruções na mesma máquina Pode ajustar o conjunto de instruções a aplicação Compatibilidade: muitas organizações, mesmo conjunto de instruções Desvantagens Geralmente mais lento que o controle por máquinas de estados Atualmente, microprograma é armazenado internamente no CI Processadores modernos: hardwiredpara instruções simples e microprogramapara instruções complexas (Pentium 4) Leituras recomendadas Patterson, David A. e Hennessy, John L. Organização e Projeto de Computadores: A Interface Hardware/Software. Ed. LTC, 82. Ed., 24, Rio de Janeiro.

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

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

O Processador: Caminho de Dados e Controle

O Processador: Caminho de Dados e Controle 22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos

Leia mais

Sistemas Processadores e Periféricos Aula 5 - Revisão

Sistemas Processadores e Periféricos Aula 5 - Revisão Sistemas Processadores e Periféricos Aula 5 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados

Leia mais

Visão Geral de Pipelining

Visão Geral de Pipelining Pipeline Visão Geral de Pipelining Instruções MIPS têm mesmo tamanho Mais fácil buscar instruções no primeiro estágio e decodificar no segundo estágio IA-32 Instruções variam de 1 byte a 17 bytes Instruções

Leia mais

Parte Operativa e Parte de Controle do MIPS

Parte Operativa e Parte de Controle do MIPS Capítulo Parte Operativa e Parte de Controle do IPS Ricardo Jacobi niversidade de Brasília Departamento de Ciencia da Computacao Adaptado de Bruno Cunha e Carlos Llanos, IESB Introdução O desempenho de

Leia mais

CPU Implementação. Multiciclo. Prof. Carlos Bazilio

CPU Implementação. Multiciclo. Prof. Carlos Bazilio CPU Implementação Multiciclo Prof. Carlos Bazilio bazilio@ic.uff.br Até então, tínhamos t... Problemas com Implementação Monociclo Ciclo de clock tem o mesmo tamanho para todas as instruções implementadas;

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

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

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

Arquitetura de Computadores

Arquitetura de Computadores Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,

Leia mais

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo

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

ção de Computadores II

ção de Computadores II 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 II Aula 2 2. MIPS monociclo:

Leia mais

Caminho dos Dados e Atrasos

Caminho dos Dados e Atrasos Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém

Leia 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

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

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

MODOS DE ENDEREÇAMENTO

MODOS DE ENDEREÇAMENTO UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

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

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

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

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

Índice. Tudo! (datapath de um ciclo)

Índice. Tudo! (datapath de um ciclo) Índice Sumário Instrução com atraso maior no datapath de um ciclo. Datapath multiciclo: introdução. 4. O Processador: Unidades de Caminho de Dados e de o 4.1 Diagrama de Blocos de um Processador 4.2 Unidade

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

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores

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

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores Introdução Ivan Saraiva Silva Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann IAS Máquina de Von Neuman

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

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

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

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

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações

Leia mais

Introdução ao Processamento Paralelo

Introdução ao Processamento Paralelo Introdução ao Processamento Paralelo Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução Crescente aumento de desempenho dos PCs (máquinas convencionais). Existem aplicações que requisitam

Leia mais

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO Rafael Vargas Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar

Leia mais

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Introdução à Organização de Computadores Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Tópicos Processadores Memória Principal Memória Secundária Entrada e

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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3

Leia 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

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos 1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

Anotações da 2a Edição

Anotações da 2a Edição Anotações da 2a Edição OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson. Supõe-se que os estudantes tenham noções de lógica digital e linguagem

Leia mais

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo Organização e Arquitetura de Computadores I Introdução Ivan Saraiva Silva Leonardo Casillo Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann

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

PARTE 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 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 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

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

A Figura 1 mostra uma organização do NEANDER com uma UAL de 6 funções. Figura 1: Organização para o NEANDER.

A Figura 1 mostra uma organização do NEANDER com uma UAL de 6 funções. Figura 1: Organização para o NEANDER. Disciplina: Arquitetura de Computadores Turma: 3CC Data: 18/12/12 Nota: Professor: Renato E. N. de Moraes Semestre: 2012-2 Valor: 2,0 pt Aluno: Trabalho 01 - Projeto Neander O computador NEANDER foi criado

Leia mais

SIS17 - Arquitetura de Computadores

SIS17 - Arquitetura de Computadores SIS17 - Arquitetura de Computadores Organização Básica B de Computadores (Parte I) Organização Básica B de Computadores Composição básica b de um Computador eletrônico digital Processador Memória Memória

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Nível da Microarquitetura (Parte

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

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

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB 2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código

Leia mais

Tiago Alves de Oliviera

Tiago Alves de Oliviera Tiago Alves de Oliviera 1 Capítulo 6 do Livro do Mario Monteiro Capítulo 5 (5.1, 5.2, 5. e 5.4) do Livro do Patterson 2 Processador executa instruções CPU (central processing unit) UCP (unidade central

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

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

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

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Organização e rquitetura Básicas

Leia mais

O Processador: Via de Dados e Controle

O Processador: Via de Dados e Controle O Processador: Via de Dados e Controle Ch5A Via de Dados e Controle Implementação da arquitetura MIPS Visão simplificada de uma arquitetura monociclo Instruções de memória: lw, sw Instruções lógicas aritméticas:

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

ENTRADA E SAÍDA (I/O)

ENTRADA E SAÍDA (I/O) MICROPROCESSADORES II (EMA864315) ENTRADA E SAÍDA (I/O) 1 O SEMESTRE / 2015 Alexandro Baldassin MATERIAL DIDÁTICO Patterson & Hennessy (4a edição) Capítulo 6 (Tópicos I/O) 6.1 Introduction 6.5 Connecting

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

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

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

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

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia 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

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

Arquitetura de Computadores. Linguagem de Máquina

Arquitetura de Computadores. Linguagem de Máquina Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP

Leia mais

Pipelining - analogia

Pipelining - analogia PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access

Leia mais

Aula 26: Arquiteturas RISC vs. CISC

Aula 26: Arquiteturas RISC vs. CISC Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos

Leia 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 e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

SSC510 Arquitetura de Computadores. 2ª aula

SSC510 Arquitetura de Computadores. 2ª aula SSC510 Arquitetura de Computadores 2ª aula PROFA. SARITA MAZZINI BRUSCHI CISC E RISC ARQUITETURA MIPS PIPELINE Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções

Leia mais

RISC X CISC - Pipeline

RISC X CISC - Pipeline RISC X CISC - Pipeline IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 25 e 26/30 Prof. Msc. Antonio Carlos Souza Referências

Leia mais

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo Conceitos Gerais para Implementação do Processador Conceito de caminho de dados e controle Caminho dos bits de instrução

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br MIPS Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br Introdução Plataforma projetada da parceria entre NEC, Nintendo, Silicon Graphics e Sony Possui um conjunto de instruções que e

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Execções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Exceções Exceções (ou interrupções ou falta) Desvio para um endereço que não faz

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

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

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I Guilherme Pina Cardim Relatório de Sistemas Operacionais I Presidente Prudente - SP, Brasil 30 de junho de 2010 Guilherme Pina Cardim Relatório de Sistemas Operacionais I Pesquisa para descobrir as diferenças

Leia mais

Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3.

Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3. Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 30/novembro/2012 1. (4 pontos) Assumindo uma frequência de relógio de 500 MHz para a organização MIPS multiciclo

Leia 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

Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas

Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Pae II Transferência de Dados Lógicas Controle Supoe a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores

Leia mais

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Introdução à Organização de Computadores Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CPU (Central Processing Unit) é o coordenador de todas as atividades

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 5 Estrutura de Sistemas de Computação Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais