SlideShare une entreprise Scribd logo
1  sur  31
INTEL CORE DUO
Microarquitectura
07/09/2015
Microarquitectura
• É o nível acima do nível digital tem a
função se garantir o funcionamento do
computador a nível de arquitetura de
conjunto de instruções (ISA).
• Neste nível tem se o acesso a todos os
recursos de hardware como
registadores, barramentos, ULA,
memoria.
• Notemos que o computador de 6 níveis,
onde cada nível suporta o nível acima.
07/09/2015
Microarquitectura
• Os desenvolvimentos do micro arquitetura é benéfico, porem este deve avaliar as condições
de implementação da ISA e dos seguintes pontos:
• Área física do chip e custo
• Consumo de energia
• Complexidade da logica
• Facilidade de conexão
• Facilidade de encontrar erros
• Testabilidade
• Velocidade
• Facilidade de uso
• Confiabilidade
07/09/2015
Conceitos básicos em microarquitectura
• Instruction pipelining
Execução de varias instruções em paralelismo ou seja instruções executadas em simultâneo mas com
estágios de evolução diferentes.
• Ciclo de instrução
• Leitura da instrução e decodificação da mesma.
• Encontrar algum dado associado a esta que seja necessário processar a instrução
• Processamento de instrução
• Escrita dos resultados em um dispositivo de saída ou entrada.
• O ciclo de instrução é repetido continuamente ate que a máquina seja desligada
07/09/2015
Conceitos básicos em microarquitectura
• Memória virtual
É uma técnica que usa a memória secundária como uma cache para armazenamento secundário.
• Memoria cache
Memória de alta velocidade em relação a RAM externa, esta está dentro do processador, usada para armazenar
dados que o processador pode precisar. É implementada nas maquinas “Stored Program computer”.
• Caminho de dados
É a parte da CPU que contem a ULA suas entradas e suas saídas para determinar o fluxo de dados.
• Microinstruções
Comandos que controlam o fluxo de dados e o sequenciamento de instruções de execução em um processador,
comandos estes executados pelo sequenciador lógico e gozam da unicidade de arquitetura para arquitetura.
07/09/2015
Conceitos básicos em microarquitectura
• Hiperthreading
Divisão de um programa em múltiplas threads de execução que são pipelines em nível mais alto.
• Superescalar
Este conceito é introduzido a medida que os arquitetos notaram a eficiência do uso de pipelines, de a necessidade de
aumentar o número destas unidades dentro do microprocessador.
• Multinúcleo
Multinúcleo (múltiplos núcleos, do inglês multicores) consiste em colocar dois ou mais núcleos de processamento
(cores) no interior de um único chip.
Melhorou as capacidades de resfriamento
maior desempenho com menor energia, fator importante em dispositivos móveis que funcionam com baterias
• Porem para que a qualidade de processamento paralelo dos multicores seja utilizada na sua totalidade os softwares
instalados na máquina devem ser escritos para aproveitar esse recurso; para isso as aplicações devem ser escritas
utilizando e armazenando os conceitos de threads, assim uma única aplicação utilizará o poder de processamentos
dos dois ou mais processadores. 07/09/2015
MICROARQUITECTURA INTEL CORE
CORE DUO
07/09/2015
FACTOS HISTÓRICOS
• A microarquitectura Intel Core é uma microarquitectura lançada pela Intel em
Fevereiro 2006. É baseada na microarquitectura de Pentium III, com varias
melhorias, algumas presentes em Pentium M.
• O alto consumo elétrico dos processadores baseados na microarquitectura
NetBurst usada em Pentium IV, bem como a consequente dificuldade de se
aumentar a sua frequência foi a razão principal da Intel ter abandonado
NetBurst (Pentium IV).
• Arquitetura apresenta menor consumo elétrico que as anteriores, é
competitiva, Seus produtos derivados são multinúcleos e suporte à
virtualização por hardware e construído com tecnologia 65 nm.
07/09/2015
Características arquitetónicas
• 64 KB de cache L1 (32 KB de dados + 32 KB de instruções) por núcleo 2 MB, 4 MB ou 8 MB de cache de
memória L2 compartilhado. Core Duo originais possuem 2 MB de memória cache L2
• A arquitetura Core possui um pipeline de 14 estágios,
• Três unidades logicas e aritméticas
• Micro-fusão
• Um recurso novo na arquitetura Core é a fusão de instruções , que é a capacidade de combinar duas
instruções x86 dentro de apenas uma micro instrução aumentando o desempenho, pois o processador
executará apenas uma microinstrução em vez de duas.
• Quatro descodificadores, com capacidade ate 5 instruções por ciclo
• Tecnologia de 65 nm (Distancia entre as células dos transístores);
07/09/2015
Características arquitetónicas
• Soquete 775;
• Barramento externo de 800 MHz (200 MHz transferindo quatro dados por pulso de clock) ou
1.066 MHz (266 MHz transferindo quatro dados por pulso de clock)
• Tecnologia de Virtualização
• Permite o uso de máquinas virtuais nos computadores permitindo assim o uso de múltiplos
sistemas.
• Instruções SSE3 para aritmética de ponto flutuante;
• Execute Disable;
• Inteligent Power Capability;
• Tecnologia Enhanced SpeedStep.
• Tecnologia de múltiplas threads
07/09/2015
Características arquitetónicas
• Advanced Digital Media Boost
Outro recurso novo é um caminho de dados real de 128 bits, Assim quando uma instrução que
trabalhava dados de 128 bits era executada, ela tinha que ser quebrada em duas operações de
64 bits. A Intel chama esse novo recurso de “Advanced Digital Media Boost”.
• Advanced power gating
A arquitetura Core possui uma tecnologia de chaveamento elétrico avançado (advanced power
gating) que permite ao processador desligar unidades que não estão sendo usadas no
momento, só que isso vai mais longe, o processador pode desligar partes específicas dentro de
cada unidade do processador de modo a economizar energia para dissipar menos calor.
• Outra capacidade é ligar apenas os bits necessários usados nos barramentos internos do
processador.
07/09/2015
Estrutura geral do processador core duo
• Advanced Programmable Interrupt Controller (APIC) Controlador
avançado de instrução programável.
O APIC pode proporcionar interrupções, que permitem que todo o processo para
interromper qualquer outro processador ou conjunto de processadores.
• Thermal Control
Logica de gerenciamento de energia é responsável pela redução de
consumo de energia sempre que possível, aumentando assim a vida
útil da bateria para caso de plataformas moveis.
Em essência, a logica de gerenciamento de energia monitora as
condições térmicas da atividade da CPU e ajusta os níveis de tensão
e consumo de energia de forma adequada
07/09/2015
Conjunto de instruções nesta microarquitectura
• A intel adotou intruções de x86
• Os registradores tem 64 bits, uma extensão de 32 bits. Deste modo uma
instrução de 64 bits ao invés de ser repartida este processador pode
executá-la por inteiro.
• capacidades como tecnologias de multimédia e SSE
Streaming SIMD Extensions
Single
Instruction
Multiple
Data 07/09/2015
Propriedades básicas da arquitetura x86
• Micro-operações
Dividir a maioria das instruções em pedaços menores, são então entregues a
uma unidade de controlo para que possam ser executadas, parcialmente em
paralelo, por uma das várias unidades de execução.
• Registradores
• 8 registradores de uso geral dos quais 8 são estendidos,
• 6 registradores de segmento,
• 1 registrador de flags,
• um Apontador de Execução (Instruction Pointer)
• 16 para propósito de multimédia e aritmética de ponto flutuante SSE.
07/09/2015
Registradores de uso geral
• EAX - Acumulador. Usado em operações aritméticas.
• ECX - Contador. Usado em laços.
• EDX - Registrador de Dados. Usado em operações de entrada/saída e em multiplicações e divisões. É
também uma extensão do Acumulador.
• EBX - Base. Usado para apontar para dados no segmento DS.
• ESP - Apontador da Pilha (Stack Pointer). Aponta para o topo da pilha (endereço mais baixo dos elementos
da pilha).
• EBP - Apontador da base da frame. Usado para aceder a argumentos de procedimentos passados pela
pilha.
• ESI - Índice da fonte de dados a copiar (Source Index). Aponta para dados a copiar para DS:EDI.
• EDI - Índice do destino de dados a copiar (Destination Index). Aponta para o destino dos dados a copiar de
DS:ESI.
• Estes 8 registradores têm 32 bits cada um e dizem-se Estendidos
07/09/2015
REGISTRADORES DE SEGMENTO
• Armazenam informações sobre dados, instruções, endereços
segmentados.
• Os registradores de segmento detêm seletores de segmento de 16 bits.
Um seletor de segmento é um ponteiro especial que identifica um
segmento na memória.
• O uso dos registadores de segmento depende do tipo de modelo de
gerenciador de memoria que os sistema operacional esta executando.
• modelo de memória plana ou não segmentada (unsegmented)
• modelo de memória segmentada,
07/09/2015
Modelo de memória plana ou não
segmentada (unsegmented)
Registradores de segmento são carregados com
seletores de segmento que apontam para segmentos
sobrepostos, cada um dos quais começa no endereço
zero do espaço de endereço linear
07/09/2015
Tipicamente, dois segmentos sobrepostos são
definidos: um para o código e outro para dados e
pilhas. Os registos de segmento CS apontam para o
código de segmento e todos os outros registos do
segmento apontam para o segmento de dados e pilha.
Não permite o uso de recursos de múltiplas threads e multi-core
MODELO DE MEMÓRIA SEGMENTADA
Ao usar o modelo de memória segmentada, cada
registro de segmento é normalmente carregado
com seletor de segmento diferente de modo que
cada registro de segmento aponte a um
segmento diferente no espaço de endereço
linear.
07/09/2015
A qualquer momento, um programa pode, assim,
aceder até seis segmentos no espaço de
endereço linear. Para aceder a um segmento não
apontado por um dos registradores de segmento,
um programa deve primeiro carregar o seletor de
segmento para o segmento a ser acessada em um
registrador de segmento.
TIPOS DE REGISTADORES DE SEGMENTO
• CS - Segmento do Código
• DS - Segmento de Dados
• ES - Segmento com dados extras
• FS - Segmento com mais dados
• GS - Segmento com ainda mais dados
• SS - Segmento da Pilha (Stack)
07/09/2015Cada registo de segmento está associado com um dos três tipos de
armazenamento: código, dados e ou pilha.
• Por exemplo o segmento CS contem o seletor de segmento para o
segmento de código, onde as instruções estão sendo gravadas.
• Os registos de segmento DS,ES,FS e GS apontam para segmentos de dados.
Permitindo a eficiência e segurança no acesso de diferentes tipos de
estruturas de dados. Para acesso segmentos de dados, o programa de
aplicação deve carregar seletores de segmento para esses segmentos na
DS, ES, FS e GS registros, conforme necessário.
• O registo de segmento SS contem o seletor para pilha, onde procedimentos
da pilha são gravados para um programa, tarefa pu thread sendo
executado. Todas as operações usam o registro SS para encontrar o
segmento de pilha
07/09/2015
• Registos EFLAGS (Controle e estado de programa)
Os registos EFLAGS dão o repórter de um programa
sendo executado e permite a limitação do controle
do processador.
• PC
O Program Counter, do x86 é um registo interno que
aponta para a próxima instrução a ser executada.
07/09/2015
Caminho de dados
07/09/2015
Conjunto de instruções
• Transferência de dados
Ex: MOV move dados entre registos de propósito geral; Move dados entre
memória e registos de propósito geral ou registos de segmentos;
• Aritmética binaria
As instruções de aritmética binaria executam cálculos básicos sob inteiros
binários.
Ex: ADD, SUB,MUL, DIV, INC (Incrementa),DEC (Decrementa)
• Aritmética decimal
As instruções de aritmética decimal operam sob dados binários codificados em
decimal (BCD).
Ex: DAA Ajuste decimal depois de adição, DAS ajuste decimal depois da subtração
07/09/2015
Conjunto de instruções
• Logical
São instruções que operam as operações logicas básicas AND, OR, XOR, e NOT em um byte de
palavra
• Shift e rotate (deslocamento e rotação)
Estas instruções fazem o movimento e a rotação de bits em uma palavra.
Ex: SAR Deslocamento aritmético a direita, SAL/SHL Deslocamento aritmético a esquerda /
Deslocamento logico a esquerda
• Bit e byte
As instruções de teste de bit testam e modificam bits individuais em uma palavra. As
instruções de Byte modificam o valor de um byte que aponta para um FLAG em um registro
EFLAGS.
Ex: BT Teste de Bit, BTS Bit test and set, BTR Bit test and reset 07/09/2015
Conjunto de instruções
• Controle de transferência
As instruções de transferência de instruções, dão a possibilidade de fazer saltos em
partes de código, podemos ainda fazer saltos condicionais, laços e chamadas e
retornar a controle de operações de fluxo de programa.
Ex: JMP salto, JE/JZ salto se igual a zero/salto se zero, JNE/JNZ salto se não for
igual/salto se não for zero, CALL chamada a procedimento, RET Return
• String
Esta é uma novidade que esta arquitetura traz, que são as instruções para operação
de String em bytes, permitindo que estes sejam movidos para ou da memória.
Ex: MOVS/MOVSB Move String/Move byte String, MOVS/MOVSW Move
String/Move word String.
07/09/2015
Conjunto de instruções
• I/O
Estas instruções movem dados entre o processador e as portas I/O e registos ou
memoria.
Ex: IN Leitura a partir de porta, OUT Leitura em porta, INS/INSB entrada de String a partir
de porta/entrada de byte de String a partir de porta.
• Entrada e saída
Estas instruções fornecem suporte a linguagem maquina para chamadas a
procedimentos em blocos de linguagem estruturadas.
Ex: ENTER entrada a procedimentos de alto nível, LEAVE saída de
procedimentos de alto nível.
07/09/2015
Conjunto de instruções
• Controle de Flag
Estas instruções operam nas FLAGS nos registos EFLAGS.
Ex: CLC Clear the carry flag, CLD Clear the direction flag, STD Set direction flag
• Registo de segmento
Instruções de registo de segmento permitem que segmentos de endereços sejam lidos nos
registos de segmentos.
Ex: LDS Load far pointer using DS, LES, LFS, LGS, LSS.
• Diversos
Estas instruções fornecem funções como leitura de endereços efetivos, execução de “no-
operation,” e recobrando informação de identificação de processador.
Ex; LEA Load effective address, NOP No operation, UD2 instrução não definida
• Instruções de geração de números aleatórios
Estas instruções fornecem mecanismos para geração de número aleatórios.
07/09/2015
Formato de instruções
As instruções nesta arquitetura podem ter dentre 1 a 15 bytes.
Para o formato de instruções nesta arquitetura temos:
• Prefixos de instruções (opcionais) até 4 bytes
• Código de operação (OPCODE) ate 3 bytes
• Especificador de forma de endereçamento (ModR/M) 1 byte
• Escala de base indexada (Scale-index-base) 1 byte
• Deslocamento (displacement) e Immediate, este são campos opcionais que em certas
formas de endereçamento há necessidade de localizar um operando na memória
07/09/2015
Caraterísticas físicas e especto térmicos do Intel core duo
FCPGA (Flip Chip Pin Grid Array) FCBGA (Flip Chip Ball Grid Array)
07/09/2015
Nesta arquitetura a Lei de Moore prevaleceu e, a capacidade de integração de
transístores foi de cerca de 152 milhões.
07/09/2015
Estudar, pesquisar cultivando a ciência e a Técnica…
Obrigado Pela
Atenção
07/09/2015

