Intel Pentium 4 vs Intel Itanium

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

Download "Intel Pentium 4 vs Intel Itanium"

Transcrição

1 Intel Pentium 4 vs Intel Itanium Tiago Manuel da Cruz Luís Instituto Superior Técnico Grupo João Miguel Coelho Rosado Instituto Superior Técnico Grupo Introdução O Pentium 4 é o primeiro processador da 7ª geração, também chamada NetBurst. Este processador fornece um ganho substancial de performance em muitas aplicações chave em várias áreas. Por exemplo, permite uma melhor experiência em áreas como o streaming de áudio e de vídeo, processamento de imagem, processamento de voz e aplicações 3D. Ele consome 55 watts de potência aos 1.5 GHz. O seu bus de 3,2 GB/segundo ajuda a fornecer uma elevada largura de banda necessária pelas aplicações actuais e futuras. Por sua vez, o Itanium foi o primeiro processador da Intel com a arquitectura IA-64 (Intel Architecture 64-bit), que incorporou técnicas inovadoras de aumento de performance. Esta família de processadores foi desenhada em cooperação com a HP e tem como objectivo responder às necessidades dos servidores de alta performance e workstations. O Itanium2 consome cerca de 130 watts a 1GHz, existindo versões Low Power a consumir 62 watts. O bus é de 6.2 GB/segundo de forma a satisfazer as necessidades dos grandes sistemas computacionais. 2. Pentium 4 Um processador rápido requere o balanceamento e aperfeiçoamento de muitas funcionalidades arquitecturais. Uma das principais vantagens desta arquitectura é o facto de permitir um aumento substancial da frequência de relógio. A figura abaixo mostra a arquitectura do Pentium 4. Como é possível observar, existem 4 secções principais: in-order front-end, lógica de execução out-of-order, unidade de execução de operações inteiras e floating point e subsistema de memória. In-Order Front End Figura 1 - Arquitectura do Pentium 4. Esta secção é responsável pelo fetch das instruções que vão ser executadas e pela sua preparação para serem utilizadas mais tarde no pipeline. Estas instruções após serem descodificadas são passadas à lógica de execução out-oforder. O in-order front-end tem como objectivo fornecer um elevado fluxo de instruções descodificadas à lógica de execução out-of-order. Trace Cache A arquitectura NetBurst possui uma cache de instruções de nível 1 chamada Trace Cache. Ao contrário das caches de instruções convencionais, esta cache situa-se entre a unidade de descodificação e de execução. Nesta localização a Trace Cache é capaz de armazenar as instruções IA-32 já descodificadas para instruções básicas no formato RISC (micro-operações), que a unidade de execução out-of-order consegue executar. O armazenamento de instruções já Página 1

2 descodificadas reduz o processo lento de descodificação das instruções IA-32, que equivale a uma instrução IA-32 por ciclo de relógio. Tipicamente as instruções são descodificadas uma vez e colocadas na Trace Cache, permitindo assim que a unidade de descodificação só aceda a cache L2 para descodificar a nova instrução em caso de miss na Trace Cache. Esta cache possui 6 micro-operações em cada linha e pode armazenar até 12 K micro-operações. Figura 2 - Front-End da arquitectura do Pentium 4. Perto da Trace Cache encontra-se uma ROM de microcódigo que é utilizada para lidar com instruções IA-32 complexas que requerem mais de 4 micro-operações, tais como, tratamento de interrupções e strings. As instruções provenientes da Trace Cache e da ROM são armazenadas numa fila de micro-instruções que irão ser passadas à unidade seguinte. instruções previstas pelo branch predictor são usados para realizar o fetch da cache L2. Out-of-Order Execution Logic Esta secção realiza a preparação das instruções para a sua execução. A unidade de lógica de execução utiliza um conjunto de buffers para realizar a ordenação do fluxo de instruções, de modo a optimizar o tempo perdido em instruções que têm de ser atrasadas no pipeline. Deste modo o processador irá executar o máximo de instruções em cada ciclo de relógio, mesmo que não estejam na ordem original do programa. As instruções são colocadas em duas filas, de acordo com o seu tipo. De modo a evitar conflitos na manipulação dos 8 registos existentes nesta arquitectura são criadas várias versões simultâneas de cada registo, até um máximo de 128 registos (register renaming). São também mantidas as versões mais recentes de cada registo, de modo a que as novas instruções utilizem os valores correctos dos registos. Esta técnica permite eliminar os conflitos de WAR (after-read) pois em vez de atrasar uma escrita até todas instruções de leitura terem terminado, são mantidas duas cópias deste valor, o valor antigo e o novo. Deste modo, as instruções de leitura que precedem a escrita do novo valor utilizam o valor antigo, enquanto que as restantes utilizam o novo valor. Quando todas as leituras do valor antigo foram realizadas, a cópia deste valor pode ser apagado. Esta técnica permite assim optimizar o mecanismo de execução out-of-order. Branch Prediction Como as instruções que se encontram na Trace Cache já foram descodificadas, é possível efectuar o fetch de outras instruções antes da instrução branch ter terminado com o auxílio de uma cache (BTB). O branch predictor da Trace Cache é mais pequeno do que o branch predictor do Front- End (apenas 512 entradas), pois realiza apenas a previsão das instruções branch num subconjunto de instruções que estão actualmente na cache. Esta inclui também um stack de 16 entradas de endereços de retorno de funções para permitir a sua previsão. Por sua vez, o branch predictor do Front-End realiza o fetch das instruções previstas que se encontram na cache L2, através de uma tabela de 4 Kb com o histórico das instruções branch. Caso uma instrução branch não seja encontrada no BTB é realizada a previsão estática das instruções seguintes com base na direcção do branch (salto para a frente ou salto para trás). Os endereços das Figura 3 - Lógica de execução Out-of-Order. Os vários schedulers determinam quando uma microoperação está pronta a ser executada, com base na verificação dos operandos que se encontram em registos. Após a execução da micro-operação, a unidade de Retirement é responsável pela reordenação das instruções executadas fora de ordem para a ordem original do Página 2

