A operação de uma UCP é determinada pelas instruções que ela executa, conhecidas como instruções de máquina. A coleção das diferentes instruções que a UCP é capaz de executar é conhecida como o conjunto de instruções do processador, o qual pode variar de um fabricante para outro e mesmo de um
modelo para outro de processador.
Cada instrução deve conter toda a informação necessária para permitir sua execução pela UCP. Essa informação necessária compreende:
modelo para outro de processador.
Cada instrução deve conter toda a informação necessária para permitir sua execução pela UCP. Essa informação necessária compreende:
• Código de operação: especifica a operação a ser realizada
• Operando fonte*: operandos que constituem dados de entrada para a operação
• Operando de destino*: resultado que pode ser produzido pela operação
• Endereço da próxima instrução: local onde deve ser buscada a instrução seguinte (em alguns casos), após o término da corrente
O projeto de um processador é condicionado ao conjunto de instruções de máquina as quais se deseja que ele execute. Uma das mais fundamentais análises e decisões do projeto envolve o tamanho e a complexidade do conjunto de instruções.
Num processador, quanto menor e mais simples for o conjunto de instruções, mais rápido será o seu ciclo de tempo.
Num processador, quanto menor e mais simples for o conjunto de instruções, mais rápido será o seu ciclo de tempo.
CISC
CISC (sigla para Complex Instruction Set Computer, ou, em uma tradução literal, "Computador com um Conjunto Complexo de Instruções"): é uma linha de arquitetura de processadores capaz de executar centenas de instruções complexas diferentes sendo, assim, extremamente versátil. Exemplos de processadores CISC são os 386 e os 486 da Intel.
Os processadores baseados na computação de conjunto de instruções complexas contêm uma microprogramação, ou seja, um conjunto de códigos de instruções que são gravados no processador, permitindo-lhe receber as instruções dos programas e executá-las, utilizando as instruções contidas na sua microprogramação. Seria como quebrar estas instruções, já em baixo nível, em diversas instruções mais próximas do hardware (as instruções contidas no microcódigo do processador). Como característica marcante esta arquitetura contém um conjunto grande de instruções, a maioria deles em um elevado grau de complexidade.
RISC
Os processadores baseados na computação de conjunto de instruções complexas contêm uma microprogramação, ou seja, um conjunto de códigos de instruções que são gravados no processador, permitindo-lhe receber as instruções dos programas e executá-las, utilizando as instruções contidas na sua microprogramação. Seria como quebrar estas instruções, já em baixo nível, em diversas instruções mais próximas do hardware (as instruções contidas no microcódigo do processador). Como característica marcante esta arquitetura contém um conjunto grande de instruções, a maioria deles em um elevado grau de complexidade.
RISC
Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções (RISC), é uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos microprocessadores modernos são RISCs, por exemplo DEC Alpha, SPARC, MIPS, e PowerPC. O tipo de microprocessador mais largamente usado em desktops, o x86, é mais CISC do que RISC, embora chips mais novos traduzam instruções x86 baseadas em arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando prioridade de execução.
Os processadores baseados na computação de conjunto de instruções reduzido não tem micro-programação, as instruções são executadas diretamente pelo hardware. Como característica, esta arquitetura, além de não ter microcódigo, tem o conjunto de instruções reduzido, bem como baixo nível de complexidade.
Formato de instruções
Cada instrução consiste num grupo de bits que pode ser dividido em duas partes:
• a primeira parte indica o que é a instrução e como será executada, sendo constituída de um só campo;
• a segunda parte referese ao(s) dado(s) que será(ão) manipulado(s) na operação, podendo ser constituída por mais de um campo.
Assim, cada uma das instruções é composta pelos seguintes campos:
• um campo (subgrupo de bits) denominado código de operação – C.Op. – cujo valor binário é a identificação (código) da operação a ser realizada, o qual servirá de dado de entrada para o decodificados da área de controle;
• o grupo restante de bits, denominado campo do operando – Op. ou operando, cujo valor binário indica a localização do dado (ou dados) que será(ão) manipulado(s) durante a execução da operação.
Exemplos
Instrução para adição de dois valores (operandos 1 e 2), indicando o endereço (operando 3) a ser armazenado o resultado: OP3 ← OP1 + OP2
Instrução para adição de dois valores (operandos 1 e 2), armazenandose o resultado no local do operando 1: OP1 ← OP1 + OP2
Utilizandose o acumulador para armazenar inicialmente um dos operandos e depois armazenar o resultado da soma: ACC ← ACC + OP
Tipos de instruções
Podemos, então, classificar as instruções de máquina nos seguintes tipos, dependendo da sua função:
• Processamento de dados: instruções aritméticas e lógicas;
• Armazenamento de dados: instruções de memória;
• Movimentação de dados: instruções de E/S;
• Controle: instruções de teste e desvio.
Ciclo de instruções
Os processadores baseados na computação de conjunto de instruções reduzido não tem micro-programação, as instruções são executadas diretamente pelo hardware. Como característica, esta arquitetura, além de não ter microcódigo, tem o conjunto de instruções reduzido, bem como baixo nível de complexidade.
Formato de instruções
Cada instrução consiste num grupo de bits que pode ser dividido em duas partes:
• a primeira parte indica o que é a instrução e como será executada, sendo constituída de um só campo;
• a segunda parte referese ao(s) dado(s) que será(ão) manipulado(s) na operação, podendo ser constituída por mais de um campo.
Assim, cada uma das instruções é composta pelos seguintes campos:
• um campo (subgrupo de bits) denominado código de operação – C.Op. – cujo valor binário é a identificação (código) da operação a ser realizada, o qual servirá de dado de entrada para o decodificados da área de controle;
• o grupo restante de bits, denominado campo do operando – Op. ou operando, cujo valor binário indica a localização do dado (ou dados) que será(ão) manipulado(s) durante a execução da operação.
Exemplos
Instrução para adição de dois valores (operandos 1 e 2), indicando o endereço (operando 3) a ser armazenado o resultado: OP3 ← OP1 + OP2
Clique na imagem para ampliar |
Instrução para adição de dois valores (operandos 1 e 2), armazenandose o resultado no local do operando 1: OP1 ← OP1 + OP2
Clique na imagem para ampliar |
Clique na imagem para ampliar |
Tipos de instruções
Podemos, então, classificar as instruções de máquina nos seguintes tipos, dependendo da sua função:
• Processamento de dados: instruções aritméticas e lógicas;
• Armazenamento de dados: instruções de memória;
• Movimentação de dados: instruções de E/S;
• Controle: instruções de teste e desvio.
Ciclo de instruções
Clique na imagem para ampliar |
Sem comentários:
Enviar um comentário