Contenu connexe

Tendances

Aula04 - Arquitetura e manutanção de Computadores
Aula04 - Arquitetura e manutanção de ComputadoresAula04 - Arquitetura e manutanção de Computadores
Aula04 - Arquitetura e manutanção de ComputadoresJorge Ávila Miranda
 
Curso MMM - Aula 02 - Processadores
Curso MMM - Aula 02 - ProcessadoresCurso MMM - Aula 02 - Processadores
Curso MMM - Aula 02 - ProcessadoresSpartan Digital
 
Aula06 - Arquitetura e Manutenção de Computadores
Aula06 - Arquitetura e Manutenção de ComputadoresAula06 - Arquitetura e Manutenção de Computadores
Aula06 - Arquitetura e Manutenção de ComputadoresJorge Ávila Miranda
 
Microprocessadores
MicroprocessadoresMicroprocessadores
MicroprocessadoresSOL RIBEIRO
 
Trabalho de tec
Trabalho de tecTrabalho de tec
Trabalho de tecpower400
 
Trabalhos dos alunos: Processadores
Trabalhos dos alunos: ProcessadoresTrabalhos dos alunos: Processadores
Trabalhos dos alunos: Processadoresteixeiraafm1
 
Slide processadores (backup)2
Slide processadores (backup)2Slide processadores (backup)2
Slide processadores (backup)2leandrocovre
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Processadores Multicore
Processadores MulticoreProcessadores Multicore
Processadores Multicoreglauco
 
