Galeria de mapas mentais Princípios de composição de computador
Resumo do conhecimento sobre princípios de composição de computadores. Envolve muitos aspectos do conhecimento, como instruções de computador, representação numérica, princípios multiplicadores e divisores, sistema de instrução MIPS, etc. Ajuda os alunos dos princípios de composição de computadores a classificar a estrutura do conhecimento, dominar rapidamente os princípios e a tecnologia de composição de computadores e estabelecer um sólido base do computador.
Editado em 2024-03-02 22:24:43Il s'agit d'une carte mentale sur les anévrismes intracrâniens, avec le contenu principal, notamment: le congé, l'évaluation d'admission, les mesures infirmières, les mesures de traitement, les examens auxiliaires, les manifestations cliniques et les définitions.
Il s'agit d'une carte mentale sur l'entretien de comptabilité des coûts, le principal contenu comprend: 5. Liste des questions d'entrevue recommandées, 4. Compétences de base pour améliorer le taux de réussite, 3. Questions professionnelles, 2. Questions et réponses de simulation de scénarios, 1. Questions et réponses de capacité professionnelle.
Il s'agit d'une carte mentale sur les méthodes de recherche de la littérature, et son contenu principal comprend: 5. Méthode complète, 4. Méthode de traçabilité, 3. Méthode de vérification des points, 2. Méthode de recherche inversée, 1. Méthode de recherche durable.
Il s'agit d'une carte mentale sur les anévrismes intracrâniens, avec le contenu principal, notamment: le congé, l'évaluation d'admission, les mesures infirmières, les mesures de traitement, les examens auxiliaires, les manifestations cliniques et les définitions.
Il s'agit d'une carte mentale sur l'entretien de comptabilité des coûts, le principal contenu comprend: 5. Liste des questions d'entrevue recommandées, 4. Compétences de base pour améliorer le taux de réussite, 3. Questions professionnelles, 2. Questions et réponses de simulation de scénarios, 1. Questions et réponses de capacité professionnelle.
Il s'agit d'une carte mentale sur les méthodes de recherche de la littérature, et son contenu principal comprend: 5. Méthode complète, 4. Méthode de traçabilité, 3. Méthode de vérification des points, 2. Méthode de recherche inversée, 1. Méthode de recherche durable.
Princípios de composição de computador
Visão geral e tecnologia do computador
introdução
Classificação dos computadores e suas características
Computador pessoal
servidor
Execute tarefas de carga pesada com acesso à rede
supercomputador
Servidor de última geração
Perceber
TB: 10 ^ 12 bytes
TiB: 2 ^ 40 bytes
computador embutido
A maior quantia
Era pós-PC
Dispositivo móvel pessoal PMD
Smartphones, tablets
computação em nuvem
Um grande cluster de servidores que fornece serviços na rede
8 ótimas ideias em arquitetura de sistemas de computador
Projetando para a Lei de Moore
O nível de integração em um único chip dobra a cada 18-24 meses, e os projetistas de computadores devem prever o nível do processo quando o projeto estiver concluído, e não quando for iniciado.
Use abstrações para simplificar o design
Use abstração para representar diferentes níveis de design. Os detalhes de baixo nível não podem ser vistos no alto nível e apenas um modelo simplificado pode ser visto.
Acelere eventos de alta probabilidade
É muito melhor melhorar o desempenho do que otimizar eventos de baixa probabilidade
Melhore o desempenho por meio do paralelismo
Melhore o desempenho com pipeline
Um cenário paralelo especial, semelhante à passagem de retransmissão de buckets
Melhore o desempenho com previsões
Supondo que a recuperação de previsões erradas não seja cara e que a precisão das previsões seja relativamente alta, execute certas operações com antecedência, adivinhando
hierarquia de memória
A camada superior é rápida, tem pequena capacidade e é cara, enquanto a camada inferior é o oposto.
Aumente a confiabilidade por meio de redundância
Peças redundantes podem substituir peças com falha e ajudar a detectar erros
Introdução aos conceitos de programação
hierarquia do sistema de computador
computador von Neumann
O sistema de hardware do computador consiste em unidades aritméticas, controladores, memória e dispositivos de E/S
Use codificação binária para representar dados
Unifique programas e dados
Os computadores têm a capacidade de processar instruções sequenciais
Programas
Camada de aplicação
Princípios do sistema de banco de dados
camada de algoritmo
Estrutura de dados, design e análise de algoritmos
camada de linguagem de alto nível
Noções básicas de programação, programação C
camada do sistema operacional
Princípios de compilação, sistemas operacionais
software de sistema
sistema operacional
Lidar com entrada e saída básicas
Alocar aldeia externa e memória
Fornece serviços para compartilhar recursos de computador entre vários aplicativos
Compilador
Traduzir programas escritos em linguagens de alto nível em instruções que podem ser executadas por hardware
Camada do sistema de instruções: conjunto de instruções
Princípios de composição de computador
hardware
Camada do sistema de instruções: conjunto de instruções
Princípios de composição de computador
Camada lógica: operações lógicas, circuitos de porta
Matemática discreta, lógica digital
Da linguagem de alto nível à linguagem de hardware
Bit binário
elementos básicos de informação
instrução
Comandos que o hardware do computador entende e obedece
montador
Traduza automaticamente instruções em formato mnemônico para o binário correspondente
Linguagem assembly
Instruções de máquina expressas em forma mnemônica
linguagem de máquina
Uma instrução de máquina expressa como um elemento binário
linguagem de programação de alto nível
Linguagens portáteis como C, C, Java, Visual e Visual Basic consistem em palavras e símbolos algébricos e podem ser convertidas em linguagem assembly pelo compilador.
desempenho do computador
critérios de avaliação de desempenho
Taxa de transferência e tempo de resposta
tempo de resposta tempo de resposta
Tempo de execução, o tempo total necessário para um computador concluir uma tarefa, incluindo acesso ao disco rígido, acesso à memória, atividades de E/S, sobrecarga do sistema operacional e tempo de execução da CPU, etc.
Taxa de transferência
A largura de banda representa o número de tarefas concluídas por unidade de tempo
desempenho relativo
Medição de desempenho
Período do relógio e frequência do relógio
ciclo do relógio
Os sistemas de computador usam relógios para controlar várias coisas que acontecem no hardware
O ciclo do relógio é o tempo do intervalo do relógio, ou seja, o tempo de um ciclo do relógio
Frequência do relógio
recíproco do período do relógio
Tempo de execução da CPU
O tempo gasto na CPU para executar uma determinada tarefa (excluindo IO e tempo gasto em outras tarefas)
Tempo de CPU do usuário
O tempo que a CPU leva para executar os programas do usuário
Tempo de CPU do sistema
Tempo de CPU gasto pelo sistema operacional atendendo aos usuários
Desempenho da instrução
IPC
Ciclos de clock por instrução
Número médio de ciclos de clock da CPU por instrução
Fórmula clássica de desempenho da CPU
Tempo de execução da CPU de um programa = Número de ciclos de clock da CPU para um programa x tempo de ciclo de clock =Número de ciclos de clock da CPU para um programa/frequência de clock
Número de ciclos de clock da CPU para um programa =O número de instruções no programa x o número médio de ciclos de clock por instrução (CPI)
Tempo de CPU = número de instruções xCPIx tempo de ciclo de clock = número de instruções xCPI/frequência de clock
Perceber
O número de instruções depende da arquitetura do computador e não depende do computador. Implementação
O CPI está intimamente relacionado a vários detalhes de design do computador, incluindo o sistema de armazenamento e arquitetura do processador
O CPI é diferente para diferentes aplicações, bem como para diferentes implementações do mesmo conjunto de instruções
Todos os três fatores devem ser considerados ao comparar dois computadores
Fatores relacionados ao desempenho do programa
Introdução aos conceitos de hardware
os componentes do computador
caminho de dados
Operações aritméticas e lógicas completas, geralmente incluindo registros
ao controle
Um componente da CPU, ele direciona o caminho de dados, a memória e as operações de E/S de acordo com as instruções do programa para completar conjuntamente as funções do programa.
memória
Um local onde os programas de tempo de execução e os dados de que necessitam são armazenados.
entrada
Equipamentos de informática para transporte de informações, como teclado, mouse, etc.
tela sensível ao toque
detecção capacitiva
saída
Dispositivos que exibem resultados de cálculos aos usuários, como monitores, discos, impressoras, alto-falantes, etc.
monitor
LCD
O LCD não é uma fonte de luz, mas um dispositivo de controle para transmissão de luz.
Exibição de matriz dinâmica
Usando transistores para controlar a transmissão de luz em pixels individuais
Pixel
A menor unidade de elementos de imagem
hardware
CPU
caminho de dados
Operações aritméticas completas
controlador
Oriente caminhos de dados, memórias e dispositivos de E/S para serem executados corretamente de acordo com as instruções do programa.
Cache
Memória estática de acesso aleatório (SRAM)
Rápido e de alto custo
memória
Tempo e capacidade de acesso
Princípios de construção e leitura e escrita
memória principal
DRAM de memória de acesso aleatório dinâmico
unidade básica de armazenamento
construção e representação
A informação é armazenada no capacitor CS, e T é o tubo de controle da porta, que controla a entrada e saída de dados. Seu portão está conectado à seleção de leitura/gravação linha (linha de palavra), dreno e fonte são conectados à linha de dados (linha de bit) e ao capacitor de memória CS respectivamente. dados 1 ou 0 para o capacitor CS Pode ser avaliado pela presença ou ausência de carga elétrica.
Princípios de leitura e escrita
Adicione um nível alto à linha de seleção (palavra) para ativar o tubo T. Ao escrever "0", adicione um nível baixo à linha de dados para fazer com que a carga do CS seja descarregada na linha de dados; Ao escrever "1", adicione um nível alto à linha de dados para carregá-la no CS; Durante a leitura, há uma tensão de leitura na linha de dados. É proporcional ao valor da cobrança no CS.
Componente principal: transistor MOS
Ilustração de operações de leitura, gravação e atualização
Estrutura lógica do chip
faixa de módulo de memória
Ele usa um certo número de chips de memória em uma pequena placa de circuito impresso em forma de tira para formar um módulo de memória com capacidade de armazenamento fixa.
Classificação
30 pés
Linha de dados de 8 bits, capacidade de 256 KB ~ 32 MB
72 pés
Barramento de dados de 32 bits
Mais de 100 pés
Usado para barramento de dados de 32 bits e barramento de dados de 64 bits, capacidade de 4 MB a 512 MB
Outras memórias dinâmicas de acesso aleatório
SDRAM de memória de acesso aleatório dinâmica síncrona
Memória de acesso aleatório dinâmica com interface síncrona. Normalmente, a memória dinâmica de acesso aleatório (DRAM) possui uma interface assíncrona para que possa responder a mudanças na entrada de controle a qualquer momento. A SDRAM possui uma interface de sincronização que aguarda um sinal de clock antes de responder à entrada de controle, para que possa ser sincronizada com o barramento do sistema do computador. O relógio é usado para acionar uma máquina de estados finitos que canaliza as instruções recebidas. Isso permite que a SDRAM tenha um modo operacional mais complexo em comparação com a DRAM assíncrona sem interface síncrona.
Memória de acesso aleatório dinâmica síncrona DDR SDRAM de taxa de dados dupla
É uma SDRAM com taxa de transferência de dados dupla. Sua velocidade de transferência de dados é o dobro da frequência do clock do sistema. Devido ao aumento da velocidade, seu desempenho de transferência é melhor que a SDRAM tradicional.
O número de pinos em um lado da memória é 92 (184 em lados duplos), 52 pinos no lado esquerdo do entalhe e 40 pinos no lado direito do entalhe;
A segunda geração de memória de acesso aleatório dinâmica síncrona de taxa de dados dupla DDR2 SDRAM
Ele fornece maior desempenho operacional e menor tensão do que DDR SDRAM e é o sucessor do DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
Existem 120 pinos no lado único da memória (240 pinos no lado duplo), 64 pinos no lado esquerdo do entalhe e 56 pinos no lado direito do entalhe;
A terceira geração de memória de acesso aleatório dinâmica síncrona de taxa de dados dupla DDR3 SDRAM
Ele fornece maior desempenho operacional e menor tensão do que DDR2 SDRAM e é o sucessor do DDR2 SDRAM (memória de acesso aleatório dinâmico síncrono com taxa de dados quádrupla) (aumentado para oito vezes).
Existem também 120 pinos no lado único da memória (240 pinos no lado duplo), 72 pinos no lado esquerdo do entalhe e 48 pinos no lado direito do entalhe.
disco
Diagrama esquemático de aparência e estrutura
princípio de trabalho
Escreva 1: A bobina passa corrente para frente, tornando-a no estado NS
Escreva 0: a corrente reversa flui através da bobina, tornando-a no estado SN
Leitura: A cabeça magnética está parada e o suporte se move. Como as linhas do campo magnético fora da pequena unidade magnetizada no portador formam um circuito fechado através do núcleo da cabeça magnética, uma tensão induzida é obtida em ambas as extremidades da bobina do núcleo. Dependendo da polaridade, 1 ou 0 podem ser lidos
estrutura de armazenamento
memória flash
Uma memória de leitura/gravação não volátil de alta densidade desenvolvida com base em elementos de armazenamento EPROM.
Alta densidade significa que possui um grande número de bits de capacidade de armazenamento.
Não volátil significa que os dados armazenados podem ser retidos por um longo período sem energia.
Ele tem as vantagens da RAM e da ROM, o que pode ser considerado um progresso que marcou época na tecnologia de armazenamento.
CD
Princípio de leitura
Os sistemas de disco óptico somente leitura (CD-ROM) são todos baseados em um princípio comum, ou seja, a informação no CD é distribuída na forma de poços, com poços representados como "1" e sem poços como "0", uma série de poços (elemento de memória) forma um registro de informações.
Para discos CDROM usados para armazenamento de dados, esta distribuição de pit serve como marca de escrita ou leitura dos códigos digitais "1" e "0". Para isso, deve-se utilizar um laser como fonte de luz e um bom sistema óptico pode ser utilizado para isso.
As informações gravadas no disco óptico são armazenadas permanentemente na forma de poços. Durante a leitura, quando o ponto de foco do feixe de laser é irradiado no poço Ocorrerá difração e a refletividade será baixa; a maior parte da luz retornará quando o foco atingir uma superfície convexa. baseado na luz refletida As informações gravadas podem ser lidas alterando a intensidade da luz e realizando a conversão fotoelétrica.
estrutura de armazenamento
A trilha na qual as informações são registradas é chamada de trilha leve. A trilha óptica é dividida em setores, que são as menores unidades endereçáveis do disco óptico. A estrutura do setor é mostrada na figura.
fita
O princípio de gravação de uma unidade de fita é basicamente o mesmo de uma unidade de disco magnético, exceto que seu suporte magnético é uma tira de plástico chamada fita magnética. Ao escrever, o código de informação pode ser gravado na fita através da cabeça magnética. Quando a fita com o código gravado se move sob a cabeça magnética, uma força eletromotriz pode ser induzida na bobina da cabeça magnética, ou seja, o código de informação pode ser lido. O equipamento de armazenamento em fita consiste em duas partes: uma unidade de fita e uma fita. Geralmente é usado como backup de dados para equipamentos de armazenamento em massa.
A fita é mais lenta que o disco porque os dados na fita são acessados sequencialmente, enquanto o disco é acessado aleatoriamente.
Classificação
Fita de 1/4 polegada (QIC)
36-72 trilhas, gravação de dados paralela
Capacidade 80 MB ~ 1,2 GB
Fita de áudio digital (DAT)
varredura de rotação
Capacidade 12GB
fita de 8 mm
Capacidade 25 GB
Fita Linear Digital (DLT)
Capacidade máxima 35 GB
Tecnologia de fabricação de processador e memória
transistor
Interruptor simples controlado por sinal elétrico
circuito integrado
Um chip feito de milhares de transistores
circuito integrado em grande escala
Circuitos compostos de centenas de milhares a milhões de transistores
Parede de consumo de energia da CPU
Problema na parede elétrica
A tecnologia de circuito integrado dominante é o CMOS, cujo principal consumo de energia A fonte é a dissipação dinâmica de potência, ou seja, a potência dissipada durante o processo de comutação do transistor Consumo de energia = capacitância de carga x tensão² x frequência de comutação ▪ A frequência de comutação é uma função da frequência do clock ▪ A capacitância de carga é uma função do número de transistores conectados à saída e ao processo ▪ Atualmente, cada geração de CPU reduz a tensão para compensar o consumo de energia causado pelo aumento da frequência. Crescimento, em 20 anos, a tensão foi reduzida de 5V para 1V
Como melhorar ainda mais o desempenho do computador
Usar tecnologia de resfriamento mais forte é caro
Passando de uniprocessador para multiprocessador
■No passado, os programadores podiam contar com inovações em hardware, arquitetura e compiladores para duplicar as capacidades dos seus programas a cada 18 meses sem modificar o código. ■Agora, os programadores que desejam melhorar significativamente os tempos de resposta devem reescrever os seus programas e, à medida que o número de núcleos continua a duplicar, os programadores devem continuar a melhorar o seu código.
Exemplo de fabricação de CPU
Material semicondutor: silício
Adicionar certos materiais ao silício usando produtos químicos especiais pode transformar pequenas áreas em
bom condutor
bom isolante
condutor ou isolador controlável
Os circuitos VLSI são feitos de centenas de milhões de combinações dos materiais acima.
instruções de computador
Conceitos básicos, sistema de instrução MIPS
Conceitos básicos de instruções
Três níveis de linguagem de computador
linguagem de alto nível
Linguagem assembly (escrever programas usando mnemônicos de instrução)
Linguagem de máquina (escrever programas com códigos de instrução)
É um sistema de conjuntos de instruções. Esse conjunto de instruções é chamado de código de máquina, que são dados que a CPU pode interpretar diretamente.
Comandos e Sistemas de Comando
instrução
A menor unidade funcional de operação do computador é um comando que direciona a operação do hardware do computador. É uma sequência de bits composta por vários bits binários.
Todas as instruções fornecidas por um computador constituem o sistema de instruções do computador. As instruções são usadas pelos programadores para instruir o computador a executar uma operação básica e uma função de processamento. Múltiplas instruções podem formar um programa para completar uma tarefa esperada.
sistema de comando
definição
Todas as instruções fornecidas por um computador constituem o sistema de instruções do computador.
As instruções são usadas pelos programadores para instruir o computador a executar uma operação básica ou função de processamento.
exemplo
X86
sistema
janelas, linux
lasca
Intel, AMD
CISC
BRAÇO
sistema
Android, iOS, Windows móvel
lasca
Snapdragon, Apple, Kirin
MIPS
sistema
Linux
lasca
Afilhado nº 3
RISC
CISC e RISC
O desenvolvimento de sistemas de comando
Computador com conjunto complexo de instruções CISC
Centenas de instruções e um enorme sistema de instruções tornam o ciclo de desenvolvimento do computador mais longo, dificultando a garantia de precisão e a depuração e manutenção. É utilizado um grande número de instruções complexas com baixa frequência de uso, resultando em desperdício de recursos de hardware.
RISC
A soma da frequência de uso das dez instruções mais comumente usadas no conjunto de instruções X86 chega a 96%
Conjunto de instruções MIPS
Operações de hardware de computador MIPS
significado
Chip microprocessador RISC sem estágio de pipeline de intertravamento interno
aplicativo
Supercomputador SGI
Sistemas Embarcados
roteador
equipamento de jogo
Loongson chinês
Diagrama do sistema de computador MIPS de 32 bits
Conceitos básicos e conhecimento prévio
bit, byte, palavra
Bitbit
Um bit em binário, a menor unidade de informação
Bytebyte
8 bits
Palavra palavra
Um termo que representa uma unidade de dados
O número de bits em uma palavra (comprimento da palavra) é uma característica importante da arquitetura de sistemas de computador.
O comprimento da palavra dos computadores modernos é geralmente de 32 ou 64 bits
Armazenamento de dados na memória
memória
Pode ser visto como uma matriz de bytes
Cada byte possui um índice exclusivo: endereço
Ao acessar um byte de memória, é necessário um endereço
Uma palavra ocupa vários bytes
32 bits
1 palavra = 4 bytes
64 bits
1 palavra = 8 bytes
A palavra endereço é o endereço do primeiro byte que contém
O endereço inicial da palavra deve ser um múltiplo de 4
Ordem de armazenamento de bytes
endereçamento little-endian
Bytes little endian como endereço de palavra
endereçamento big endian
Big endian byte como endereço de palavra
Representação binária de instruções MIPS
As instruções MIPS são todas instruções de uma única palavra (comprimento da instrução = comprimento da palavra da máquina)
Hardware MIPS
CPU MIPS
32 registros de uso geral
Cada tamanho de registro é igual ao tamanho de uma única palavra, 32 bits
Registro MIPS
Memória de computador MIPS (32 bits)
Em sistemas de computador MIPS (32 bits), os endereços são strings binárias de 32 bits
A capacidade máxima de memória é 2^32Bytes/2^30Palavras
O endereço inicial da palavra deve ser um múltiplo de 4
Recursos do computador MIPS de 32 bits
Os registros são usados para acesso rápido aos dados. No MIPS, apenas operações aritméticas podem ser executadas em números armazenados em registradores. O registrador $zero é sempre 0, e o registrador $at é reservado pelo montador para processar constantes grandes.
A memória só pode ser acessada por meio de instruções de transferência de dados. O MIPS usa endereçamento de bytes, portanto os endereços de palavras consecutivas diferem em 4. Memória usada para armazenar estruturas de dados, arrays e registros de overflow
Operandos de hardware de computador MIPS
Registrar operandos e operandos de memória
Registrar operando
Os operandos para operações aritméticas devem vir de registradores
Os computadores MIPS têm 32 registros, cada registro tem 32 bits de tamanho
por exemplo
operando de memória
instruções de transferência de dados
definição
Instruções que transferem dados entre memória e registradores
Classificação
Buscar instrução lw (carregar palavra)
Armazenar palavra sw (armazenar palavra)
Estouro de registro
definição
O número de variáveis do programa excede em muito o número de registros. O processo de armazenamento de variáveis incomuns na memória.
Os dados nos registros são mais fáceis de usar
Uma instrução aritmética MIPS pode ler dois registradores, realizar operações e armazenar o resultado de volta.
Uma instrução de transferência de dados MIPS só pode ler ou escrever um operando.
Comparados com a memória, os registradores têm tempo de acesso mais curto e maior taxa de transferência. O acesso aos registradores consome menos energia do que a memória.
Para alcançar maior desempenho e economizar energia, o compilador deve utilizar registradores de forma eficiente
Operando constante ou imediato
Forneça um operando diretamente na instrução
O registro $zero é sempre definido como 0
Operações constantes ou imediatas
adicionar imediato
Números imediatos e andi rt rs,imm
Instrução imediata de busca de bits altos lui rt, imm
Obtenha o número imediato mais importante, imm
resumo
A linguagem assembly MIPS completa no livro
Operandos MIPS
Linguagem assembly MIPS
Formato de instrução MIPS
Representação de instruções em computadores
palavra de comando
Representação binária completa de uma instrução
Comprimento da palavra de instrução
Número de dígitos do código binário na palavra de instrução
Formato de comando
Código de operação
Indique a função de operação desta instrução. Cada instrução possui um determinado código de operação.
endereço do operando
Especifica o endereço onde o operando está armazenado, às vezes o próprio operando (valor imediato)
Ilustração
A forma numérica das instruções torna-se linguagem de máquina, e tal sequência de instruções torna-se código de máquina.
As instruções nos computadores são representadas por uma sequência de vários sinais elétricos altos e baixos.
Registre regras de codificação em linguagem assembly MIPS
$s0-$s7 mapeia para 16-23
$t0-$t7 mapeia para 8-15
Uma instrução de máquina em linguagem assembly MIPS
Linguagem assembly
adicione $t0,$s1,$s2
Forma decimal
forma binária
hexadecimal
Formato de instrução MIPS
Alocação de espaço de armazenamento
explicar
operação
Operações básicas de instruções (opcodes)
rs
primeiro registrador de operando fonte
rt
registrador de operando de segunda fonte
terceiro
Registro de destino usado para armazenar resultados de operação
merda
Quantidade de deslocamento, usada nas instruções de turno
função
Código de função, usado para indicar uma variante específica da operação no campo op
Há um problema
Dois registros e uma constante, a constante é limitada a 2 ^ 5
compromisso
Para manter todas as instruções com o mesmo comprimento, permita que diferentes tipos de instruções tenham diferentes formatos de instrução
Três tipos de formato
resumo
instrução
exemplo
Instruções de operação lógica
Operações lógicas
definição
Operar em vários bits ou em um único bit em uma palavra
tipo
exemplo
Mudança lógica para a esquerda, mudança lógica para a direita
E bit a bit
OU bit a bit
Negação bit a bit
Código de operação
Deslocamento lógico para a esquerda
ainda
Mudança lógica para a direita
srl
E bit a bit
e,andi
OU bit a bit
ou, ori
Negação bit a bit
nem
Instruções de decisão
definição
Execute diferentes instruções com base nas entradas e valores gerados durante os cálculos
Classificação
instruções de ramificação condicional
ramo se for igual
beq registrador1,registro2,L1
ramo se não for igual
bne registrador1,registro2,L1
exemplo
linguagem de alto nível
if(i==j) f=g h; senão f=g-h;
Linguagem assembly
bne $s3,$s4,Else #Se ij não for igual, vá para Else adicione $s0,$s1,$s2 #gh some e salve em f j Sair #Ir para Sair Senão: sub $s0,$s1,$s2 #gh subtrai e salva em f Saída:
Compilar instrução de loop while
linguagem de alto nível
enquanto(sava[i]==k) eu =1;
Linguagem assembly
Ciclo: sll $t1,$s3,2 #$t1=4*i add $t1,$t1,$s6 #$t1=endereço do save[i] ($s6 contém o endereço do save) lw $t0,0($t1) #$t0=salvar[i] bne $t0,$s5,Exit #save[i] sai quando não é igual a k adicione $s3,$s3,1 #i=i 1 j Loop #Volte ao loop Saída:
Definir se for menor que
efeito
Compara se uma variável é menor que outra
gramática
slt$t0,$s3,$s4
explicar
Quando o valor em $s3 é menor que o valor de $s4, $t0 é definido como 1, caso contrário, é definido como 0
resumo
Suporte de hardware de computador para processos, modo de endereçamento de instruções MIPS
Suporte de computador MIPS para processos
Registrar regras de alocação
$a0~$a3
Passar parâmetros
$v0~$v1
valor de retorno
$ra
Registro de endereço de retorno para retornar ao ponto de partida
Instruções de salto e link
Vá para um endereço e salve o endereço da próxima instrução no registrador $ra
jal ProcedureAddress
registrar instrução de salto
Salte incondicionalmente para o endereço especificado pelo registro
Jr $ra
Representação numérica e operações
Codificação e representação de dados
Objetos que precisam ser armazenados no computador
Representado pela codificação
elemento fundamental
0, 1
personagem
Número de dígitos
26 letras->5 dígitos
Outros símbolos em maiúsculas e minúsculas-> 7 bits
Texto em outros idiomas do mundo -> 16 bits (Unicode)
Interface homem-computador importante
Feito de símbolos
Cada símbolo é codificado e finalmente convertido pelo dispositivo de entrada e saída
Geralmente armazenado na memória do computador na forma de uma string
Vários padrões de codificação de conjunto de caracteres
ASCII
Código Padrão Americano para Intercâmbio de Informações
Usando codificação binária de 7 bits, mais um bit de verificação par, um total de 8 bits, ocupando 1 byte
Representa 128 caracteres ocidentais
Alfabeto Ingles
Decimal
Pontuação
detalhes
UNICÓDIGO
Usando 16 bits para representar um caractere, 65.536 caracteres podem ser representados
Divida todo o espaço de codificação em blocos, cada bloco é um múltiplo inteiro de 16 e aloque-o por bloco
Reserve 6.400 pontos de código para uso de localização
Ainda não é possível cobrir todos os personagens
representação numérica de dados
Revisão: relacionado ao sistema básico
Método de contagem de transporte (qualquer base é expandida de acordo com o sistema decimal)
Fórmula
significado
N representa um valor numérico
r é a base deste sistema numérico
i representa o número de bits desses símbolos, começando em 0
Di é um símbolo no bit número i
r^i é o valor representado por 1 no número do bit i
Bases comumente usadas
Binário é usado internamente em computadores
Octal hexadecimal é a abreviatura de binário
Sistema decimal para uso humano
Conversão do sistema numérico
Fatores relacionados à escolha de como representar seus dados
tipo de dados
Decimais, inteiros, números reais, números complexos
Intervalo numérico
Os valores máximo e mínimo que os dados podem encontrar
Precisão numérica
O número de dígitos significativos que um número real pode fornecer para números de ponto flutuante, precisão insuficiente causará erros e o acúmulo de erros causará problemas.
Custo de hardware de armazenamento, processamento e transmissão
Espaço de armazenamento ocupado, velocidade de transmissão
Dois formatos de dados comumente usados
número de ponto fixo
Características
Posição fixa do ponto decimal
inteiro de ponto fixo
Decimal de ponto fixo
Faixa numérica limitada, exigindo hardware de processamento simples
Método de representação de número de ponto fixo
Formato de ponto fixo
É acordado que a posição do ponto decimal de todos os dados é fixa
Como se convencionou estar em uma posição fixa, a vírgula decimal não é mais representada por um símbolo.
Os dados geralmente são representados como decimais puros ou números inteiros puros
método de exibição
decimal puro
O ponto decimal está entre Xn e Xn-1
[0,1-2^(-n)]
inteiro puro
A vírgula está à direita de X0
[0,2^n-1]
codificação inteira
Código original
composição
Bits de sinal Valor absoluto do número
Os números positivos são expressos assim
Os números negativos são expressos assim
escopo
Características
A representação é simples, fácil de converter entre os mesmos valores verdadeiros e as regras para operações de multiplicação e divisão são simples.
As operações de adição e subtração são complicadas
Adição: Some valores com mesmo sinal e retenha o sinal;
Subtração: primeiro compare os valores absolutos, depois use aquele com maior valor absoluto como minuendo, e o outro como subtraendo para fazer a diferença, e use o símbolo com maior valor absoluto como símbolo
Existem 0 e -0
É muito confuso, você vê
10000000
00000000
código reverso
Negação bit a bit do valor do sinal
Características
O complemento de 0 não é único
Gamas
complemento
Complemento de um 1
O complemento de um número positivo é o próprio número positivo, e o complemento de um número negativo é o número negativo original mais o módulo
bit de sinal de complemento
Características
Converter operações de subtração em operações de adição
O complemento do valor verdadeiro 0 é único
Gamas
número assinado
número não assinado
Resumir
O código original e o complemento do número positivo são iguais
O bit de sinal é 0 e o bit numérico é o valor verdadeiro.
O código inverso original de 0 possui dois códigos, e o código complementar possui apenas um
O código original e o complemento de um número negativo são diferentes.
Sinal bit 1
Bits numéricos
Código original: valor absoluto do número
Código negativo: negue o valor absoluto
Complemento de dois: complemento de um 1
número de ponto flutuante
Posição do ponto decimal flutuante
A faixa numérica é muito grande e o hardware de processamento necessário é complexo.
método de exibição
Notação científica decimal
Notação científica binária
Como representar números de ponto flutuante
Método de representação normalizado
Quando o valor da mantissa não é 0, o bit mais à esquerda do campo da mantissa é sempre 1
O bit mais significativo é sempre 1, portanto esse bit não é armazenado e é considerado oculto à esquerda da vírgula decimal.
Padrão IEEE754
padrão aritmético de ponto flutuante
A raiz é especificada como 2, o código do expoente E é representado por um frameshift e a mantissa M é representada pelo código original. De acordo com o método de normalização binária, o bit mais alto do valor é sempre 1. Este padrão armazena. este 1 por padrão, tornando o intervalo de representação da mantissa maior que o armazenamento real mais um
Resumir
forma normalizada
Número de ponto flutuante de precisão única
Número de ponto flutuante de precisão dupla
Cálculo da verdade em ponto flutuante
Número de ponto flutuante normalizado de 32 bits
Número de ponto flutuante normalizado de 64 bits
regulamentos especiais
E é todo 0, M é todo 0, então x = 0 combinado com o bit de sinal, há 0 e -0;
E é todo 1, M é todo 0, então x = infinito combinado com o bit de sinal, há infinito positivo e negativo;
Faixa numérica (32 bits)
Código E
Número binário de 8 bits
Faixa de valor verdadeiro do expoente: -126 ~ 127
Caso especial
código de detecção e correção de erros
distância do código
Existem pelo menos algumas diferenças de bits binários entre quaisquer dois códigos legais.
Três códigos de detecção e correção de erros comumente usados
código de paridade
para transferência paralela de dados
princípio
Adicione 1 bit de verificação além do código de dados de k bits, de modo que o número de dígitos com valor 1 na palavra-código de k 1 bit sempre permaneça um número par ou ímpar.
Representação computacional
Circuito de implementação
Código de verificação de Hamming
para transferência paralela de dados
código de verificação de redundância cíclica
para transferência de dados seriais
Processo de entrega e inspeção
valor lógico
0->Falso,1->Verdadeiro
cor
Localização, endereço, instruções
Operação
Princípios de adição e subtração de ponto fixo
Adição e subtração em complemento de dois
Fórmula
Recursos aditivos
O bit de sinal deve ser tratado como parte do número para participar da operação
Transporta excedendo o módulo 2^(n 1) são descartados
Detecção de estouro
O conceito de estouro
Em máquinas inteiras de ponto fixo, o valor absoluto do intervalo de representação de números é <2^(n-1)
Durante a operação, o fenômeno em que o resultado da operação excede a faixa que o comprimento da palavra da máquina pode representar é chamado de overflow.
Pode ocorrer transbordamento
Adicione dois números positivos, torne-se negativo, estoure
Adicione dois números negativos para torná-los positivos e insuficientes.
Método de detecção
método de bit de sinal duplo
Os números envolvidos nas operações de adição e subtração são expressos por meio de códigos de complemento deformados.
Regras de cálculo
Ambos os bits de sinal são tratados como números e participam de operações.
Dois números são adicionados módulo 2^(n 2), e o carry gerado no bit de sinal mais alto é descartado.
Detecção
método de bit de sinal único
O bit mais alto é gerado
Composição da calculadora
Habilidades básicas
Operações aritméticas e lógicas completas
Obter operandos: banco de registros, barramento de dados
Resultados da operação de saída e armazenamento: grupo de registros, barramento de dados
Armazenamento temporário de resultados intermediários de operações: registrador de deslocamento
Obtenha o status do resultado da operação
Compreender e responder aos sinais de controle
circuito lógico básico
circuito de porta lógica
Operação lógica completa
Adicionador
Conclua a operação de adição
acionar
guardar dados
Multiplexador, deslocador
selecione, conecte
caminho de dados
Funcionalidade e design da ALU
Função
Conclua operações aritméticas e lógicas em operandos
ADICIONAR, E, OU
projeto
Operaçoes aritimeticas
Adicionador
operação lógica
E portão ou portão
Princípio de multiplicação e multiplicadores
Descrição do algoritmo de multiplicação binária
algoritmo básico
Se o bit atual do multiplicador == 1, some o multiplicando e o produto parcial
Se o bit atual do multiplicador == 0, pule e mude o produto parcial
Depois que todos os bits forem concluídos, o produto parcial é o resultado final
Multiplicador de N dígitos* Multiplicando de M dígitos
Produto de N M bits
Algoritmo de multiplicação um
processo
Melhorar
Cada vez que X*yi é obtido, ele é acumulado com o resultado anterior para obter Pi, que é chamado de produto parcial. Como não esperamos pelo último somatório, o custo de salvar os resultados da multiplicação X*yi de cada tempo é reduzido.
Cada vez que X*yi é obtido, em vez de deslocá-lo para a esquerda e adicioná-lo ao produto parcial Pi anterior, mova o produto parcial Pi para a direita e adicione-o a X*yi. Como a operação de adição é sempre executada nos n bits superiores do produto parcial, um somador de n bits pode ser usado para multiplicar dois números de n dígitos.
Execute adição e deslocamento para a direita para bits 1 no multiplicador, execute deslocamento para a direita apenas para bits 0 e não execute operações de adição.
Algoritmo de Multiplicação 2
processo
Princípio de Divisão e Divisor
Regra de divisão de código original
Quando dois números representados por códigos originais são divididos, o sinal do quociente é obtido somando os sinais dos dois números bit a bit, e a parte numérica do quociente é obtida dividindo as partes numéricas dos dois números.
divisão decimal de ponto fixo
Estrutura de hardware da divisão
Processo de divisão
Problemas
Com a cooperação do somador e do registrador, os dígitos dos dividendos são mais longos e o quociente precisa ser calculado pouco a pouco.
Isto pode ser resolvido removendo o número da esquerda, e a parte inferior do dividendo pode partilhar o mesmo registo com o quociente final, e o resto e o quociente são deslocados para a esquerda ao mesmo tempo.
Implementação da divisão
Método de divisão de código original
método de resto restaurador
Quando a subtração não for suficiente, o resto original é restaurado para continuar a operação.
Resto atual mais divisor
adição e subtração alternadas
Se ocorrer subtração insuficiente durante a operação, não há necessidade de restaurar o resto e continuar a operação de acordo com o sinal de resto.
Resto > 0, desloque o resto uma posição para a esquerda e subtraia o divisor
Resto> 0, desloque o resto uma posição para a esquerda e adicione o divisor
Operações aritméticas de ponto flutuante
Adição e subtração de ponto flutuante
Adição e subtração de ponto flutuante
Regras aritméticas
processo
0 verificação de operando
Para o pedido, encontre a diferença do pedido, desloque a mantissa do número com o código de pedido menor para a direita e pegue o valor do código de pedido maior (deslocar a mantissa para a esquerda faz com que o bit mais significativo seja perdido, que é um grande perda, então mude a mantissa para a direita)
Adicionar e subtrair mantissas
Normalização de resultados
Arredondamento
Por que
Ao alinhar ou normalizar, pode fazer com que a mantissa seja deslocada para a direita e perca os bits baixos, causando erros.
O arredondamento também é necessário ao converter tipos de dados
Método de arredondamento padrão IEEE754
Arredonde para o mais próximo (0 a 1)
O bit mais alto descartado é 1 em 1
arredondar para 0
Censurado
arredondar em direção ao infinito positivo
Se os dígitos extras de um número positivo não forem todos 0, eles serão arredondados para 1; se o número for negativo, eles serão truncados.
Arredondar em direção ao infinito negativo
Se os dígitos extras de um número negativo não forem todos 0, eles serão arredondados para 1; se um número positivo for truncado,
verificação de estouro
estouro de ponto flutuante
transbordar
O valor é muito grande
O valor do código do expoente excede o intervalo de representação de 8 bits binários
estouro negativo
O valor é muito pequeno
O código do expoente excede o intervalo de representação do binário de 8 bits
Ilustração
Estouro de julgamento e processamento
O estouro de números de ponto flutuante é expresso como estouro de código.
Cronometragem à esquerda (mova a mantissa para a esquerda, código do expoente -1)
Primeiro determine se o código do expoente é todo 0; em caso afirmativo, o código do expoente apresenta estouro negativo; caso contrário, após o código do expoente -1, determine se o código do expoente é todo 0; em caso afirmativo, o código do expoente apresenta estouro negativo;
Cronometragem à direita (mova a mantissa para a direita, código expoente 1)
Primeiro determine se o código do expoente é todo 1; em caso afirmativo, o código do expoente apresenta estouro negativo; caso contrário, depois que o código do expoente é 1, determine se o código do expoente é todo 1; em caso afirmativo, o código do expoente apresenta estouro negativo;
Componentes de adição e subtração de ponto flutuante
Multiplicação e divisão de ponto flutuante
Fórmula
Etapas da operação
0 verificação de operando
Operações de adição e subtração de código
multiplicação
Se o bit mais alto de ExEy for 1 e o bit mais alto de Ez for 0 ou se Ez for 1, o código do expoente irá transbordar;
Se o bit mais alto de ExEy for 0 e o bit mais alto de Ez for 1 ou se Ez for 0, o código do expoente apresenta estouro negativo;
divisão
Se o bit mais alto de Ex for 1, o bit mais alto de Ey for 0 e o bit mais alto de Ez for 0 ou se Ez for 1, o código do expoente estourará;
Se o bit mais alto de Ex for 0, o bit mais alto de Ey for 1 e o bit mais alto de Ez for 1 ou Ez for 0, o código do expoente sofrerá underflow;
Operações de multiplicação e divisão de mantissa
Normalização de resultados
Arredondamento
Adição e subtração de código
Bits adicionais
efeito
Proteja o resultado intermediário da operação OR bit a bit com deslocamento para a direita durante o alinhamento
tratar
Quando canhoto, ele é movido para a mantissa.
como base para arredondamento
Regulamentos IEEE754
O resultado intermediário deve ter dois bits adicionais adicionados à direita
bit de proteção
Bits à direita da mantissa
bit de arredondamento
O bit à direita do bit de proteção
Pipeline de operação de ponto flutuante
Dois canais para melhorar o paralelismo
paralelismo espacial
Adicione componentes redundantes, como processadores multioperacionais e processadores superescalares
paralelismo temporal
Melhorar processos operacionais, como tecnologia de linha de montagem
Características do gasoduto
O pipeline não reduz a latência de uma única tarefa, mas melhora o rendimento de todo o sistema.
Múltiplas tarefas são executadas simultaneamente e ocupam recursos diferentes.
Taxa de aceleração possível = número de estágios do pipeline
A eficiência do pipeline é limitada pelo estágio mais longo
Se cada etapa levar tempos diferentes, a eficiência do gasoduto será reduzida.
Carregar e esvaziar linhas também reduz a aceleração
Conflitos farão com que o pipeline pare
Conceitos básicos de linha de montagem
Princípio da linha de montagem
Ciclo de clock do pipeline
Análise de aceleração
introduzir
As tarefas devem ser contínuas no pipeline. Somente fornecendo tarefas continuamente a eficiência do pipeline pode ser totalmente utilizada.
Divida uma tarefa em várias subtarefas relacionadas. Cada subtarefa é implementada por um componente funcional dedicado
Deve haver um registro de buffer, ou trava, após cada unidade funcional no pipeline
O tempo de cada trecho da linha de montagem deve ser o mais igual possível, caso contrário causará bloqueio e interrupção do fluxo.
O pipeline precisa ter tempo de carregamento e tempo de esvaziamento. Ele só pode ser totalmente eficiente quando o pipeline estiver completamente cheio.
unidade aritmética de ponto flutuante