3 programa, com base nos buffers criados inicialmente pela unidade de execução out-of-order. Ela é também responsável por guardar os resultados produzidos pelas instruções. Execution Units Esta secção é responsável pela execução das instruções, que podem ser encaminhadas para 4 portas. Cada uma destas portas possui entre 1 a 3 unidades de execução. Tal como é possível observar, as unidades de ALU executam 2 instruções por ciclo de relógio. Deste modo, é possível executar um máximo de 6 micro-operações por ciclo de relógio (2 micro-operações nas portas 0 e 1 e 1 microoperação nas restantes). inclusivos, ou seja, o facto de uma linha de uma cache estar num dado nível não implica que esteja no nível seguinte. Memory Subsystem A cache de nível 2 armazena as instruções e os dados que não cabem na Trace Cache e na cache de dados L1. Ao contrário das caches de nível 1, esta cache é partilhada, ou seja, contém dados e código. O barramento externo é utilizado pela cache para aceder à memória primária quando ocorre uma falta na cache L2. Este barramento possui uma largura de banda de 3.2 Gbytes, que é conseguida através dos 64 bits de comprimento do barramento e uma taxa de transferência a 400 Mhz (obtida através de um protocolo que quadruplica a taxa 100 Mhz do barramento). Este barramento permite assim o fornecimento de uma elevada largura de banda. Capacidade 256 KBytes até 2 MBytes Tabela 2 - Propriedades da cache L2. Associati vidade Tamanho do bloco Latência Inteiro/FP 8 Vias 128 Bytes 7/7 Ciclos Política escrita back Figura 4 - Unidades de execução. Como as operações FP demoram vários ciclos de relógio, as portas 0 e 1 possuem uma unidade FP (lenta) juntamente com uma unidade rápida, de modo a permitir a execução de várias operações inteiras durante uma operação FP. É assim possível ter todas as unidades de execução ocupadas ao longo do tempo. Outro aspecto importante da arquitectura NetBurst é a latência dos acessos a memória. Isto é um aspecto muito importante nos programas com instruções IA-32, que devido ao número limitado de registos da arquitectura, realiza muitas instruções load e store. Para minimizar este facto, o acesso a cache de dados L1 é conseguido em 2 períodos de relógio neste processador de elevada frequência. Tabela 1 - Propriedades da cache da dados L1. Capacidade 8 KBytes até 16 KBytes Associati vidade Tamanho do bloco Latência Inteiro/FP 4 vias 64 Bytes 2/6 Ciclos Política escrita through Todas as caches usam o algoritmo de substituição pseudo- LRU e os níveis das caches na hierarquia são não O número de vias elevado permite obter uma boa taxa de sucesso mas aumenta a latência. Contudo, para minimizar este tempo, uma falta na cache L2 provoca 2 acessos de 64 bytes (comprimento do protocolo de acesso ao barramento) para preencher as duas metades da linha da cache (128 bytes). O preenchimento dos 128 bytes da linha da cache requer os mesmos ciclos de acesso (4 ciclos externos) que as versões anteriores dos processadores Pentium necessitavam para preencher uma linha de 32 bytes da cache. Este aumento da latência faz com que o pre-fetching existente seja um factor importante na performance. O prefecther da cache L2 faz o pedido das 2 linhas da cache seguintes (256 bytes) ao acesso actual. Este possui ainda uma certa inteligência que lhe permite monitorizar o histórico dos cache miss para tentar evitar pré-fetches desnecessários (que ocupam espaço na cache e ocupam o barramento externo). Este pre-fetcher é muito útil no streaming de ficheiros multimédia, uma vez que estes não provocam muitos acessos a cache. O pre-fetcher pode neste caso facilmente detectar o padrão de cache miss e carregar com antecedência os dados, levando a um aumento de performance neste tipo de aplicações. Pipeline O Pentium 4 possui um pipeline com 20 estágios que é capaz de executar 3 micro-operações em cada ciclo de relógio. O maior número de estágios permite que o Página 3