04 hardwere (microprocessador)
04   hardwere (microprocessador)04   hardwere (microprocessador)
04 hardwere (microprocessador)Elizeu Ferro
 
Aula 02 importância do chipset na escolha
Aula 02   importância do chipset na escolhaAula 02   importância do chipset na escolha
Aula 02 importância do chipset na escolhaMarcos Basilio
 

Tendances (20)

Aula04 - Arquitetura e manutanção de Computadores
Aula04 - Arquitetura e manutanção de ComputadoresAula04 - Arquitetura e manutanção de Computadores
Aula04 - Arquitetura e manutanção de Computadores
 
Curso MMM - Aula 02 - Processadores
Curso MMM - Aula 02 - ProcessadoresCurso MMM - Aula 02 - Processadores
Curso MMM - Aula 02 - Processadores
 
Processadores
ProcessadoresProcessadores
Processadores
 
Aula06 - Arquitetura e Manutenção de Computadores
Aula06 - Arquitetura e Manutenção de ComputadoresAula06 - Arquitetura e Manutenção de Computadores
Aula06 - Arquitetura e Manutenção de Computadores
 
Microprocessadores
MicroprocessadoresMicroprocessadores
Microprocessadores
 
Trabalho de tec
Trabalho de tecTrabalho de tec
Trabalho de tec
 
