Conceito de sistema de computador

Operações de dados - operações
aritméticas de ponto flutuante, operações aritméticas de ponto flutuante - sentido
horário, lógico, deslocamento, expansão de bits e truncamento de bits
Operações
envolvidas no conjunto de instruções - operações de ponto fixo envolvidas
operações aritméticas
1. Operações inteiras assinadas: Tome negativo / extensão de sinal / adicione / subtraia / multiplique / divida / deslocamento aritmético
2. Operação inteira sem sinal: 0 extensão / adição / subtração / multiplicação / divisão
Operação
lógica 1. Operação lógica: AND / OR / NO ...
2. Operação de turno: turno lógico para a esquerda / turno lógico para a direita
envolve operações que envolvem números de ponto flutuante: adição, subtração, multiplicação e divisão, sem operações de turno e operações de expansão.
Projeto ALU de componentes aritméticos básicos
Operações aritméticas:
adição, subtração, multiplicação e divisão de números não assinados, números inteiros assinados e números de ponto flutuante.
Operação bit a bit
1. Use
para implementar a operação de máscara ou outro processamento correspondente na cadeia de bits
(usada principalmente para processar dados multimídia ou informações de status / controle)
2. Operação
"|", "&", "~", "^ "
Operação lógica
Objetivo: para a operação de expressões relacionais
Operação:
1. || significa operação OR
2. && significa operação AND
3. | significa operação NOT
e diferença de operação bit a bit
1. O sinal significa diferente.
2. O processo de cálculo é diferente.
3. Diferentes tipos de resultados.
Operação Shift:
extrair algumas informações
Aumente ou diminua o valor em 2, 4, 8 ... vezes.
Operação:
1. Turno esquerdo: x << k; turno direito x >> k
2. Não distingue entre turno lógico e turno aritmético, determinado pelo tipo de x.
3. Número não assinado: desvio lógico para a esquerda, desvio lógico para a direita Desvio
alto (baixo), o bit baixo (alto) é preenchido com 0, pode exceder
Se o desvio alto for 1, o transbordamento ocorre quando o desvio esquerdo Número
inteiro assinado: desvio esquerdo aritmético , Deslocamento aritmético à
direita, deslocamento à esquerda, deslocamento alto, complemento de bit baixo 0, pode transbordar.
Julgamento de superação, se o bit transferido não for igual ao novo bit de sinal, transbordará.
Deslocamento à direita: deslocamento baixo, complemento de alto bit, perda de dados de bits significativos pode ocorrer
Operações de expansão e truncamento de bits
Usos: A conversão de tipo pode exigir
operações de expansão e truncamento de dados Não há operador de operação especial, determinado de acordo com o comprimento dos dados antes e depois da conversão de tipo A extensão de bit ainda está truncada.
Expansão: número curto e longo
sem sinal: 0 expansão, 0 na frente
com número inteiro assinado: extensão de sinal, frente para complementar
truncamento: longo a curto
descarte forçosamente o bit alto, pode ocorrer um overflow
Resumo: tipos de dados básicos na linguagem c e seus dados básicos Tipo de operação
Tipos de dados básicos:
não assinado, assinado, ponto flutuante, sequência de bits, caractere (sequência)
Tipos de operações básicas:
aritmética, bit a bit, lógica, shift, expandir e truncar, correspondência.
O computador implementa instruções em linguagens de alto nível:
compila (converte) várias expressões em seqüências de instruções.Os
computadores executam instruções diretamente para concluir as operações.Fórmulas
complementares de adição e subtração
[A + B]Complemento = [A] Complemento + [B] Complemento (mod2 n )
[AB] Complemento = [A] Complemento + [-B] Complemento (mod2 n )
Usando um somador sinalizado, um operador de adição e subtração pode ser construído para executar as seguintes operações :
Adição de número inteiro não assinado, subtração de número inteiro não
assinado A adição de número inteiro assinado, subtração de número inteiro assinado
é baseada no comprimento básico da unidade de adição / subtração de número inteiro, além de registradores, shifters e lógica de controle, é possível obter ALU, multiplicação / divisão Circuito de operação e operação de ponto flutuante.
Insira a descrição da imagem aqui
Quando Sub for 1, faça a subtração. Quando Sub for 0, adicione.
ZF: Sinalizador zero
SF: Sinalizador de símbolo
OF:
Sinalizador de estouro CF = Co⊕Sub: Sinalizador de entrada / desalinhamento
Unidade lógica aritmética ALU:
Execute operações lógicas básicas e operações aritméticas básicas
1. Adição e subtração de
número inteiro não assinado 2. Adição e subtração de número inteiro não assinado
3. Operação lógica, como NOR, XOR, etc. Saída de
unidade de adição e subtração de inteiros
no circuito principal Além da soma / diferença, também há informações de sinalização.
Existe um terminal de controle de operação (ALUop), usado para determinar as funções de processamento executadas pela ALU. O número k de ALUop determina o tipo de operação.Por exemplo, quando o número de bits k = 3, a ALU possui no máximo 3 3 = 8 operações.
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Ponteiros, endereços etc. são geralmente descritos como números inteiros não assinados, portanto, ao executar operações de ponteiro ou endereço, é necessária a adição e subtração de números inteiros não assinados.
Os circuitos de adição e subtração de números inteiros não assinados e de subtração assinados são exatamente os mesmos.Esta operação é chamada de unidade de adição e subtração de números inteiros e é baseada em um somador assinado.
O somador mais básico, com apenas n bits, é um sistema aritmético modular de 2 n .
O somador de n bits não pode ser usado para adicionar dois números assinados de n bits (complementos) e não pode determinar se ele excede.
Muitas vezes, é necessário comparar o tamanho do programa e as informações do sinalizador são obtidas por subtração (no somador) para determinar o
Insira a descrição da imagem aqui
sinalizador de transbordamento OF
OF = V N ⊕C n-1
símbolo de sinalização SF
SF = F n-1
sinalizador zero ZF = 1 quando e somente Quando F = 0;
sinalizador de transporte / desalinhamento CF:
CF = Count⊕Cin
Todas as operações aritméticas são implementadas com base no
somador, que não sabe se a operação está assinada ou não.
O somador não julga certo ou errado, recebe os n bits inferiores como resultado e gera informações de sinalização.

Publicado 74 artigos originais · ganhou 15 · visualizações 4094

Acho que você gosta

Origin blog.csdn.net/V2636011127/article/details/105295689
Recomendado
Clasificación