4 processamento em cada estágio seja menor (menos portas lógicas), permitindo assim ao processador trabalhar com frequências mais elevadas. Figura 5 - Estágios do pipeline do Pentium 4. Um dos aspectos mais interessantes neste pipeline é o facto de a Intel ter dedicado 2 estágios do pipeline para a transferências de dados no chip. Isto realça a ideia de que o factor limitador no desenho dos circuitos integrados actuais é o tempo de propagação dos dados nas ligações do chip. Contudo este pipeline profundo levanta alguns problemas de desempenho. Um desses problemas é a previsão de saltos, que provocam stalls na execução do pipeline quando esta previsão falha. Devido ao número de estágios existe uma perda considerável de instruções executadas. Outro problema prende-se com o uso de instruções IA-32, pois é necessário em certos casos que a Trace Cache passe o controlo para a ROM de micro-código, tal como já foi referido anteriormente. Este facto provoca atrasos no pipeline que levam à diminuição do desempenho. O Pentium 4 introduziu uma nova funcionalidade no seu pipeline que permite que o escalonamento de instruções dependentes de um load coincida com a chegada dos dados da cache de dados L1. Estas instruções são canceladas no caso de ocorrer um cache miss e repetidas mais tarde, após a chegada dos dados da cache. Contudo, apesar de apenas as instruções dependentes da instrução load serem repetidas, esta técnica depende do padrão de acessos a memória pelas instruções load. O pior caso verifica-se quando uma aplicação realiza operações em dados que se encontrem espalhados pela memória, o que faz com que haja uma perda de performance. Hyper-Threading Esta tecnologia permite que o processador efectue mais rapidamente a troca de contexto entre as tarefas, permitindo assim aproveitar os tempos em que o processador se encontra suspenso (devido a um cache miss ou erro na previsão de um branch por exemplo). Esta troca rápida é conseguida através da duplicação da parte do processador responsável por armazenar o estado de um processo. Figura 6 Pipeline do Pentium 4 com Hyper-Threading. Deste modo é possível que um único processador realize, por exemplo, o fetch e execução de dois fluxos de execução independentes simultaneamente. Contudo este mecanismo introduz alguma complexidade no processador e caso existam duas aplicações que executem instruções semelhantes não permite obter o nível de paralelismo esperado. 3. Itanium 2 Este processador é destinado a sistemas que requerem uma grande disponibilidade, segurança e fiabilidade. Ao contrário dos sistemas Pentium, não existe nenhuma execução out-of-order e são efectuadas o máximo de optimizações possíveis em tempo de compilação, retirando assim muita da complexidade do hardware. A arquitectura do Itanium é baseada em VLIW (Very Long Instruction Word), mas propriamente chamada de EPIC (Explicit Parallel Instruction Computing) e pretende tirar partido do facto de existirem muitas instruções sem dependências de dados que podem ser executadas em paralelo. Geralmente os processadores com a arquitectura VLIW têm como desvantagem estarem muito dependentes do número de unidades de execução, latências, número de instruções paralelas e outros pormenores de arquitectura. Com o Itanium foi realizado um esforço com o objectivo de reduzir essa dependência. No estando este encontra-se bastante dependente de alguns factores, como as unidades de execução que estão limitadas a alguns templates. In-Order Front End Cada instrução é composta por 41 bits, divididos pelo opcode, quatro operandos e um qualifying predicate (qp). Caso este predicado seja falso a instrução não é executada. Página 4

5 Tabela 3 - Constituição das instruções do Itanium Opcode Oper 4 Oper 3 Oper 2 Oper 1 qp Existem seis classes de instruções: A (operações de inteiros com ALU), I (operações de inteiros sem ALU), M (memória), B (saltos), F (floating point) e X (instruções que ocupam o espaço de duas instruções). Como é característico de uma arquitectura VLIW, as instruções são agrupadas em vários bundles de instruções. Assim, cada bundle possui 16 bytes, três instruções e um template de 5 bits. Os templates servem para indicar ao processador como cada instrução deve ser executada e incluem informação sobre o grupo das instruções. Um grupo é um conjunto de instruções (que pode ser constituído por mais do que um bundle) decididas em tempo de compilação que podem ser executadas em paralelo. O conceito de grupo é um factor muito importante, pois retira a necessidade de recompilação do código no caso de se alterar o número de instruções paralelas (diminuir nos Low Voltage, ou até aumentar). Pipeline A pipeline do Itanium é constituído por 8 fases in-order, com store-to-load forwarding e que permite executar em simultâneo 6 instruções (2 bundles). A sua estrutura é bastante simples, e permite que um stall em alguma instrução em qualquer fase do pipeline, pare todas as fases anteriores incluindo instruções que estão a correr em paralelo, evitando assim flushs desnecessários. Para executar as 6 instruções em paralelo existem 11 unidades de execução. Estas unidades encontram-se divididas em 4 unidades de memória, 2 de inteiros, 2 de floating point e 3 de branch. As duas primeiras fases do pipeline (front-end) são utilizadas para realizar o fetch das instruções antes de serem utilizadas pelo back-end. Existe um buffer de instruções que permite guardar 8 bundles para utilização. Combinando este buffer com as caches de baixa latência e um bom sistema de branch prediction (descrito adiante) é possível garantir que raramente existem stalls de pipeline por falta de instruções. Predication Utilizando os registos de predication e o pq é possível remover completamente os branchs, executando ambos em simultâneo e apenas activar os resultados de um deles. Multi-Way Branch Esta técnica é utilizada para evitar testes de branching sucessivos, tornando possível num único ciclo (6 instruções) efectuar até três testes e os branch respectivos, utilizando o predication para activar apenas um branch. Early Branch Condition Testing É possível separar o teste da condição do próprio branch, efectuando o teste muito antes de este ser efectuado. Quando chega ao momento do salto é possível saber apenas utilizando a prediction se o salto é feito ou não. Branch Hinting É possível indicar se um branch é efectuado muito ou poucas vezes, melhorando a capacidade de pre-fetch de instruções. Branch Registers No caso de branchs indirectos é complicado saber o destino do salto até ao momento de execução. No entanto o compilador pode antes de tempo especificar num dos 8 registos de branch qual o endereço do branch antes de o efectuar. 64Bits IP Relative Branching via Immediate field Semelhante à técnica de Branch Registers, mas utilizados explicitamente para efectuar o prefetch. Loop Control Utiliza instruções especiais de branching que permitem, em hardware, calcular quando é que os ciclos vão terminar antes do tempo. Isto pode ser feito tanto no caso do ciclo ter um número fixo de iterações ou apenas sabendo a condição de paragem. É também possível especificar se o salto é efectuado muito ou poucas vezes (ex: br.many) Apesar da existência deste número elevado de técnicas, não é possível prever com 100% de eficiência todos os branch, sendo necessário verificar se foi efectuado o salto correcto. No entanto consegue-se garantir um número reduzido de erros e também que o tempo de penalidade de uma previsão errada são muito pequenos (1, 2 ou 6 ciclos). Branch Prediction Uma grande diferença em relação ao Pentium 4 é a forma como é realizada a previsão dos branchs. No Itanium existe um grande número de técnicas que permitem em tempo de compilação ajudar o processador a ter mais informação sobre os branchs. Entre estas técnicas temos: Página 5