Trabalhos dos alunos: Processadores
Trabalhos dos alunos: ProcessadoresTrabalhos dos alunos: Processadores
Trabalhos dos alunos: Processadores
 
Processador
ProcessadorProcessador
Processador
 
Slide processadores (backup)2
Slide processadores (backup)2Slide processadores (backup)2
Slide processadores (backup)2
 
Processadores
ProcessadoresProcessadores
Processadores
 
Aula 01-introducao-ao-so
Aula 01-introducao-ao-soAula 01-introducao-ao-so
Aula 01-introducao-ao-so
 
Processadores
ProcessadoresProcessadores
Processadores
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Processadores Multicore
Processadores MulticoreProcessadores Multicore
Processadores Multicore
 
Arquitetura 9
Arquitetura 9Arquitetura 9
Arquitetura 9
 
Aula 05-entrada e-saida
Aula 05-entrada e-saidaAula 05-entrada e-saida
Aula 05-entrada e-saida
 
04 hardwere (microprocessador)
04   hardwere (microprocessador)04   hardwere (microprocessador)
04 hardwere (microprocessador)
 
Aula 02 importância do chipset na escolha
Aula 02   importância do chipset na escolhaAula 02   importância do chipset na escolha
Aula 02 importância do chipset na escolha
 
Processador
ProcessadorProcessador
Processador
 
Microprocessadores
MicroprocessadoresMicroprocessadores
Microprocessadores
 

En vedette

Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02bruno santos ferreira
 
50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidosEdvan Mateó
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Apostila de algoritmo e programação
Apostila de algoritmo e programaçãoApostila de algoritmo e programação
Apostila de algoritmo e programaçãoThiago Marques
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobolAlexByDoomS
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 

