26
Arquitetura de Computadores Microarquitetura Ivan Saraiva Silva

2013 1 Aula 01 Microarquitetura

Embed Size (px)

DESCRIPTION

Material Disciplina Arquitetura de Computadores-UFPI

Citation preview

Arquitetura de Computadores

Microarquitetura

Ivan Saraiva Silva

O que é um Computador

• Um computador é uma máquina eletrônica lógica• Programável

– Programa• Instruções

• Representável por uma hierarquia de níveis de abstração (Tanenbaum)– Microeletrônica (mais baixo)– Sistema Operacional (mais alto)

Níveis de Abstração

Microeletrônica

Lógica Digital

Linguagem de Montágem

Sistema Operacional

Máquina Convencional

Linguagem orientada a problemas

Conjunto de instrções

Caracteristicas físicas, malha detransistores

Unidades lógicas combinacionais esequenciais

MicroprogramaçãoInterpretador em firware

Gerencia de sistema e interfacede usuário

Linguagem Assembly

Linguagens de alto nível

Organização de um Computador

• Modelo de Von Neumann (1945)– Conceito de programa armazenado– Separação da Unidade Aritmética e de Controle– Utilização de barramentos e registradores– Hardware de entrada e saída (I/O)

UCP Memória I/O

Modelo de Von Neumann

Memória I/O

Controle

Aritmética

Controle de Execução

Execução deOperações

Instruçõese Dados

Modelo de Von Neumann

Bloco de controle Bloco operacional

Memória

operação

endereços

instruções

dados

dados

CPU

Modelo de Von Neumann

• Memória: Conjunto de posições/locações endereçáveis

• Palavras: Posição/locação da memória. Contém dados e instruções.

• Palavra: Unidade básica de transferência de/para memória.

• Palavras são localizadas através de um endereço• Dados, instruções e endereços são codificados em

binário

Modelo de Von Neumann

• Programa é uma seqüência de instruções, colocadas numa seqüência de endereços

• A execução de um programa corresponde à execução seqüencial de suas instruções

• A seqüência das instruções é definida de forma dinâmica em tempo de execução– Existência de instruções de controle de fluxo

IAS – Máquina de Von Neumann

MemóriaPrincipal

Unidade Lógica e Aritmética

Unidade de Controle

Hardwarede Entradae Saída

MBR

Circuitos de Lógica e Aritmética

MQAcumulador

MARCircuitosde Controle

IBR

IR

PC

Endereço

Dados eInstruções

Unidade Central de Processamento

Conceitos e Convenções

• Registradores: Posições de memória internas a UCP.– Dedicados e de Uso Geral

• Barramento: Via de comunicação– Dados e Instruções, Endereços e Controle– Comunicação Síncrona e Assincrona

Memória

• Em um computador geralmente existe uma hierarquia de memória.

• Cada nível da hierarquia é dividido em palavras de N bits cada

• A palavra é a unidade básica de transferência entre a UCP e a memória.

• Uma memória com 2M palavras necessita de M bits de endereço

Memória

Posição 0

N Bits

Posição 2M - 1

2M posições

Endereço

M Bits

N Bits

Execução de Instruções

• busca da próxima instrução na memória– manda endereço, volta instrução

• decodificação da instrução – interpreta código da instrução

• se a instrução precisa de dados (na memória)– manda endereço, busca dado

• execução da instrução– executa ações específicas para cada instrução

Microarquitetura

Microarquitetura

• Uma Microarquitetura é dividida em uma Parte Operativa e uma Parte de Controle

• Parte Operativa (ou Caminho de Dados)– Constituida de todos os componentes responsáveis pela

execução das operações elementares sobre os dados (transformações nos dados)

• Parte de Controle– Constituída de circuitos sequenciais e/ou memória de

programa que gera o controle ciclo-a-ciclo da parte operativa

MIC

• O MIC é uma microarquitetura didática usado por Tannenbaum

• Existem algumas versões do MIC: MIC-1, MIC-2, MIC-3 e MIC-4

• MIC é uma máquina multicíclo• O MIC é constituído de:

– Pequeno conjunto de instruções– um banco de registradores– Uma ULA– Três barramentos internos

MIC (Tanenbaum)

Parte Operativa

Parte de Controle

MIC: Parte de Controle

Parte Operativa

MIRRegistradorde Controle

MIC: Parte de Controle

Parte Operativa

MIR

MicroMEM

Memóriade Controle

Registradorde Controle

MIC: Parte de Controle

Parte Operativa

MIR

MicroMEM

Memóriade Controle

Registradorde Controle

Seqüenciador

MIC: Parte de Controle

Parte Operativa

MIR

MicroMEM

Memóriade Controle

Registradorde Controle

SeqüenciadorRegistradorMPC

Lógica deCálculo do MPC

MIC: Parte Operativa

MAR MBR

PC

AC

SP

IR

TIR 0 1 -1 AA

MBM B C FD E

Z N

C

ULA

A

B

16

RD WR

MIC: Parte Operativa

• Muitas unidades da parte operativa de um processador necessitam de controle explicito

• Estes controles são gerados pela Parte de controle e enviados Ciclo-a-Ciclo à Parte de Controle

SINAIS DE CONTROLE

MIC: Parte Operativa• Interface PO/PC

– AMUX: Controla a entrada do multiplexador– ALU: Define a operação da ULA– SH: Define se há deslocamento e a direção– MBR: Habilita escrita no MBR a partir do deslocador– MAR: Habilita escrita no MAR a partir do latch B – RD: Requisita leitura da memória– WR: Requisita escrita na memória– ENC: Controla armazenamento nos registradores– A, B e C : Endereços de leitura (A e B) e escrita (C) nos

registradores

MIC: Parte Operativa

• O MIC possui dois formatos de instrução:

ENDEREÇOCODOP

4 bits 12 bits

ENDEREÇOCODOP

8 bits 8 bits

CODOP

16 bits

Formato 1

Formato 2

Formato 3

MIC: Parte Operativa

• Registradores– Registradores visíveis ao programador ou não– Registra de propósito geral ou dedicado

• Exemplos:– PC: Program Counter– IR e TIR: Instruction Register– SP: Stack Pointer– AC: Accumulator