6 In-Order Back-End Figura 7 - Exemplo da técnica de branch Multi-Way. Speculation Durante a execução de qualquer programa a quantidade de leituras de memória influenciam fortemente os tempos de paragem do pipeline. De modo reduzir o impacto destas paragens, no Itanium é possível fazer leituras de memória antes do tempo, mesmo que existam dependências desconhecidas pelo meio. A especulação permite permitir o impacto da latência no acesso a memória. Existem dois tipos de especulação: controle e dados. Na de controlo, mesmo não sabendo o resultado de um branch, é efectuado a leitura que se segue, e no caso de erro é executado código de recuperação (também gerado pelo compilador). Embora em caso de falha exista uma penalidade de recuperação, esta será menor que esperar pela latência da leitura. Na de dados, são efectuados loads avançados, tal como na de controlo, podendo existir escritas com destinos desconhecidos pelo meio. Esta informação é guardada numa estrutura ALAT (Advanced Load Address Table) de 32 entradas. Quando chega ao momento real da leitura, é verificado na ALAT se ainda se encontra válido, de modo a poder ser utilizado sem latência. Se não for válido, é efectuada a leitura tal como seria normal, sendo muito provável que o valor se encontre na cache. Tabela 4 - Exemplo de especulação de dados. Original Store(storeAddr, data)... Load(loadAddr, target) Use(target) Speculation advload(loadaddr, target)... Store(storeAddr, data) advcheck(target, recovery) Use(target) Devido ao facto de não ser possível saber em tempo de compilação se loadaddr e storeaddr são iguais, é realizada a sua especulação. Tal como no Pentium 4 existe uma fase no pipeline reservada para renomear os registos. No entanto, existe uma grande diferença, uma vez que esta técnica é utilizada para criar o stack frame de cada função, através da utilização de registos. Nesse conjunto de registos existem 128 registos inteiros, dos quais apenas 32 são fixos. Os restantes são reservados em stack (mapeados em memória, mas instanciados em registos verdadeiros ) consoante a necessidade. Cada stack frame encontra-se dividida dinamicamente em três partes, local, input e output. Quando um A chama B, o output de A passa a ser o input de B e é reservado o espaço necessário para as restantes duas partes. A grande vantagem deste sistema é reduzir a quantidade de leituras e escritas de memória, pois os acessos a memória (registos mapeados em memória) podem ser feitos, não só quando são necessários, mas quando existe oportunidade para os fazer, melhorando a eficiência. Devido ao facto do Itanium ser um processador RISC possui um grande número de registos, permitindo assim diminuir a necessidade de transferências de memória. A distribuição dos registos principais é feita conforme a seguinte tabela. Tabela 5 - Distribuição dos registos do Itanium. Tipo Quantidade Tamanho (bits) Integer Floating Point Predicate Registers 64 1 Branch 8 64 De Aplicação Memory Subsystem No Itanium existem três níveis de caches com capacidade de transferência entre cada nível de (incluindo entre L1 e processador) 32 bytes por ciclo, ou seja, 32Gbytes/s. Em tempo de compilação é possível especificar cache hints, que permitem colocar antecipadamente em cache os dados respectivos. Tabela 6 - Propriedades das caches do Itanium. Tipo Tamanho Vias Tamanho Blocos Tempo Acesso Política escrita Página 6