En vedette (12)

Aula 5 aed - vetores
Aula 5   aed - vetoresAula 5   aed - vetores
Aula 5 aed - vetores
 
Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02
 
50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos
 
MIPS Pipeline
MIPS Pipeline MIPS Pipeline
MIPS Pipeline
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Aula 07-oac-processadores
Aula 07-oac-processadoresAula 07-oac-processadores
Aula 07-oac-processadores
 
Apostila de algoritmo e programação
Apostila de algoritmo e programaçãoApostila de algoritmo e programação
Apostila de algoritmo e programação
 
COBOL
COBOLCOBOL
COBOL
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
 
Seminário: C
Seminário: CSeminário: C
Seminário: C
 
Seminário: COBOL
Seminário: COBOLSeminário: COBOL
Seminário: COBOL
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 

Similaire à Microarquitetura Intel Core Duo

Apresentacao
ApresentacaoApresentacao
Apresentacaopcassio23
 
Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Luis Ferreira
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Flávia Martins
 
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 ASUS Brazil
 
Introdução a computação 04 (1)
Introdução a computação 04 (1)Introdução a computação 04 (1)
Introdução a computação 04 (1)Felipe Pereira
 
Introdução a computação 04
Introdução a computação 04Introdução a computação 04
Introdução a computação 04Felipe Pereira
 
Hierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptxHierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptxOsvaldoJooNhabete
 
Funcionamento de um sistema de computação
Funcionamento de um sistema de computaçãoFuncionamento de um sistema de computação
Funcionamento de um sistema de computaçãoPAULO Moreira
 
Arquiteturas_risc_e_cisc
Arquiteturas_risc_e_ciscArquiteturas_risc_e_cisc
Arquiteturas_risc_e_ciscBruno Dias
 
1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic1 história e características dos microcontroladores pic
1 história e características dos microcontroladores picAnderson Inácio Morais
 

Similaire à Microarquitetura Intel Core Duo (20)

Apresentacao
ApresentacaoApresentacao
Apresentacao
 
1984
19841984
1984
 
Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4
 
Processadores
ProcessadoresProcessadores
Processadores
 
Aula 01 chipset
Aula 01   chipsetAula 01   chipset
Aula 01 chipset
 
Resumo x86
Resumo x86Resumo x86
Resumo x86
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4
 
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
 
Introdução a computação 04 (1)
Introdução a computação 04 (1)Introdução a computação 04 (1)
Introdução a computação 04 (1)
 
Introdução a computação 04
Introdução a computação 04Introdução a computação 04
Introdução a computação 04
 
Ac16 conjunto de instruções v2
Ac16   conjunto de instruções v2Ac16   conjunto de instruções v2
Ac16 conjunto de instruções v2
 
Arm Cortex
Arm CortexArm Cortex
Arm Cortex
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Hierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptxHierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptx
 
Funcionamento de um sistema de computação
Funcionamento de um sistema de computaçãoFuncionamento de um sistema de computação
Funcionamento de um sistema de computação
 
Arquiteturas_risc_e_cisc
Arquiteturas_risc_e_ciscArquiteturas_risc_e_cisc
Arquiteturas_risc_e_cisc
 
Arquitetura 8 1
Arquitetura 8 1Arquitetura 8 1
Arquitetura 8 1
 
Arquitetura 8 1
Arquitetura 8 1Arquitetura 8 1
Arquitetura 8 1
 
Mini-curso CUDA
Mini-curso CUDAMini-curso CUDA
Mini-curso CUDA
 
1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic
 

