Escolar Documentos
Profissional Documentos
Cultura Documentos
Arquitetura e Organizac3a7c3a3o de Computadores Fabrc3adcio Santana
Arquitetura e Organizac3a7c3a3o de Computadores Fabrc3adcio Santana
Organização de
Computadores
Fabrício Costa Santana
Apresentação do Professor
Processadores matriciais
Características, malhas de comunicação, algoritmos.
Processadores associativos
Multiprocessadores:
Sistemas fortemente acoplados e fracamente acoplados;
Influências no sistema operacional e em linguagens de programação;
Algoritmos.
Arquiteturas alternativas:
Arquitetura VLSI;
Computadores dataflow;
Fundamentos de circuitos digitais.
Objetivos de Aprendizagem
Calendário
VA1 – Prova – Peso 40 Data: 09/10/2019
VA 2 – Prova – Peso 40 Data: 04/12/2019
Atividade em grupo – Peso 20 Data: a definir
Competências
+ de 5.500 anos *
VIDEO
VIDEO
1
1642
VIDEO
2
Tear Mecânico - Joseph-Marie Jacquard
VIDEO
1801
Máquina Diferencial e Máquina Analítica
de Charles Babbage
1822
VIDEO
1
VIDEO
2
Máquina de Cartões Perfurados - Herman
Hollerith
1880
VIDEO
Bomba Eletromecânica (Bombe ou
Colossus) – Alan Turing
1944
Harvard Mark I - Howard Aiken + IBM
1944
VIDEO
Primeira Geração de Computadores –
Eletrônicos a Válvulas – 1945 a 1955
Primeira Geração de Computadores –
Eletrônicos Valvulados
ENIAC ( Eletronic Numerical Integrator and Computer) foi o primeiro
computador eletrônico digital de propósito geral:
Composto por mais de 17 mil válvulas.
Construído na Universidade da Pensilvânia;
Realizava 5000 adições por segundo;
Decimal e não binário;
Programação manual por meio de chaves e conexão e desconexão de cabos;
ENIAC
1946
Primeira Geração de Computadores –
Eletrônicos Valvulados
EDVAC (Electronic Discrete Variable Automatic Computer):
Modelo proposto por John von Neuman;
Sua arquitetura tornou-se padrão para os computadores modernos;
Concebido para ter a adição binária, subtração e multiplicação, divisão programada
e automática;
Utilizava códigos binários;
Possuía quase 6.000 tubos de vácuo e 12.000 diodos;
Consumia o equivalente a 56 kilowatts de potência;
Ocupava 45,5 m2 de área e pesava 7.850 kg;
EDVAC
1952
Arquitetura de Von Neuman
Registrador de buffer de memória (MBR, do inglês memory buffer register): contém uma palavra a ser
armazenada na memória ou enviada à unidade de E/S, ou é usada para receber uma palavra da memória
ou de uma unidade de E/S.
Registrador de endereço de memória (MAR, do inglês memory address register): especifica o endereço
na memória da palavra a ser escrita ou lida no MBR.
Registrador de instrução (IR, do inglês instruction register): contém o opcode de 8 bits da instrução que
está sendo executada.
Registrador de buffer de instrução (IBR, do inglês instruction buffer register): empregado para manter
temporariamente a próxima instrução a ser executada.
Contador de programa (PC, do inglês program counter): contém o endereço do próximo par de
instruções a ser apanhado da memória.
Acumulador (AC) e quociente multiplicador (MQ, do inglês multiplier quotient): empregado para
manter temporariamente operandos e resultados de operações da ALU. Por exemplo, o resultado de
multiplicar dois números de 40 bits é um número de 80 bits; os 40 bits mais significativos são
armazenados no AC e o menos significativos no MQ
Unidade Lógica Aritmética
(ULA ou ALU)
AC AC
Equipamento de
Circuitos Lógicos Entrada/Saída
Aritméticos
Estrutura do
MBR
Computador IAS
Instruções (Princeton
e dados
Institute for
IBR PC Advanced
Studies)
IR MAR
Endereços
Memória
Circuitos de Principal
Controle
Unidade de Controle
(UC ou CU)
UNIVAC I
Ambiente
operacional Aparato de
Mecanismo de
(origem e movimentação
controle
destino dos dos dados
dados)
Capacidade de
processamento
de dados
Operações Possíveis
Estrutura de
alto nível do
computador
Velocidade de clock
Previsão de desvio;
Análise de fluxo de dados;
Execução especulativa;
Melhoria na DRAM;
Melhorias nas estruturas de cache;
Aumento na largura de banda entre a memória e o processador;
Potência;
Redução no delay de resistência e capacitância;
Latência da memória.
Taxa de dados nos dispositivos E/S
Tipos de computadores
Computador descartável.
Microcontrolador.
Computador de jogos.
Computador pessoal.
Servidor.
Conjunto de estação de trabalho.
Mainframe.
Computador descartável
Esses computadores descartáveis em si são muito simples, não necessitam de
memória nem de grandes requisitos e nem mesmo velocidade de
processamento. Sua principal aplicação é em cartões de felicitação, mas vem
crescendo a demanda para identificadores e localizadores.
Microcontroladores
Sistema hindu-arábico
Notação posicional
Base 10
Dígitos: 0 1 2 3 4 5 6 7 8 9
Sistema de numeração decimal
Centena Dezena Unidade Centena Dezena Unidade Centena Dezena Unidade Centena Dezena Unidade
Sistema de numeração decimal
Forma-se o número pela soma de cada dígito multiplicado por uma potência da
base relacionada à posição daquele dígito
854610
8 * 103 + 5 * 102 + 4 * 101 + 6 * 100
8000 + 500 + 40 + 6
8546
Sistema de numeração binário
Dígitos: 0 1
Cada dígito binário é chamado de bit
Cada conjunto de 4 dígitos binários é chamado de nibble
Cada conjunto de 8 dígitos binários é chamado de byte
Conversão de base binária para decimal
101100102
1 * 27 + 0 * 26 + 1 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 1 * 21 + 0 * 20
128 + 0 + 32 + 16 + 0 + 0 + 2 + 0
17810
Exercício de fixação
112
11012
1011012
100101102
110011102
010011002
Conversão de base decimal para binária
156 2 15610
0 78 2
0 39 2
1 19 2
=
1 9 2 100111002
1 4 2
0 2 2
0 1
Exercício de fixação
1510
3610
4810
12510
25510
31210
Conversão de base octal para decimal
1238
1 * 82 + 2 * 81 + 3 * 80
64 + 16 + 3
8310
Exercício de fixação
458
5488
70358
Conversão de base decimal para octal
246 8 24610
6 30 8
6 3 =
3668
Exercício de fixação
1510
25510
31210
Conversão de octal em binário e de
binário para octal
A conversão de octal para binário é feita convertendo dígito a dígito de octal
em binário, da direita para a esquerda. Cada digito é convertido para um
grupo de 3 bits, conforme tabela a seguir:
OCTAL BINÁRIO
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
OCTAL BINÁRIO
0 000
Conversão de base octal para base 1 001
binária 2
3
010
011
4 100
26478 5
6
101
110
7 111
2 6 4 7
010 110 100 111
26478 = 0101101001112
OCTAL BINÁRIO
0 000
Conversão de base binária para base 1 001
octal 2
3
010
011
4 100
11101010112 5
6
101
110
7 111
11101010112 = 16538
Algarismos hexadecimais
Base 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Base 16 0 1 2 3 4 5 6 7 8 9 A B C D E F
Conversão de base hexadecimal para
decimal
254C16
2 * 163 + 5 * 162 + 4 * 161 + 12 * 160
8192 + 1280 + 64 + 12
954810
Base 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Base 16 0 1 2 3 4 5 6 7 8 9 A B C D E F
Conversão de base decimal para octal
438 16 43810
6 27 16
11 1 =
1B616
Conversão de hexadecimal para binário
e de binário para hexadecimal
Hexadecimal Binário
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
Álgebra de Boole
George Boole
Variáveis lógicas
AND (E),
OR (OU),
NOT (NÃO)
Variáveis lógicas
Nível ALTO na saída somente quando as 2 entradas são diferentes entre si!
A porta XNOR (OU Exclusivo com
inversor)
Para a porta XNOR, teremos o resultado 1 somente quando as 2 entradas
forem iguais (exatamente o inverso da XOR)!
Tanto a porta XOR quanto a XNOR possuem somente duas entradas
Portas Lógicas NAND num circuito
integrado
Exercício de Fixação
1 – Montar a tabela verdade dos circuitos abaixo:
A B C X
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Exercício de Fixação
1 – Montar a tabela verdade dos circuitos abaixo:
A B C D X
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Exercício de Fixação:
2 - Para satisfazer as saídas dos circuitos que níveis
lógicos os barramentos podem estar?
ASCII
0010 0000 40 32 20 (espaço) 0011 0100 64 52 34 4 0100 1000 110 72 48 H 0101 1100 134 92 5C \ 0111 0000 160 112 70 p
0010 0001 41 33 21 ! 0011 0101 65 53 35 5 0100 1001 111 73 49 I 0101 1101 135 93 5D ] 0111 0001 161 113 71 q
0010 0010 42 34 22 " 0011 0110 66 54 36 6 0100 1010 112 74 4A J 0101 1110 136 94 5E ^ 0111 0010 162 114 72 r
0010 0011 43 35 23 # 0011 0111 67 55 37 7 0100 1011 113 75 4B K 0101 1111 137 95 5F _ 0111 0011 163 115 73 s
0010 0100 44 36 24 $ 0011 1000 70 56 38 8 0100 1100 114 76 4C L 0110 0000 140 96 60 ` 0111 0100 164 116 74 t
0010 0101 45 37 25 % 0011 1001 71 57 39 9 0100 1101 115 77 4D M 0110 0001 141 97 61 a 0111 0101 165 117 75 u
0010 0110 46 38 26 & 0011 1010 72 58 3A : 0100 1110 116 78 4E N 0110 0010 142 98 62 b 0111 0110 166 118 76 v
0010 0111 47 39 27 ' 0011 1011 73 59 3B ; 0100 1111 117 79 4F O 0110 0011 143 99 63 c 0111 0111 167 119 77 w
0010 1000 50 40 28 ( 0011 1100 74 60 3C < 0101 0000 120 80 50 P 0110 0100 144 100 64 d 0111 1000 170 120 78 x
0010 1001 51 41 29 ) 0011 1101 75 61 3D = 0101 0001 121 81 51 Q 0110 0101 145 101 65 e 0111 1001 171 121 79 y
0010 1010 52 42 2A * 0011 1110 76 62 3E > 0101 0010 122 82 52 R 0110 0110 146 102 66 f 0111 1010 172 122 7A z
0010 1011 53 43 2B + 0011 1111 77 63 3F ? 0101 0011 123 83 53 S 0110 0111 147 103 67 g 0111 1011 173 123 7B {
0010 1100 54 44 2C , 0100 0000 100 64 40 @ 0101 0100 124 84 54 T 0110 1000 150 104 68 h 0111 1100 174 124 7C |
0010 1101 55 45 2D - 0100 0001 101 65 41 A 0101 0101 125 85 55 U 0110 1001 151 105 69 i 0111 1101 175 125 7D }
0010 1110 56 46 2E . 0100 0010 102 66 42 B 0101 0110 126 86 56 V 0110 1010 152 106 6A j 0111 1110 176 126 7E ~
0010 1111 57 47 2F / 0100 0011 103 67 43 C 0101 0111 127 87 57 W 0110 1011 153 107 6B k
0011 0000 60 48 30 0 0100 0100 104 68 44 D 0101 1000 130 88 58 X 0110 1100 154 108 6C l
0011 0001 61 49 31 1 0100 0101 105 69 45 E 0101 1001 131 89 59 Y 0110 1101 155 109 6D m
0011 0010 62 50 32 2 0100 0110 106 70 46 F 0101 1010 132 90 5A Z 0110 1110 156 110 6E n
0011 0011 63 51 33 3 0100 0111 107 71 47 G 0101 1011 133 91 5B [ 0110 1111 157 111 6F o
ASCII - Sinais de controle (não-
imprimíveis)
Bin Oct Dec Hex Abrev Notação com ^ Código escape Descrição do Controle
0000 0000 0 0 0 NUL ^@ \0 Nulo (inglês Null)
0000 0001 1 1 1 SOH ^A Início de cabeçalho (inglês Start of Header)
0000 0010 2 2 2 STX ^B Início de texto (inglês Start of Text)
0000 0011 3 3 3 ETX ^C Fim de texto (inglês End of Text)
0000 0100 4 4 4 EOT ^D Fim de transmissão (inglês End of Transmission)
0000 0101 5 5 5 ENQ ^E Consulta; inquirição (inglês Enquiry)
0000 0110 6 6 6 ACK ^F Confirmação (inglês Acknowledge)
0000 0111 7 7 7 BEL ^G \a Campainha; sinal sonoro (inglês Bell)
0000 1000 10 8 8 BS ^H \b Espaço atrás; retorno de 1 caractere (inglês Back-space)
0000 1001 11 9 9 HT ^I \t Tabulação horizontal (inglês Horizontal Tabulation)
0000 1010 12 10 0A LF ^J \n Alimentação de linha; mudança de linha; nova linha (inglês Line Feed)
0000 1011 13 11 0B VT ^K \v Tabulação vertical (inglês Vertical Tabulation)
0000 1100 14 12 0C FF ^L \f Alimentação de formulário (inglês Form Feed)
0000 1101 15 13 0D CR ^M \r Retorno do carro; retorno ao início da linha (inglês Carriage Return)
0000 1110 16 14 0E SO ^N Mover para fora; deslocamento para fora (inglês Shift Out)
0000 1111 17 15 0F SI ^O Mover para dentro; deslocamento para dentro (inglês Shift In)
0001 0000 20 16 10 DLE ^P escape do linque de dados; escape de conexão (inglês Data-Link Escape)
0001 0001 21 17 11 DC1 ^Q Controle de dispositivo 1 (inglês Device Control 1)
0001 0010 22 18 12 DC2 ^R Controle de dispositivo 2 (inglês Device Control 2)
0001 0011 23 19 13 DC3 ^S Controle de dispositivo 3 (inglês Device Control 3)
0001 0100 24 20 14 DC4 ^T Controle de dispositivo 4 (inglês Device Control 4)
0001 0101 25 21 15 NAK ^U Confirmação negativa (inglês Negative-Acknowledge)
0001 0110 26 22 16 SYN ^V Estado ocioso síncrono; espera síncrona (inglês Synchronous Idle)
0001 0111 27 23 17 ETB ^W Bloco de fim de transmissão (inglês End of Transmission Block)
0001 1000 30 24 18 CAN ^X Cancelar (inglês Cancel)
0001 1001 31 25 19 EM ^Y Fim de mídia; fim do meio (inglês End of Medium)
0001 1010 32 26 1A SUB ^Z Substituir (inglês Substitute)
0001 1011 33 27 1B ESC ^[ Escapar (inglês Escape)
0001 1100 34 28 1C FS ^\ Separador de arquivos (inglês File Separator)
0001 1101 35 29 1D GS ^] \e Separador de grupos (inglês Group Separator)
0001 1110 36 30 1E RS ^^ Separador de registros (inglês Record Separator)
0001 1111 37 31 1F US ^_ Separador de unidades (inglês Unit Separator)
0111 1111 177 127 7F DEL ^? Deletar (inglês Delete)
Estrutura e Funcionamento do
computador
Revisão: Modelo Von Newman
Muitos níveis de máquinas virtuais podem ser implementados. Cada linguagem usa a sua linguagem
antecessora como base, de modo que um computador que use essa técnica pode ser visto como
um conjunto de camadas ou níveis um em cima do outro como mostra a figura que segue.
Maquina Multinível: (Tannembaum)
Maquinas Multiníveis Contemporâneas: (Tannembaum)
Níveis
Linguagens não-estruturadas
Linguagem COBOL (COmmon Business Oriented Language)
Linguagem Basic
Linguagens Estruturadas
Linguagens Procedurais
C, Pascal, Fortran, ADA, Modula-2, Modula-3...
Linguagens Funcionais
Prolog, LISP, Scheme...
Linguagens Orientadas a Objetos
Simula, Smalltalk, C++, Java, C#...
Linguagens de Programação Visual
Linguagens Visuais Híbridas: C#, Delphi, Visual Basic
Linguagens Visuais Puras: Kronos, Simulink