7 Tipo Tamanho Vias Tamanho Blocos Tempo Acesso L1I 16 Kbytes 4 64 bytes 1 L1D 16 Kbytes 4 64 bytes 1 L2 256 Kbytes bytes (leituras parciais) 5, 7, 9+ Política escrita Through Through Back cache estão os dados. Isto permite, em caso de sucesso, aceder aos dados em 1 ciclo. A TLB de dados de nível 1 apenas possui 2 portas porque apenas é utilizada para inteiros. A TLB de nível 2 é unificada (instruções e dados), possui 128 entradas e é completamente associativa. Os acessos a unidades de floating point são feitos através do nível 2. Embora o tempo de acesso a floating points seja mais elevado, na prática é preferível optimizar a leituras de inteiros porque são muito mais utilizados. L3 3 Mbytes bytes (leituras completas) 12+ Back No caso de falta na cache L3 é utilizado um barramento externo de acesso à memória. Este barramento possui uma largura de banda de 6.4GB/s, que é conseguida através de um comprimento do barramento 128 bits de e uma taxa de transferência a 800 Mhz (400 Mhz double-pumped). Como consequência directa da velocidade do barramento, não só diminui o tempo de latência do acesso á memória, como também melhora o funcionamento deste processador em sistemas multi-processador, como é comum em servidores. Devido ao pipeline ser bastante simplificado, é possível ter um sistema de memória bastante mais complexo. O sistema possui 64 bits de endereço virtual e 50 bits de endereços físicos, permitindo assim 1024TB de endereços. Figura 8 - Organização dos níveis de caches do Itanium. Ambas as TLB de nível 1 do sistema utilizam um sistema de prevalidated-tags. Este sistema baseia-se no facto de se não existir uma entrada na TLB, então não vai ser possível aceder ao valor cache. Assim, a TLB possui o mesmo número de entradas da cache L1 e guarda em que via da 4. Comparação entre Pentium 4 e Itanium 2 O principal objectivo do Pentium 4, muito devido ao mercado a que se destina, é atingir uma elevada frequência de relógio, visto que a maioria dos utilizadores considera este valor de frequência como um elevado poder de processamento. Estes valores de frequência foram conseguidos através do longo pipeline. Contudo, este pipeline longo torna o processador mais complicado e faz com que este tenha um conjunto de buffers mais elevado. Outro facto que complica o hardware do Pentium 4 relativamente ao Itanium é o facto de este ser um processador out-of-order, o que leva a que as instruções store só possam ser finalizadas após terem sido reordenadas de acordo com o programa original. Devido ao pipeline longo do pentium 4 são necessários muitos ciclos de relógio até os stores serem completados. Para permitir a utilização dos valores das instruções de store pendentes, o Pentium 4 utiliza um buffer de 24 posições (que corresponde ao número máximo de instruções store que podem existir em simultâneo no pipeline) com esses valores, de modo a poderem ser utilizados pelas instruções load (store-to-load forwarding). Contudo este processo não é aplicado caso o número total de bytes necessários pela instrução load não estiver na instrução store pendente, o que leva a uma perda de performance. Em comparação com o Itanium 2 o processador Pentium 4 fornece um número reduzido de registos, apenas 8 registos genéricos, o que faz com que haja um maior número de acessos a memória O facto de o Pentium 4 ser um processador CISC faz com que exista um aumento na complexidade e no tempo de execução da instrução devido a sua descodificação para o formato RISC. Contudo, a Trace Cache permitiu diminuir o peso desta operação. Por exemplo, no caso dos ciclos das aplicações, as instruções do ciclo apenas necessitam de ser descodificadas na primeira iteração. De modo a optimizar o espaço ocupado pelas instruções descodificadas na Trace Cache, o seu branch predictor e o branch bredictor do front-end apenas permitem que sejam armazenadas instruções que sejam realmente executadas. Página 7