Microarquitetura Intel Core Duo

  • 2. Microarquitectura • É o nível acima do nível digital tem a função se garantir o funcionamento do computador a nível de arquitetura de conjunto de instruções (ISA). • Neste nível tem se o acesso a todos os recursos de hardware como registadores, barramentos, ULA, memoria. • Notemos que o computador de 6 níveis, onde cada nível suporta o nível acima. 07/09/2015
  • 3. Microarquitectura • Os desenvolvimentos do micro arquitetura é benéfico, porem este deve avaliar as condições de implementação da ISA e dos seguintes pontos: • Área física do chip e custo • Consumo de energia • Complexidade da logica • Facilidade de conexão • Facilidade de encontrar erros • Testabilidade • Velocidade • Facilidade de uso • Confiabilidade 07/09/2015
  • 4. Conceitos básicos em microarquitectura • Instruction pipelining Execução de varias instruções em paralelismo ou seja instruções executadas em simultâneo mas com estágios de evolução diferentes. • Ciclo de instrução • Leitura da instrução e decodificação da mesma. • Encontrar algum dado associado a esta que seja necessário processar a instrução • Processamento de instrução • Escrita dos resultados em um dispositivo de saída ou entrada. • O ciclo de instrução é repetido continuamente ate que a máquina seja desligada 07/09/2015
  • 5. Conceitos básicos em microarquitectura • Memória virtual É uma técnica que usa a memória secundária como uma cache para armazenamento secundário. • Memoria cache Memória de alta velocidade em relação a RAM externa, esta está dentro do processador, usada para armazenar dados que o processador pode precisar. É implementada nas maquinas “Stored Program computer”. • Caminho de dados É a parte da CPU que contem a ULA suas entradas e suas saídas para determinar o fluxo de dados. • Microinstruções Comandos que controlam o fluxo de dados e o sequenciamento de instruções de execução em um processador, comandos estes executados pelo sequenciador lógico e gozam da unicidade de arquitetura para arquitetura. 07/09/2015
  • 6. Conceitos básicos em microarquitectura • Hiperthreading Divisão de um programa em múltiplas threads de execução que são pipelines em nível mais alto. • Superescalar Este conceito é introduzido a medida que os arquitetos notaram a eficiência do uso de pipelines, de a necessidade de aumentar o número destas unidades dentro do microprocessador. • Multinúcleo Multinúcleo (múltiplos núcleos, do inglês multicores) consiste em colocar dois ou mais núcleos de processamento (cores) no interior de um único chip. Melhorou as capacidades de resfriamento maior desempenho com menor energia, fator importante em dispositivos móveis que funcionam com baterias • Porem para que a qualidade de processamento paralelo dos multicores seja utilizada na sua totalidade os softwares instalados na máquina devem ser escritos para aproveitar esse recurso; para isso as aplicações devem ser escritas utilizando e armazenando os conceitos de threads, assim uma única aplicação utilizará o poder de processamentos dos dois ou mais processadores. 07/09/2015
  • 8. FACTOS HISTÓRICOS • A microarquitectura Intel Core é uma microarquitectura lançada pela Intel em Fevereiro 2006. É baseada na microarquitectura de Pentium III, com varias melhorias, algumas presentes em Pentium M. • O alto consumo elétrico dos processadores baseados na microarquitectura NetBurst usada em Pentium IV, bem como a consequente dificuldade de se aumentar a sua frequência foi a razão principal da Intel ter abandonado NetBurst (Pentium IV). • Arquitetura apresenta menor consumo elétrico que as anteriores, é competitiva, Seus produtos derivados são multinúcleos e suporte à virtualização por hardware e construído com tecnologia 65 nm. 07/09/2015
  • 9. Características arquitetónicas • 64 KB de cache L1 (32 KB de dados + 32 KB de instruções) por núcleo 2 MB, 4 MB ou 8 MB de cache de memória L2 compartilhado. Core Duo originais possuem 2 MB de memória cache L2 • A arquitetura Core possui um pipeline de 14 estágios, • Três unidades logicas e aritméticas • Micro-fusão • Um recurso novo na arquitetura Core é a fusão de instruções , que é a capacidade de combinar duas instruções x86 dentro de apenas uma micro instrução aumentando o desempenho, pois o processador executará apenas uma microinstrução em vez de duas. • Quatro descodificadores, com capacidade ate 5 instruções por ciclo • Tecnologia de 65 nm (Distancia entre as células dos transístores); 07/09/2015
  • 10. Características arquitetónicas • Soquete 775; • Barramento externo de 800 MHz (200 MHz transferindo quatro dados por pulso de clock) ou 1.066 MHz (266 MHz transferindo quatro dados por pulso de clock) • Tecnologia de Virtualização • Permite o uso de máquinas virtuais nos computadores permitindo assim o uso de múltiplos sistemas. • Instruções SSE3 para aritmética de ponto flutuante; • Execute Disable; • Inteligent Power Capability; • Tecnologia Enhanced SpeedStep. • Tecnologia de múltiplas threads 07/09/2015
  • 11. Características arquitetónicas • Advanced Digital Media Boost Outro recurso novo é um caminho de dados real de 128 bits, Assim quando uma instrução que trabalhava dados de 128 bits era executada, ela tinha que ser quebrada em duas operações de 64 bits. A Intel chama esse novo recurso de “Advanced Digital Media Boost”. • Advanced power gating A arquitetura Core possui uma tecnologia de chaveamento elétrico avançado (advanced power gating) que permite ao processador desligar unidades que não estão sendo usadas no momento, só que isso vai mais longe, o processador pode desligar partes específicas dentro de cada unidade do processador de modo a economizar energia para dissipar menos calor. • Outra capacidade é ligar apenas os bits necessários usados nos barramentos internos do processador. 07/09/2015
  • 12. Estrutura geral do processador core duo • Advanced Programmable Interrupt Controller (APIC) Controlador avançado de instrução programável. O APIC pode proporcionar interrupções, que permitem que todo o processo para interromper qualquer outro processador ou conjunto de processadores. • Thermal Control Logica de gerenciamento de energia é responsável pela redução de consumo de energia sempre que possível, aumentando assim a vida útil da bateria para caso de plataformas moveis. Em essência, a logica de gerenciamento de energia monitora as condições térmicas da atividade da CPU e ajusta os níveis de tensão e consumo de energia de forma adequada 07/09/2015
  • 13. Conjunto de instruções nesta microarquitectura • A intel adotou intruções de x86 • Os registradores tem 64 bits, uma extensão de 32 bits. Deste modo uma instrução de 64 bits ao invés de ser repartida este processador pode executá-la por inteiro. • capacidades como tecnologias de multimédia e SSE Streaming SIMD Extensions Single Instruction Multiple Data 07/09/2015
  • 14. Propriedades básicas da arquitetura x86 • Micro-operações Dividir a maioria das instruções em pedaços menores, são então entregues a uma unidade de controlo para que possam ser executadas, parcialmente em paralelo, por uma das várias unidades de execução. • Registradores • 8 registradores de uso geral dos quais 8 são estendidos, • 6 registradores de segmento, • 1 registrador de flags, • um Apontador de Execução (Instruction Pointer) • 16 para propósito de multimédia e aritmética de ponto flutuante SSE. 07/09/2015
  • 15. Registradores de uso geral • EAX - Acumulador. Usado em operações aritméticas. • ECX - Contador. Usado em laços. • EDX - Registrador de Dados. Usado em operações de entrada/saída e em multiplicações e divisões. É também uma extensão do Acumulador. • EBX - Base. Usado para apontar para dados no segmento DS. • ESP - Apontador da Pilha (Stack Pointer). Aponta para o topo da pilha (endereço mais baixo dos elementos da pilha). • EBP - Apontador da base da frame. Usado para aceder a argumentos de procedimentos passados pela pilha. • ESI - Índice da fonte de dados a copiar (Source Index). Aponta para dados a copiar para DS:EDI. • EDI - Índice do destino de dados a copiar (Destination Index). Aponta para o destino dos dados a copiar de DS:ESI. • Estes 8 registradores têm 32 bits cada um e dizem-se Estendidos 07/09/2015
  • 16. REGISTRADORES DE SEGMENTO • Armazenam informações sobre dados, instruções, endereços segmentados. • Os registradores de segmento detêm seletores de segmento de 16 bits. Um seletor de segmento é um ponteiro especial que identifica um segmento na memória. • O uso dos registadores de segmento depende do tipo de modelo de gerenciador de memoria que os sistema operacional esta executando. • modelo de memória plana ou não segmentada (unsegmented) • modelo de memória segmentada, 07/09/2015
  • 17. Modelo de memória plana ou não segmentada (unsegmented) Registradores de segmento são carregados com seletores de segmento que apontam para segmentos sobrepostos, cada um dos quais começa no endereço zero do espaço de endereço linear 07/09/2015 Tipicamente, dois segmentos sobrepostos são definidos: um para o código e outro para dados e pilhas. Os registos de segmento CS apontam para o código de segmento e todos os outros registos do segmento apontam para o segmento de dados e pilha. Não permite o uso de recursos de múltiplas threads e multi-core
  • 18. MODELO DE MEMÓRIA SEGMENTADA Ao usar o modelo de memória segmentada, cada registro de segmento é normalmente carregado com seletor de segmento diferente de modo que cada registro de segmento aponte a um segmento diferente no espaço de endereço linear. 07/09/2015 A qualquer momento, um programa pode, assim, aceder até seis segmentos no espaço de endereço linear. Para aceder a um segmento não apontado por um dos registradores de segmento, um programa deve primeiro carregar o seletor de segmento para o segmento a ser acessada em um registrador de segmento.
  • 19. TIPOS DE REGISTADORES DE SEGMENTO • CS - Segmento do Código • DS - Segmento de Dados • ES - Segmento com dados extras • FS - Segmento com mais dados • GS - Segmento com ainda mais dados • SS - Segmento da Pilha (Stack) 07/09/2015Cada registo de segmento está associado com um dos três tipos de armazenamento: código, dados e ou pilha.
  • 20. • Por exemplo o segmento CS contem o seletor de segmento para o segmento de código, onde as instruções estão sendo gravadas. • Os registos de segmento DS,ES,FS e GS apontam para segmentos de dados. Permitindo a eficiência e segurança no acesso de diferentes tipos de estruturas de dados. Para acesso segmentos de dados, o programa de aplicação deve carregar seletores de segmento para esses segmentos na DS, ES, FS e GS registros, conforme necessário. • O registo de segmento SS contem o seletor para pilha, onde procedimentos da pilha são gravados para um programa, tarefa pu thread sendo executado. Todas as operações usam o registro SS para encontrar o segmento de pilha 07/09/2015
  • 21. • Registos EFLAGS (Controle e estado de programa) Os registos EFLAGS dão o repórter de um programa sendo executado e permite a limitação do controle do processador. • PC O Program Counter, do x86 é um registo interno que aponta para a próxima instrução a ser executada. 07/09/2015
  • 23. Conjunto de instruções • Transferência de dados Ex: MOV move dados entre registos de propósito geral; Move dados entre memória e registos de propósito geral ou registos de segmentos; • Aritmética binaria As instruções de aritmética binaria executam cálculos básicos sob inteiros binários. Ex: ADD, SUB,MUL, DIV, INC (Incrementa),DEC (Decrementa) • Aritmética decimal As instruções de aritmética decimal operam sob dados binários codificados em decimal (BCD). Ex: DAA Ajuste decimal depois de adição, DAS ajuste decimal depois da subtração 07/09/2015
  • 24. Conjunto de instruções • Logical São instruções que operam as operações logicas básicas AND, OR, XOR, e NOT em um byte de palavra • Shift e rotate (deslocamento e rotação) Estas instruções fazem o movimento e a rotação de bits em uma palavra. Ex: SAR Deslocamento aritmético a direita, SAL/SHL Deslocamento aritmético a esquerda / Deslocamento logico a esquerda • Bit e byte As instruções de teste de bit testam e modificam bits individuais em uma palavra. As instruções de Byte modificam o valor de um byte que aponta para um FLAG em um registro EFLAGS. Ex: BT Teste de Bit, BTS Bit test and set, BTR Bit test and reset 07/09/2015
  • 25. Conjunto de instruções • Controle de transferência As instruções de transferência de instruções, dão a possibilidade de fazer saltos em partes de código, podemos ainda fazer saltos condicionais, laços e chamadas e retornar a controle de operações de fluxo de programa. Ex: JMP salto, JE/JZ salto se igual a zero/salto se zero, JNE/JNZ salto se não for igual/salto se não for zero, CALL chamada a procedimento, RET Return • String Esta é uma novidade que esta arquitetura traz, que são as instruções para operação de String em bytes, permitindo que estes sejam movidos para ou da memória. Ex: MOVS/MOVSB Move String/Move byte String, MOVS/MOVSW Move String/Move word String. 07/09/2015
  • 26. Conjunto de instruções • I/O Estas instruções movem dados entre o processador e as portas I/O e registos ou memoria. Ex: IN Leitura a partir de porta, OUT Leitura em porta, INS/INSB entrada de String a partir de porta/entrada de byte de String a partir de porta. • Entrada e saída Estas instruções fornecem suporte a linguagem maquina para chamadas a procedimentos em blocos de linguagem estruturadas. Ex: ENTER entrada a procedimentos de alto nível, LEAVE saída de procedimentos de alto nível. 07/09/2015
  • 27. Conjunto de instruções • Controle de Flag Estas instruções operam nas FLAGS nos registos EFLAGS. Ex: CLC Clear the carry flag, CLD Clear the direction flag, STD Set direction flag • Registo de segmento Instruções de registo de segmento permitem que segmentos de endereços sejam lidos nos registos de segmentos. Ex: LDS Load far pointer using DS, LES, LFS, LGS, LSS. • Diversos Estas instruções fornecem funções como leitura de endereços efetivos, execução de “no- operation,” e recobrando informação de identificação de processador. Ex; LEA Load effective address, NOP No operation, UD2 instrução não definida • Instruções de geração de números aleatórios Estas instruções fornecem mecanismos para geração de número aleatórios. 07/09/2015
  • 28. Formato de instruções As instruções nesta arquitetura podem ter dentre 1 a 15 bytes. Para o formato de instruções nesta arquitetura temos: • Prefixos de instruções (opcionais) até 4 bytes • Código de operação (OPCODE) ate 3 bytes • Especificador de forma de endereçamento (ModR/M) 1 byte • Escala de base indexada (Scale-index-base) 1 byte • Deslocamento (displacement) e Immediate, este são campos opcionais que em certas formas de endereçamento há necessidade de localizar um operando na memória 07/09/2015
  • 29. Caraterísticas físicas e especto térmicos do Intel core duo FCPGA (Flip Chip Pin Grid Array) FCBGA (Flip Chip Ball Grid Array) 07/09/2015 Nesta arquitetura a Lei de Moore prevaleceu e, a capacidade de integração de transístores foi de cerca de 152 milhões.
  • 30. 07/09/2015 Estudar, pesquisar cultivando a ciência e a Técnica… Obrigado Pela Atenção

