Este documento fornece uma introdução à arquitetura de computadores e sistemas operacionais. Ele discute conceitos como arquitetura, organização, abstração e histórico das gerações de computadores, desde as máquinas da primeira geração baseadas em válvulas até as atuais arquiteturas x86 e ARM. O documento também apresenta os principais componentes de um computador e sua estrutura hierárquica.
3. Prof. Mauro Jansen
Arquitetura de computadores
O termo arquitetura signifca:
– Arte de projetar e construir edifícios
– Contextura
– Forma, estrutura
Na computação o termo foi adaptado para
denominar a técnica (e talvez a arte também) de
projetar e construir computadores
4. Prof. Mauro Jansen
Arquitetura de computadores
A Arquitetura de Computadores, como área de
estudo, aborda:
– Conceitos, componentes e interconexões
da organização interna de um computador
– Visão crítica quanto à sua estrutura e
desempenho.
– Arquiteturas dos processadores, memórias e
dispositivos de entrada e saída
– Entendimento do funcionamento da arquitetura
quanto à execução de programas.
5. Prof. Mauro Jansen
Arquitetura e organização de
computadores
Tanto a arquitetura e organização referem-se a
elementos da concepção e construção dos
computadores, porém
– A arquitetura está mais visível ao usuário
ou programador
– A organização está mais relacionada
detalhes do hardware menos comuns ao
usuário ou programador
6. Prof. Mauro Jansen
Arquitetura de computadores
• Refere-se a atributos de um sistema
visíveis a um programador ou que possuem
um impacto direto sobre a execução lógica
de um programa
• Exemplos de atributos arquiteturais:
– conjunto de instruções
– número de bits usados para representar
diversos tipos de dados (por exemplo, números,
caracteres)
– mecanismos de E/S e técnicas para
endereçamento de memória
Introd.Arq.Computadores e SO
Sistemas de Numeração 6
7. Prof. Mauro Jansen
Organização de computadores
• Refere-se às unidades operacionais e
suas interconexões que realizam as
especifcações arquiteturais.
• Exemplos de atributos
organizacionais:
– Detalhes do hardware ocultos ao
programador, como sinais de controle,
interfaces entre o computador e
periféricos e a tecnologia de memória
utilizada.
Redes de Computadores
Introdução, histórico e conceitos
8. Prof. Mauro Jansen
Arquitetura e organização de
computadores
• Muitos fabricantes de computadores
oferecem uma família de modelos de
computador, todos com a mesma
arquitetura, mas com diferenças na
organização.
• Os diferentes modelos na família têm
diferentes características de preço e
desempenho
Redes de Computadores
Introdução, histórico e conceitos
9. Prof. Mauro Jansen
Abstração: entendendo o
complicado
•A abstração é uma operação mental que, ao
estudar um objeto, nos permite concentrar-
nos em detalhes mais gerais / importantes e
ocultar detalhes mais específcos
•Do latim “abstracione”, que signifca
“separação”
•Em outras palavras, abstrair é simplifcar
10. Prof. Mauro Jansen
Exemplo de aplicação do
conceito de abstração
●
Para usar um carro é necessário conhecer
todos os detalhes internos de construção do
carro (motor, injeção eletrônica, velas,
válvula, pistão, etc.) ??
11. Prof. Mauro Jansen
Níveis de abstração de
hardware
Processador
ULA, registradores
Portas lógicas
Circuitos eletrônicos
Molécula, átomo
Computador
Dispositivos de Entrada,
Saìda e E/S
Proces-
sador, Memòria, etc
Placa mãe, chipset,
barramentos
Molécula, átomo
x
COMPLEXIDADE
COMPLEXIDADE
AC, X, Y
-
+
-
+
NÍVEL 4
NÍVEL 3
NÍVEL 2
NÍVEL 1
NÍVEL 0
NÍVEL 4
NÍVEL 3
NÍVEL 2
NÍVEL 1
NÍVEL 0
12. Prof. Mauro Jansen
Estrutura e função
●
Um computador é um sistema complexo e
hierárquico
●
Sistema hierárquico: conjunto de
subsistemas inter-relacionados composto
de vários níveis, do mais especializado até
algum nível mais baixo e elementar
●
Em cada nível, temos uma estrutura e uma
função
13. Prof. Mauro Jansen
Estrutura e função
●
Estrutura: o modo como os componentes
são inter-relacionados
●
Função: a operação (papel) individual de
cada componente na estrutura
Ao analisar o computador a melhor abordagem é a
top-down (Weinberg, 1975) : começar de uma
visão mais alta e decompor em sub-partes
14. Prof. Mauro Jansen
Estrutura
●
A estrutura interna do computador é composta por:
●
Unidade Central de Processamento (UCP ou
processador): controla a operação do
computador e realiza suas funções de
processamento de dados
●
Memória principal: armazena dados
●
E/S: Move dados entre o computador e o
ambiente externo
●
Interconexão do sistema: mecanismo que
defne a comunicação entre a CPU, memória
principal e E/S. Ex: barramento do sistema
15. Prof. Mauro Jansen
Estrutura (e decomposição)
Entrada /
Saída (ES)
Memória
CPU
Barramento
Dosistema
COMPUTADOR
Unidade Aritmético
Lógica (ULA)
Unidade
de Controle (UC)
Registradores
Barramento
interno
CPU
Lógica de
sequenciação
Registradores e
decodifcadoers
Memória de
controle
UNIDADE DE
CONTROLE
Níveldeabstração
Nível de complexidade
adaptado de (STALLING, 2010)
16. Prof. Mauro Jansen
Função
●
Processamento de dados
●
Armazenamento de dados
●
Movimentação de dados
●
Controle
Movimentar
Dados
Mecanismo
De controle
Armazenar
Dados
Processar
Dados
Ambiente
Operacional
(origem e
Destino de
dados)
A curto
e longo prazo
17. Prof. Mauro Jansen
Movimentação de dados
●
Entre o computador e o mundo exterior, a partir
dos dispositivos de entrada ou saída
●
Tipos de movimentação de dados:
●
Entrada e Saída (E/S): quando os dados são
recebidos ou entregues a um dispositivo
conectado diretamente ao computador
(periférico)
●
Comunicação de dados: quando os dados são
movimentados por distâncias maiores, de ou
para um dispositivo remoto
18. Prof. Mauro Jansen
Controle
●
Consiste no controle das 3 funções
(processamento, armazenamento e
movimentação de dados)
●
É exercido por:
●
Quem fornece instruções ao computador
●
Pela Unidade de Controle (UC), que gerencia
os recursos do computador e coordena o
desempenho de suas partes funcionais em
relação a essas instruções
20. Prof. Mauro Jansen
Gerações do computador e a
evolução da tecnologia
eletrônica
Tecnologia e Turismo
1 - Revisão de Informática Básica 20
1ª: Relé e válvula
(1937-1953)
2ª: Transistor
(1954-1962)
3ª: Circuito
Integrado e
computadore
s pessoais
(1963-1972)
4ª:
Microprocessad
or
21. Prof. Mauro Jansen
Computadores da 1ª geração:
válvulas
ENIAC (Electronic Numerical And Computer) – Univ. Pensilvânia
(1943-1955). Operava sobre números decimais
22. Prof. Mauro Jansen
Conceito de programa
armazenado
•Consiste em adotar soluções que permitam
representar e armazenar o programa na
memória, junto com os dados
•Ideia atribuída a von Neumann e Alan Turing
•Até o ENIAC, a programação era feita através
de chaves e cabos
•Começou a ser adotada a partir do EDVAC
(1945)
23. Prof. Mauro Jansen
Computadores da 1ª geração:
válvulas
IAS – protótipo de todos os
computadores de uso geral
- Princeton Institute for Advanced
Studies (1945 a 1952) –
- Propósito geral
- Programa armazenado
EDVAC (Electronic Discrete
Variable Computer) – 1945 –
matemático John von
Neumann
24. Prof. Mauro Jansen
Computadores da 1ª geração:
válvulas
IBM série 700
- 701: aplicações científcas (1953)
- 702: aplicações comerciais (1955)
UNIVAC I (Universal Automatic
Computer) – década de 1950
– parceria Eckert-Mauchly e Sperry-
Rand
– 1º computador comercial de
sucesso
- Propósito geral
- Programa armazenado em fta
magnética
- Depois: UNIVAC II e série 1100
25. Prof. Mauro Jansen
Estrutura do computador IAS
(a máquina de von Neumann)
Modelo passou a ser chamado “Arquitetura de
von Neumann”
26. Prof. Mauro Jansen
Estrutura do computador IAS
(a máquina de von Neumann)
•Memória principal (M): armazena dados e
instruções
•Unidade lógica e aritmética (ULA ou CA –
Central Arithmetic): opera sobre dados binários
•Unidade de controle (UC ou CC – Central
Control): interpreta as instruções na memória e
faz com que sejam executadas
•Equipamento de entrada e saída (E/S ou I/O -
Input/Output): operado pela unidade de controle
27. Prof. Mauro Jansen
Proposta inicial de von Newmann
para o computador
1)Terá que realizar as operações elementares da aritmética e
deve ter uma unidade especializada para isso (CA – Central
Arithmetic)
2)Deve ter um órgão de controle central para fazer a
sequenciação apropriada das suas operações (CC – Central
Control)
3)Precisa ter uma memória considerável (M - Memory) e um
meio de gravação exterior do dispositivo (R - Recording)
4)Precisa ter unidades para transferir informações de R para
suas partes específcas C e M ( I – Input)
5)Precisa ter unidades para transferir informações de suas
partes específcas C e M para R ( O – Input)
29. Prof. Mauro Jansen
Estrutura do computador IAS
(nível mais detalhado)
• Registrador de bufer de memória (MBR - Memory Bufer
Register): guarda uma palavra a ser transferida entre a ULA
e a memória ou E/S
•Registrador de endereço de memória (MAR – Memory
Address Register): especifca o endereço de memória da
palavra a ser escrita ou lida no MBR
•Registrador de instrução (IR – Instruction Register): opcode
de 8 bits da instrução que está sendo executada
•Registrador de bufer de instrução (IBR – Instruction
Bufer Register): Mantém temporariamente a próxima
instrução a ser executada
•Contador de programa (PC – Program Counter): contém o
endereço do próximo par de instruções a ser apanhado da
memória
30. Prof. Mauro Jansen
Computadores da 2ª geração:
transistor
•Empresas de destaque:
• Bell Laboratorios (1947): invenção do
transistor
• IBM, NCR, RCA, DEC (Digital Equipment
Corporation)
•Maior processamento, quantidade de
memória e tamanho menor
•ULA e UC mais complexas
•Uso de linguagens de programação de alto
nível
31. Prof. Mauro Jansen
Computadores da 2ª geração:
transistor
DEC PDP-1 (1957)
- 2.700 transistores e 3.000 diodos
- Primeiro jogo de computador:
Spacewar (Steve Russel)
- Usava leitor / escritor de fta
perfurada como dispositivo de
entrada e saída
Fonte: http://history-computer.com
Fonte: https://erealityhome.wordpress.com
33. Prof. Mauro Jansen
Arquiteturas RISC e CISC
• CISC (Complex Instruction Set Computing):
Computador com um Conjunto Complexo de
Instruções. Usada em processadores Intel e AMD;
suporta mais instruções no entanto, com isso,
mais lenta fca a execução dela
•A RISC (em inglês: Reduced Instruction Set
Computing, Computador com um Conjunto
Reduzido de Instruções) usada em processadores
PowerPC (da Apple, Motorola e IBM) e SPARC
(SUN); suporta menos instruções, e com isso
executa com mais rapidez o conjunto de
instruções que são combinadas.
34. Prof. Mauro Jansen
Arquiteturas (famílias de
computadores) Intel x86 e ARM
•Intel x86:
• Arquitetura usada para sistemas não
embarcados.
• Conjunto de instruções complexo
(CISC) com alguns recursos RISC
• Membros recentes usam princípios de
projeto superescalar e multicore
35. Prof. Mauro Jansen
Arquiteturas (famílias de
computadores) Intel x86 e ARM
•ARM:
• Arquitetura voltada para sistemas
embarcados, móveis e IoT
• Conjunto reduzido de instruções (RISC)
• Processador mais utilizado em telefones
celulares, tablets, equipamentos de
sensores remotos, etc.
• Membros recentes usam princípios de
projeto superescalar e multicore
36. Prof. Mauro Jansen
Arquitetura Intel x86
●
x86 ou 80x86 é o nome genérico dado à
família (arquitetura) de processadores
baseados no Intel 8086
●
Recebe esse nome porque os primeiros
processadores eram identifcados por
números terminados com a sequência
“86”: 8086, 80186, 80286, 80386, 80486
37. Prof. Mauro Jansen
Evolução da família x86:
8080 (1974)
●
1º microprocessador de uso geral do mundo
●
8 bits
●
Usado no 1º computador pessoal: o Altair
Intel 8080
Fonte: novaeletronica.com.br Altair: 1º computador pessoal
Fonte: mcluhangalaxy.wordpress.com
38. Prof. Mauro Jansen
Evolução da família x86:
8086, 8088, 80286 (1978-1982)
●
8086: Primeiro aparecimento da família x86
●
16 bits e cache de instruções
●
Usado no primeiro computador pessoal da IBM, o IBM-PC
●
80286: aumenta endereçamento de memória de 1M p/ 16MB
Intel 8088
Fonte: lowendmac.com
IBM-PC
Fone: wikipedia.org
39. Prof. Mauro Jansen
Evolução da família x86:
80386 (1985 a 1988)
●
1º processador com 32 bits da Intel: complexidade e potência
competitiva com minicomputadores mainframes
●
Reformulação geral do produto
●
1º processador Intel Multitarefa (vários programas ao mesmo
tempo)
●
Versões: 386, 386DX, 386SX
40. Prof. Mauro Jansen
Evolução da família x86:
80486 (1989-1991)
●
Introduziu a tecnologia de uso de
cache e pipeline
●
Trouxe co-processador matemático
embutido
41. Prof. Mauro Jansen
Evolução da família x86:
Pentium (1993-2000)
●
Tecnologia MMX da Intel: processamento
efciente de dados de vídeo, áudio e gráfcos
●
Instruções adicionais de ponto futuante para
suporte a software de gráfcos 3D
●
Versões: Pentium, Pentium Pro, II, III e IV
42. Prof. Mauro Jansen
Evolução da família x86:
Core (1993-2008)
●
1º processador com dois núcleos
●
Modelos: Core, Core 2, Core 2 Quad,
Core i3, Core i5, Core i7
45. Prof. Mauro Jansen
Sistemas embarcados
•Sistema Embarcado: combinação de hardware e
software de computador e talvez de partes
mecânicas, dentro de um produto com funções
específcas, ao contrário de um computador de
uso geral como um laptop ou desktop
•Exemplos:
• Sistemas automotivos (injeção eletrônica, freios, etc)
• Eletrônicos (TVs, brinquedos/jogos, smartphones,
GPS, etc)
• Automação industrial
• Médico (monitor cardíaco, monitoramento em UTI,
etc.)
46. Prof. Mauro Jansen
Família ARM
•ARM é uma família de microprocessadores e
microcontroladores baseados em RISC
projetados pela ARM Inc, Cambridge,
Inglaterra
•.Originado da empresa Acom Computers, que
criou o primeiro processador RISC comercial: o
Acom RISC Machine (ARM)
• Características:
• Alta velocidade
• Pequeno tamanho
• Baixo consumo de energia
•
47. Prof. Mauro Jansen
Evolução da família ARM
Versões Observações Velocidade
ARM1, ARM2, ARM3,
ARM6, ARM7
RISC 32 bits,
processador gráfico e de
E/S, SoC integrado
12 MHz a 60 MHz
ARM8, ARM9, ARM9E,
ARM10E, ARM11
Pipeline de 5 estágios,
instruções DSP
mlhoradas,
72 a 665 MHz
Cortex Pipeline superescalar de
13 estágios
>= 1GHz
XScale >= 1,25 GHz
48. Prof. Mauro Jansen
Onde a família ARM está
presente
Raspberry pi 3 B
Asus Tinker Board ODROID XU4
Smartphones Tablets