8 As duas unidades ALU do Pentium 4 funcionam ao dobro da velocidade das restantes, o que permite concluir que este processador se encontra optimizado para a execução de instruções simples. Contudo, ele também fornece um grande número de instruções que optimizam as aplicações multimédia (Streaming "Single Instruction, Multiple Data" Extensions). Uma desvantagem que o Itanium apresenta em relação ao Pentium 4 é a utilização do stack das funções em registos., de modo a optimizar as frequentes mudanças de contexto existentes Embora seja muito mais eficiente em termos de tempo de acesso (devido às caches), existe uma limitação de 128 posições de 64 bits para cada stack (que inclui variáveis de input, de output e locais) enquanto que o stack do Pentium 4 é configurável para cada programa e sem grandes limitações. A arquitectura do Pentium 4 (x86) é mais antiga que a do Itanium 2, portanto não possui muitas das suas vantagens de arquitectura. No entanto, encontra-se muito bem distribuída pelo mundo como base computacional, existindo bom suporte e software optimizado. Por outro lado, o Itanium apresenta excelentes capacidades para sistemas back-end. As suas vantagens de performance, estabilidade, disponibilidade e segurança são o ideal para situações criticas de negócio. Os sistemas Itanium possuem também mais protecções a nível de segurança de dados, chamadas de RAS (reliability, availability, serviceability). Este aspecto da segurança é muito importante nos sistemas a que este processador se destina. 2 a 4 processadores (sendo possível, mas não muito comum, 32). Isto deve-se principalmente devido ao tamanho do espaço de endereçamento, velocidade do barramento e segurança de dados. Devemos também lembrar que estes sistemas não são completamente distintos. Embora um grande factor decisivo seja o elevado preço dos Itanium, é possível combinar sistemas front-end com Pentium 4 com os back-end com Itanium2 optimizando os resultados. Para facilitar esta transição, os processadores Itanium podem realizar a emulação de instruções x86, tanto em hardware como em software. No entanto, a emulação por hardware é bastante lenta, devido à ausência de um motor out-of-order e das ajudas feitas pelo compilador. Assim, a emulação por hardware vai desaparecer nas próximas versões do Itanium, ficando apenas disponível a emulação por software. Apesar do que seria previsto, esta emulação por software aplica ao código x86 as optimizações do Itanium, conseguindo-se assim um desempenho maior. Referências [1] Intel Corp, The Microarchitecture of the Pentium 4 Processor [2] McNairy, C., Soltis, D., Itanium 2 Processor Microarchitecture [3] - Kelley, S., e Lu, Z. Intel Pentium 4 Processor [4] Itanium Solutions, Itanium 2 based solutions and the x86 architecture [5] HP Corp, Inside the Intel Itanium 2 Processor [6] Intel Corp, IA-32 Intel Architecture Reference Manual [7] Almeida, T., Ventura, J., Intel Pentium 4 [8] Maranho, F., Diniz, D., Arquitectura Itanium 2 Figura 9 - Características RAS do Itanium 2 vs x86. A adicionar a estas vantagens temos ainda a capacidade de multi-processamento dos sistemas Itanium, que permitem interligar com facilidade muitos processadores (até 512), enquanto que o Pentium 4 apenas está preparado para ligar Página 8

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64 Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução

Leia mais

Arquitetura e Organização de Computadores 2

Arquitetura e Organização de Computadores 2 Arquitetura e Organização de Computadores 2 Escalonamento Estático e Arquiteturas VLIW Dynamic Scheduling, Multiple Issue, and Speculation Modern microarchitectures: Dynamic scheduling + multiple issue

Leia mais

Unidade 4 Paralelismo em Nível de Instrução. Filipe Moura de Lima Gutenberg Pessoa Botelho Neto Thiago Vinícius Freire de Araújo Ribeiro

Unidade 4 Paralelismo em Nível de Instrução. Filipe Moura de Lima Gutenberg Pessoa Botelho Neto Thiago Vinícius Freire de Araújo Ribeiro Unidade 4 Paralelismo em Nível de Instrução Filipe Moura de Lima Gutenberg Pessoa Botelho Neto Thiago Vinícius Freire de Araújo Ribeiro Sumário Introdução O Pipeline Pipeline em diferentes CPUs ARM Cortex-A9

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 Operativos I

Sistemas Operativos I Gestão da Memória Luis Lino Ferreira / Maria João Viamonte Fevereiro de 2006 Gestão da Memória Gestão de memória? Porquê? Atribuição de instruções e dados à memória Endereços lógicos e físicos Overlays

Leia mais

Organização de Computadores 2005/2006 Processadores Intel

Organização de Computadores 2005/2006 Processadores Intel Organização de Computadores 2005/2006 Processadores Intel Paulo Ferreira paf a dei.isep.ipp.pt Março de 2006 Pré História 2 8080.............................................................................................

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

Cap. 5 - Microprocessadores

Cap. 5 - Microprocessadores Cap. 5 - Microprocessadores Arquitectura de Computadores 2010/2011 Licenciatura em Informática de Gestão Dora Melo (Responsável) Originais cedidos gentilmente por António Trigo (2009/2010) Instituto Superior

Leia mais

Processador ARM Cortex-A9

Processador ARM Cortex-A9 Erick Nogueira Nascimento (032483) Franz Pietz (076673) Lucas Watanabe (134068) 11 de junho de 2012 Introdução Alto desempenho e economia de energia Arquitetura ARMv7-A Características do processador super-escalável

Leia mais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Os textos nestas caixas foram adicionados pelo Prof. Joubert William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 4 Memória cache Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Características Localização. Capacidade.

Leia mais

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento CPU - Significado CPU Central Processing Unit Unidade Central de Processamento CPU - Função Na CPU são executadas as instruções Instrução: comando que define integralmente uma operação a ser executada

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

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

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

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel O Nível ISA Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel Nível ISA (Instruction Set Architecture) Tipos de dados Inteiros (1, 2, 4 ou 8 bytes) Servem também para representar

Leia mais

Arquitetura de Von Neumann e os Computadores Modernos

Arquitetura de Von Neumann e os Computadores Modernos Arquitetura de Von Neumann e os Computadores Modernos Arquitetura de Computadores e Software Básico Aula 5 Flávia Maristela (flaviamsn@ifba.edu.br) Arquitetura de Von Neumann e as máquinas modernas Onde

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

Sequenciamento dinâmico

