Este documento fornece um resumo introdutório sobre arquitetura de computadores e sistemas operacionais. Ele discute conceitos-chave como arquitetura, organização, abstração e estrutura e função de computadores. Também apresenta brevemente a evolução histórica das gerações de computadores desde as máquinas da 1a geração baseadas em válvulas até as atuais arquiteturas x86 e ARM.
3. Arquitetura de
computadores
● O termo arquitetura significa:
– 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. Arquitetura de
computadores
A Arquitetura de Computadores, como área de
estudo, aborda:
– Conceitos, componentes e interconexões
da organização interna de u m computador
– Visão crítica quanto à sua estrutura e
desempenho .
– Arquiteturas dos processadores, memórias
e
dispositivos d e entrada e s a í d a
– Entendimento do funcionamento da
arquitetura quanto à execução de programas.
5. Arquitetura e organização de
computadores
Prof. Mauro Jansen
●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. 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
6
7. Organização de
computadores
• Refere-se às unidades operacionais e
suas interconexões que realizam as
especificaçõ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.
8. 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
9. 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íficos
•Do latim “abstracione”, que significa
“separação”
•Em outras palavras, abstrair é simplificar
10. 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. Níveis de abstração de
hardware
Prof. Mauro Jansen
Processador
ULA, registradores
Portas lógicas
Circuitos eletrônicos
Molécula, átomo
Computador
D a,
ispositivos de Entrad
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. 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. 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. 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
define a comunicação entre a CPU, memória
principal e E/S. Ex: barramento do sistema
15. Estrutura (e decomposição)
Barramento
D
o
sistema
Entrada /
Saída (ES)
Memória
CPU
CO M PUTAD OR
Barramento
interno
Unidade Aritmético
Lógica (ULA)
Unidade
de Controle (UC)
Registradores
CPU
Lógica de
sequenciação
Registradores e
decodificadoers
Memória de
controle
UNIDADE DE
CONTROLE
Nível
de
abstração
16. 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. 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. Controle
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
● Consiste no controle das 3 funções
(processamento, armazenamento e
movimentação de dados)
● É exercido por:
●
●
20. Gerações do computador e a
evolução da tecnologia
eletrônica
20
1ª: Relé e válvula
(1937-1953)
2ª: Transistor
(1954-1962)
3ª: Circuito
Integrado e
computadore
s pessoais
(1963-1972)
4ª:
M icroprocessad
or
21. Computadores da 1ª geração:
válvulas
ENIAC (Electronic Numerical And Computer) – Univ. Pensilvânia
(1943-1955). Operava sobre números decimais
22. 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:
IAS – protótipo de todos os
computadores de uso geral
-Princeton Institute for Advanced
Studies (1945 a 1952) –
- Propósito geral
- Programa armazenado
válvulas
EDVAC (Electronic Discrete
Variable Computer) – 1945 –
matemático John von
Neumann
24. Computadores da 1ª
geração:
válvulas
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 fita
magnética
- Depois: UNIVAC II e série 1100
I B M série 700
- 701: aplicações científicas (1953)
- 702: aplicações comerciais (1955)
25. Estrutura do computador IAS
(a máquina de von Neumann)
Modelo passou a ser chamado “Arquitetura de
von Neumann”
26. 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. 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íficas C e M ( I – Input)
5) Precisa ter unidades para transferir informações de suas
partes específicas C e M para R ( O – Input)
29. Estrutura do computador
IAS (nível mais detalhado)
Prof. Mauro Jansen
• Registrador de buffer de memória (MBR - Memory Buffer
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): especifica 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 buffer de instrução (IBR – Instruction
Buffer 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. 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. 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 fita
perfurada como dispositivo de
entrada e saída
Fonte: http://history-computer.com
Fonte: https://erealityhome.wordpress.com
32. Computadores da 2ª geração:
transistor
I B M 7094 (1962)
- 32K palavras de memória
- 185 opcodes
33. Arquiteturas RISC e CISC
Prof. Mauro Jansen
• 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 fica 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. Arquiteturas (famílias de
computadores) Intel x86 e A R M
•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. Arquiteturas (famílias de
computadores) Intel x86 e
A R M
•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. 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 identificados por
números terminados com a sequência
“86”: 8086, 80186, 80286, 80386, 80486
37. 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. 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. 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. Evolução da família x86:
80486 (1989-1991)
● Introduziu a tecnologia de uso de
cache e pipeline
● Trouxe co-processador matemático
embutido
Prof. Mauro Jansen
41. Evolução da família x86:
Pentium (1993-2000)
● Tecnologia MMX da Intel: processamento
eficiente de dados de vídeo, áudio e gráficos
● Instruções adicionais de ponto flutuante para
suporte a software de gráficos 3D
● Versões: Pentium, Pentium Pro, II, III e IV
42. 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. 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íficas, 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. Família A R M
•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
Prof
•
. M auro Jansen
47. Evolução da família A R M
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. Onde a família A R M
está presente
Raspberry pi 3 B
Asus Tinker Board ODROID XU4
Smartphones Tablets