Notes de l'éditeur

  1. Memoria Virtual Permitir o compartilhamento seguro e eficiente da memória entre vários programas e remover os transtornos de programação de uma quantidade pequena e limitada na memória principal foram os motivos que levaram a implementação deste recurso.
  2. Hiperthreading Em múltiplas threads, quando um processador busca dados por um sistema de memória lento, em vez de esperar pela chegada dos dados o processador salta para outro programa ou threads que esta pronto para execução, deste modo não acelera a velocidade de uma thread ou programa, mas sim de um sistema inteiro. Multinúcleo Estes dois ou mais núcleos são responsáveis por dividir as tarefas entre si, ou seja, permitem trabalhar em um ambiente multitarefa. Em processadores de um só núcleo, as funções de multitarefa podem ultrapassar a capacidade da CPU, o que resulta em queda no desempenho enquanto as operações aguardam para serem processadas
  3. Segmentos Para aceder a um segmento particular na memória, o seletor de segmento deve estar presente no registo de segmento adequado.
  4. Cada subgrupo supracitado contem mais instruções, que não puderam ser aqui referenciadas devido ao seu elevado numero.
  5. FCPGA (Flip Chip Pin Grid Array) Neste caso o chip tem 478 pinos que fazem o contacto com a placa, temperatura máxima suportada é de 100ºC FCBGA (Flip Chip Ball Grid Array) Neste caso o chip tem 479 bolas (Capacitaros esféricos) que fazem o contacto com a placa, temperatura máxima suportada é de 100º C