Sequenciamento dinâmico Sequenciamento dinâmico João Canas Ferreira Outubro de 2004 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3 a. ed., MKP c JCF, 2004 AAC (FEUP/LEIC) Sequenciamento

Leia mais

CPU Unidade Central de Processamento. História e progresso

CPU Unidade Central de Processamento. História e progresso CPU Unidade Central de Processamento História e progresso O microprocessador, ou CPU, como é mais conhecido, é o cérebro do computador e é ele que executa todos os cálculos e processamentos necessários,

Leia mais

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação

Leia 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

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

28/9/2010. Paralelismo no nível de instruções Processadores superescalares Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados

Leia mais

Hardware - Microprocessador

Hardware - Microprocessador Introdução Um microprocessador é um circuito integrado encarregue de executar as instruções de todos os programas armazenados na memória. É o motor que põe tudo a trabalhar desde o momento em que se liga

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD. AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO

Leia mais

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1 Arquiteturas que Exploram Paralismos: VLIW e Superscalar Ch9 1 Introdução VLIW (Very Long Instruction Word): Compilador empacota um número fixo de operações em uma instrução VLIW As operações dentro de

Leia mais

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software ANHANGUERA EDUCACIONAL Capítulo 2 Conceitos de Hardware e Software Hardware Um sistema computacional é um conjunto de de circuitos eletronicos. Unidade funcionais: processador, memória principal, dispositivo

Leia mais

Organização de Computadores 2005/2006 Processadores Intel

Organização de Computadores 2005/2006 Processadores Intel GoBack Organização de Computadores 2005/2006 Processadores Intel Paulo Ferreira paf a dei.isep.ipp.pt Março de 2006 ORGC Processadores Intel slide 1 Pré 8080 8086 80286 Pré ORGC Processadores Intel slide

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

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

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

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 1 Processadores Computador Processador ( CPU ) Memória E/S Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 2 Pastilha 3 Processadores (CPU,, Microcontroladores)

Leia mais

Aula 03 Regras de Segmentação e Switches

Aula 03 Regras de Segmentação e Switches Disciplina: Dispositivos de Rede II Professor: Jéferson Mendonça de Limas 4º Semestre Aula 03 Regras de Segmentação e Switches 2014/1 19/08/14 1 2de 38 Domínio de Colisão Os domínios de colisão são os

Leia mais

Conflitos. Aula 9. 31 de Março de 2005 1

Conflitos. Aula 9. 31 de Março de 2005 1 Conflitos Aula 9 31 de Março de 2005 1 Estrutura desta aula Taxonomia dos conflitos Dependências entre instruções Conflitos num pipeline Conflitos estruturais Conflitos de dados Conflitos de controlo Ref:

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

Modos de entrada/saída

Modos de entrada/saída Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Modos de entrada/saída Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo

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

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES 2010/2011 1 Processador O microprocessador, popularmente conhecido como processador, é um circuito integrado que realiza as funções de cálculo e tomada de

Leia mais

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Trabalho elaborado por: 980368 - Sérgio Gonçalves Lima 1010949 - Nisha Sudhirkumar Chaganlal Clusters O que é

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

Organização de Computadores 2005/2006 Processamento Paralelo

Organização de Computadores 2005/2006 Processamento Paralelo Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 Introdução 2 Porquê?...........................................................................................

Leia mais

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações Introdução aos Sistemas de Computação (6) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3.

Leia mais

29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;

29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução; Em 1993, foi lançada a primeira versão do processador Pentium, que operava a 60 MHz Além do uso otimizado da memória cache (tecnologia já amadurecida) e da multiplicação do clock, o Pentium passou a utilizar

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

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

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

1.3. Componentes dum sistema informático HARDWARE SOFTWARE 1.3. Componentes dum sistema informático Computador Sistema Informático HARDWARE SOFTWARE + Periféricos Sistema Operativo Aplicações HARDWARE - representa todos os componentes físicos de um sistema informático,

Leia mais

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura de Computadores. Sistemas Operacionais IV Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo

Leia mais

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional Tolerância a Faltas Sistema Computacional Sistema computacional: Formado por um conjunto de componentes internas Contém um estado interno Está sujeito a um conjunto de entradas, ou estímulos externos Tem

Leia mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

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

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

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1 Entrada e Saída Interface entre periféricos, processador e memória Fonte: Minho - Portugal 1 Ligação Processador/Memória - Periférico Processador Memória Controlo Dados Controlador Fonte: Minho - Portugal

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

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

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

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

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S Estruturas de sistemas de computação Sumário! Operação de um sistema de computação! Estruturas de E/S! Estruturas de armazenamento! Hierarquia de armazenamento 2 1 Arquitectura de um sistema de computação

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

Processadores clock, bits, memória cachê e múltiplos núcleos

Processadores clock, bits, memória cachê e múltiplos núcleos Processadores clock, bits, memória cachê e múltiplos núcleos Introdução Os processadores (ou CPUs, de Central Processing Unit) são chips responsáveis pela execução de cálculos, decisões lógicas e instruções

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

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Diminui o gargalo existente entre processador e memória principal; Diferença de velocidade 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Tecnologia semelhante à da CPU e,

