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 arq...
Microarquitectura
• Os desenvolvimentos do micro arquitetura é benéfico, porem este deve avaliar as condições
de implement...
Conceitos básicos em microarquitectura
• Instruction pipelining
Execução de varias instruções em paralelismo ou seja instr...
Conceitos básicos em microarquitectura
• Memória virtual
É uma técnica que usa a memória secundária como uma cache para ar...
Conceitos básicos em microarquitectura
• Hiperthreading
Divisão de um programa em múltiplas threads de execução que são pi...
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...
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...
Características arquitetónicas
• Soquete 775;
• Barramento externo de 800 MHz (200 MHz transferindo quatro dados por pulso...
Características arquitetónicas
• Advanced Digital Media Boost
Outro recurso novo é um caminho de dados real de 128 bits, A...
Estrutura geral do processador core duo
• Advanced Programmable Interrupt Controller (APIC) Controlador
avançado de instru...
Conjunto de instruções nesta microarquitectura
• A intel adotou intruções de x86
• Os registradores tem 64 bits, uma exten...
Propriedades básicas da arquitetura x86
• Micro-operações
Dividir a maioria das instruções em pedaços menores, são então e...
Registradores de uso geral
• EAX - Acumulador. Usado em operações aritméticas.
• ECX - Contador. Usado em laços.
• EDX - R...
REGISTRADORES DE SEGMENTO
• Armazenam informações sobre dados, instruções, endereços
segmentados.
• Os registradores de se...
Modelo de memória plana ou não
segmentada (unsegmented)
Registradores de segmento são carregados com
seletores de segmento...
MODELO DE MEMÓRIA SEGMENTADA
Ao usar o modelo de memória segmentada, cada
registro de segmento é normalmente carregado
com...
TIPOS DE REGISTADORES DE SEGMENTO
• CS - Segmento do Código
• DS - Segmento de Dados
• ES - Segmento com dados extras
• FS...
• Por exemplo o segmento CS contem o seletor de segmento para o
segmento de código, onde as instruções estão sendo gravada...
• Registos EFLAGS (Controle e estado de programa)
Os registos EFLAGS dão o repórter de um programa
sendo executado e permi...
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...
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
...
Conjunto de instruções
• Controle de transferência
As instruções de transferência de instruções, dão a possibilidade de fa...
Conjunto de instruções
• I/O
Estas instruções movem dados entre o processador e as portas I/O e registos ou
memoria.
Ex: I...
Conjunto de instruções
• Controle de Flag
Estas instruções operam nas FLAGS nos registos EFLAGS.
Ex: CLC Clear the carry f...
Formato de instruções
As instruções nesta arquitetura podem ter dentre 1 a 15 bytes.
Para o formato de instruções nesta ar...
Caraterísticas físicas e especto térmicos do Intel core duo
FCPGA (Flip Chip Pin Grid Array) FCBGA (Flip Chip Ball Grid Ar...
07/09/2015
Estudar, pesquisar cultivando a ciência e a Técnica…
Obrigado Pela
Atenção
07/09/2015
Próximos SlideShares
Carregando em…5
×

Microarquitetura Intel Core Duo

424 visualizações

Publicada em

Aspectos de nivel Isa e Nivel de microarquitetura

Publicada em: Engenharia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
424
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • 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.
  • 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
  • Segmentos
    Para aceder a um segmento particular na memória, o seletor de segmento deve estar presente no registo de segmento adequado.
  • Cada subgrupo supracitado contem mais instruções, que não puderam ser aqui referenciadas devido ao seu elevado numero.
  • 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
  • Microarquitetura Intel Core Duo

    1. 1. INTEL CORE DUO Microarquitectura 07/09/2015
    2. 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. 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. 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. 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. 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
    7. 7. MICROARQUITECTURA INTEL CORE CORE DUO 07/09/2015
    8. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
    22. 22. Caminho de dados 07/09/2015
    23. 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. 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. 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. 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. 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. 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. 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. 30. 07/09/2015 Estudar, pesquisar cultivando a ciência e a Técnica… Obrigado Pela Atenção
    31. 31. 07/09/2015

    ×