Leia mais

SISTEMAS INFORMÁTICOS

SISTEMAS INFORMÁTICOS SISTEMAS INFORMÁTICOS Nesta apresentação, aprenderá a distinguir Hardware de software, identificar os principais componentes físicos de um computador e as suas funções. Hardware e Software Estrutura de

Leia mais

Escola Secundária de Emídio Navarro

Escola Secundária de Emídio Navarro Escola Secundária de Emídio Navarro Curso Secundário de Carácter Geral (Agrupamento 4) Introdução às Tecnologias de Informação Correcção da ficha de trabalho N.º 1 1. Refere algumas das principais áreas

Leia mais

Fesp - Tópicos Avançados II - Switching

Fesp - Tópicos Avançados II - Switching SWITCHING Quando o ethernet foi originalmente desenhado, os computadores eram lentos e as redes eram pequenas. Portanto, uma rede rodando a 10 mbps era mais que suficiente para qualquer aplicação. Atualmente,

Leia mais

Paralelismo a Nível de Instrução

Paralelismo a Nível de Instrução Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos

Leia mais

Sistemas Operativos. Gestão de memória. Rui Maranhão (rma@fe.up.pt)

Sistemas Operativos. Gestão de memória. Rui Maranhão (rma@fe.up.pt) Sistemas Operativos Gestão de memória Rui Maranhão (rma@fe.up.pt) Gestão de memória idealmente a memória seria grande rápida não volátil contudo, na realidade existem limitações físicas! Portanto... hierarquia

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

Gerência de Memória. Paginação

Gerência de Memória. Paginação Gerência de Memória Paginação Endereçamento Virtual (1) O programa usa endereços virtuais É necessário HW para traduzir cada endereço virtual em endereço físico MMU: Memory Management Unit Normalmente

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

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

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

Microprocessadores. Prof. Leonardo Barreto Campos 1

Microprocessadores. Prof. Leonardo Barreto Campos 1 Microprocessadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Arquitetura de Microprocessadores; Unidade de Controle UC; Unidade Lógica Aritméticas ULA; Arquitetura de von Neumann; Execução de

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Fundamentos em Informática

Fundamentos em Informática Fundamentos em Informática 04 Organização de Computadores nov/2011 Componentes básicos de um computador Memória Processador Periféricos Barramento Processador (ou microprocessador) responsável pelo tratamento

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

Implementação de pipelines

Implementação de pipelines Implementação de pipelines João Canas Ferreira Novembro de 2005 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP JCF, 2005 AAC (FEUP/LEIC) Implementação

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções

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

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

Arquitetura de processadores: RISC e CISC

Arquitetura de processadores: RISC e CISC Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo

Leia mais

Hardware Fundamental

Hardware Fundamental Hardware Fundamental Arquitectura de Computadores 10º Ano 2006/2007 Unidade de Sistema Um computador é um sistema capaz de processar informação de acordo com as instruções contidas em programas. Na década

Leia mais

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação 36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas

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

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

Microarquiteturas Avançadas

Microarquiteturas Avançadas Univ ersidade Federal do Rio de Janei ro Info rmátic a DCC/IM Arquitetura de Computadores II Microarquiteturas Avançadas Gabrie l P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo

Leia mais

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86 Arquitetura de Computadores Arquitetura dos Processadores Intel 80x86 Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Família Intel 80x86 Ao se falar

Leia mais

Estrutura e funcionamento de um sistema informático

Estrutura e funcionamento de um sistema informático Estrutura e funcionamento de um sistema informático 2006/2007 Sumário A constituição de um sistema informático: hardware e software. A placa principal. O processador, o barramento e a base digital. Ficha

Leia mais

Hardware. Objetivos da aula. Fornecer exemplos de processadores Intel. Esclarecer as diferenças e as tecnologias embutidas nos processadores Intel.

Hardware. Objetivos da aula. Fornecer exemplos de processadores Intel. Esclarecer as diferenças e as tecnologias embutidas nos processadores Intel. Hardware UCP Unidade Central de Processamento Características dos processadores Intel Disciplina: Organização e Arquitetura de Computadores Prof. Luiz Antonio do Nascimento Faculdade Nossa Cidade Objetivos

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

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

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

Serviços de Comunicações. Serviços de Comunicações. Módulo 7 Qualidade de Serviço em redes IP. condições de rede existentes em cada momento

Serviços de Comunicações. Serviços de Comunicações. Módulo 7 Qualidade de Serviço em redes IP. condições de rede existentes em cada momento Módulo 7 Qualidade de Serviço em redes IP 7.1. O porquê da Qualidade de Serviço 7.2. Mecanismos para QoS 7.3. Modelo de Serviços Integrados - IntServ 7.4. Modelo de Serviços Diferenciados - DiffServ 1

Leia mais

Gestão de Memória. DCC/FCUP Fernando Silva Sistemas de Operação 1

Gestão de Memória. DCC/FCUP Fernando Silva Sistemas de Operação 1 Gestão de Memória Como organizar a memória de forma a saber-se qual o espaço livre para carregar novos processos e qual o espaço ocupado por processos já em memória? Como associar endereços de variáveis

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