Buscar

Organizacao_de_computadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 89 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 89 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 89 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Organização de Computadores 
Professor Aldriano 
Organização de Computadores 
Apresentação do Plano de Ensino 
*Período de Avaliações 
https://www.unip.br/presencial/servicos/aluno/manual/tradicional/calendarios.aspx 
Organização de Computadores 
 
• OBJETIVO GERAL 
• Entender o hardware de um sistema computacional. Entender o funcionamento dos vários 
módulos que compõem um sistema computacional. Conhecer a organização interna dos 
computadores, para análise da otimização do uso de seus componentes em aplicações das 
áreas de informação, comunicação e processos de controle. 
 
 
• Abrir PDF do Conteúdo Programático. 
 
• AVALIAÇÃO 
• B1 + Trabalho 
• B2 + Trabalho 
 
 
Apresentação do Plano de Ensino 
Organização de Computadores 
 
• CRITÉRIOS PARA CHAMADA E ABONO DE FALTAS: 
 
• Haverá tolerância de 10 minutos para o início das aulas do primeiro horário. 
• Neste período o professor estará em sala e poderá tirar dúvidas dos alunos. 
 
• CONDUÇÃO DA DISCIPLINA: 
• O conteúdo será ministrado através de aulas expositivas, dialogadas, enfatizando as 
relações entre a teoria e a prática e buscando trazer a teoria para o real; 
• Utilizar-se-á de atividades em grupo para o entendimento da teoria e para pesquisas de 
informações complementares; 
• O laboratório eventualmente poderá ser utilizado para realização de exercícios e 
trabalhos de caráter prático; 
• Será realizado seminário a fim de despertar no aluno a capacidade de pesquisa e do auto-
aprendizado. 
 
Apresentação do Plano de Ensino 
Organização de Computadores 
• Geração 0 (1642-1945): que possuía essencialmente computadores mecânicos; 
 
• Primeira geração (1945-1955): utilizava-se essencialmente de válvulas eletrônicas para a 
construção de computadores; 
 
• Segunda geração (1955-1965): baseava-se no uso de transistores. Foi proposto por John 
Von Neumann o modelo de computador utilizado até os dias de hoje, composto de: memória, 
unidade de processamento e dispositivos de entrada e saída; 
 
 
• Terceira geração: (1965-1980): baseava-se no uso de circuitos integrados; 
 
• Quarta geração (1970-atual): surgiu o microprocessador. 
 
Evolução dos computadores 
Organização de Computadores 
• Historia: a evolução... Eniac (válvulas), Edvac (eletrônica discreta)... 
• Componentes: 
• HD (paginação, tabela de alocação); 
• RAM (como se localiza uma informação, endereçamento), ram primária, secundária, cachê 
• Barramentos (controle, endereço, dados), CPU ("Processadores",registradores, conjunto 
de instruções)-> funcionamento 
• Placa mães: 
• toda a parte elétrica e componentes; 
• lógica digital(OR, AND, XOR...) - circuitos elétricos.. 
 
• Representações das informações: bit, byte, caracter, palavras... 
• Conversões de bases e aritmética Computacional... 
 
• * Isto é para cada arquitetura RISC vx CISC 
 
• Programação assembly pra criar OS 
 
História 
Eniac 
Válvulas Transistor 
Organização de Computadores 
Quais componentes devem existir em um computador? 
Processador Memória 
Disco rígido 
Placa mãe 
Gabinete 
Monitor 
Sistema 
operacional Jogos 
Organização de Computadores 
Funcionamento do boot de um PC 
1. Acessa a memória CMOS, um circuito integrado que grava 
informações referentes ao hardware. A BIOS estabelece 
reconhecimento e comunicação com a placas de vídeo e memória 
RAM. 
 
2. A segunda fase, conhecida como Power-on Self Test (POST) nada 
mais é do que um conjunto de teste que a BIOS realiza para saber 
se tudo está se inicializando da maneira correta. Quando alguns 
componentes essenciais estão faltando, alguns beeps ou mensagens 
na tela alertam o usuário. 
 
3. A etapa seguinte consiste na procura de alguma fonte para 
inicializar o sistema operacional. Tal fonte é configurável e 
pode ser um disco rígido (padrão), CD-ROM, pendrive, disquete, 
entre outros. 
 
4. A etapa seguinte, o BIOS lê o setor zero (que com apenas 512 
bytes, denominado Master Boot Record) do HD. Essa área 
contém um código que alavanca a inicialização do sistema 
operacional. o setor dois. 
BIOS:Basic Input/Output System ou 
Sistema Básico de Entrada e Saída. 
Organização de Computadores 
Funcionamento do boot de um PC 
5. A etapa seguinte consiste na leitura de um arquivo de 
configuração de boot, o Boot Loader ( NTLDR no Windows). 
 
6. A partir dele, é inicializado o núcleo (kernel). Assim como 
o BIOS estabelece a ligação entre hardware e sistema, o 
kernel serve para firmar uma comunicação estável entre 
hardware e software. Nessa fase, é ele quem assume o 
controle do computador. 
 
7. O kernel carrega os arquivos principais e informações 
básicas do sistema operacional (incluindo o registro), além 
de relacionar os componentes de hardware com as respectivas 
DLLs e drivers. 
 
8. A tela de escolha de usuários é exibida e, após o logon, os 
programas relacionados para começar junto com o sistema são 
carregados. 
Organização de Computadores 
Tela da BIOS de um PC 
Organização de Computadores 
Evolução do PC 
• Lei de Moore. 
 Gordon E. Moore observou que o 
número de transistores em um chip 
de computador estava dobrando a 
cada 18 a 24 meses. Como mostrado 
no gráfico logarítmico do número 
de transistores nos processadores 
da Intel no momento de sua 
introdução, sua "lei" estava sendo 
obedecida. 
Enciclopédia Britânica, Inc. 
Organização de Computadores 
1. Boot Loader (lilo, Grub, NTLDR); 
2. Kernel: 
 2.1 Gerenciamento de memória, paginação e forma como os programas serão armazenados 
durante a execução); 
 2.2 Sistema de arquivos; 
3. Criar um shell mais robusto como um programa chamado pelo o básico do kernel; 
4. Criar um compilador C que gere arquivos próprios do sistema; 
5. Implementar drivers: placa de rede, vídeo, áudio, usb... 
6. Depois ir implementando... Quiça uma Interface gráfica... 
Visão de um projeto de “OS” – Mão na massa 
Organização de Computadores 
Alguns projetos: 
 
• http://www.minix3.org - Em 1987, na edição do livro Operating Systems: Design and Implementation, de Andrew 
S. Tanenbaum. 
• http://www.menuetos.net - escrito totalmente em assembler para plataformas 32 bits x86. 
• http://www.menuetos.be/index.en.html 
• http://www.kolibrios.org/en/ 
• https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/ 
 
 
Visão de um projeto de “OS” 
Sistemas embarcados: 
• Contém um processador ARM Cortex A8 de 1 GHz , 512 MB de RAM, 
um SSD flash de 4 GB integrado e conectores para cartões micro-
SD, micro-HDMI, USB e Ethernet. Suporta Minix 3. 
http://www.minix3.org/
http://www.minix3.org/
http://www.minix3.org/
http://www.minix3.org/
http://www.minix3.org/
http://www.minix3.org/
http://www.minix3.org/
http://www.minix3.org/
http://www.menuetos.net/
http://www.menuetos.net/
http://www.menuetos.net/
http://www.menuetos.net/
http://www.menuetos.net/
http://www.menuetos.net/
http://www.menuetos.net/
http://www.kolibrios.org/en/
http://www.kolibrios.org/en/
http://www.kolibrios.org/en/
http://www.kolibrios.org/en/
http://www.kolibrios.org/en/
http://www.kolibrios.org/en/
http://www.kolibrios.org/en/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
https://www.vivaolinux.com.br/artigo/MenuetOS-O-extraordinario-minisistema-operacional/
Organização de Computadores 
Projeto Minix 
Organização de Computadores 
ARQUITETURA vs ORGANIZAÇÃO 
Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e 
Organização de computadores. 
Organização de Computadores 
1. O termo “organização de um computador” refere-se às 
unidades operacionais e suas interconexões que 
implementam as especificações da sua arquitetura. 
• Exemplos de atributos de organização incluem: 
• Detalhes de hardware transparentes ao 
programador, tais como os sinais de controle, as 
interfaces entre o computador e os periféricos e 
a tecnologia de memória utilizada. 
 
 
2. Consiste no estudo dos componentes que compõem o 
computador. 
ORGANIZAÇÃO 
Organização de um computador simples da 
Máquina de von Neumann. 
Organização de Computadores 
• O termo “arquitetura de um computador” refere-se aos atributos de um sistema que são 
visíveis para o programador ou, em outras palavras, aos atributos que têm impacto direto 
sobre a execução lógica de um programa. 
• Exemplos de atributos de arquitetura: 
• O conjunto de instruções; 
• O número de bits usados para representar os vários tipos de dados (por exemplo, 
números, caracteres). Uma variável do tipo int ocupa 4 bytes; 
• Os mecanismos de E/S e as técnicas de endereçamento à memória (como acessar); 
• Processador de 16/32/64 bits; 
ARQUITETURA 
Organização de Computadores 
ARQUITETURA vs ORGANIZAÇÃO 
Organização de Computadores 
Tritium: Quad Core ARM Computer 
with Android/Linux 
Organização de Computadores 
• Até então, a arquitetura para 32-bit (chamada de X86 por se basear na arquitetura da família 
Intel 8086) era a mais avançada. 
 
• Para aproveitar o processamento de 64 bits, além do processador, o sistema operacional, os 
drivers e os aplicativos devem ser escritos para 64bits. 
 
• A arquitetura X64 é compatível com 32bit, mas a arquitetura X86 não trabalha com sistemas de 
64 bits. 
Comparação das Arquiteturas de Memória de 32 bits e 64 bits 
• Se você deseja utilizar mais do 
que 4GB de memória RAM é imperativo 
o uso da arquitetura chamada X64. 
 
• O processador da marca AMD, 
Athlon, foi o primeiro a introduzir 
o processamento de 64 bits para 
micros pessoais. 
Organização de Computadores 
• Em 1952, o professor John von Neumann, da Univeridade de Princeton, Estados Unidos, 
apresentou um projeto inusitado para a arquitetura de um computador. Ele sugeriu que o 
computador fosse organizado em componentes, cada um executando apenas uma única tarefa e de 
forma muito mais organizada. 
 
• Memória Principal: responsável por armazenar os programas a serem executados, assim como os 
dados a serem processados; 
• Unidade Lógica e Aritmética (ULA): para realização das operações lógicas e aritméticas; 
• Unidade de Controle (R/W): que, baseado nas instruções lidas da memória, enviaria sinais de 
controle para a ULA para que a mesma executasse as operações devidas; 
• Unidade Central de Processamento (CPU): que agruparia a ULA e a Unidade de Controle; 
• Unidade de Entrada e Saída: responsável pela comunicação com os periféricos do computador 
(teclado, monitor, memória externa etc.) 
Modelo de von Neumann 
Organização de Computadores 
• John Von Neumann, matemático húngaro (1903-1957), contribuiu para a matemática e a física. 
Foi professor da Universidade de Princeton e um dos construtores do ENIAC. 
 
Modelo de von Neumann 
Ele sugeriu que o computador fosse organizado em componentes, cada um executando apenas 
uma única tarefa e de forma muito mais organizada. 
Organização de Computadores 
• Fluxograma do ciclo de execução. 
Modelo de von Neumann 
• O algoritmo começa buscando, na memória principal, 
a próxima instrução do programa que será executada. 
A unidade de controle é responsável por isso. O 
Contador de programa deve ser incrementado para que 
a próxima instrução a ser executada seja encontrada. 
Em seguida a instrução deve ser decodificada, 
identificando primeiramente o seu código. Se a 
instrução tiver Operandos, como em uma operação 
aritmética, então, é necessário buscar esses 
operandos (valores). Para isso é preciso calcular o 
endereço do operando, para saber onde ele se 
encontra na memória e, somente depois pegar esse 
valor e armazenar em registradores para manipulação. 
Quando os operandos terminarem de ser buscados e 
armazenados, somente então a operação é executada 
pela Unidade Lógica Aritmética. Se a instrução não 
tiver operandos, a instrução simplesmente é 
executada logo após a avaliação da condição. 
Organização de Computadores 
Modelo de von Neumann – Resumo do Ciclo de Execução 
Organização de Computadores 
von Neumann vs Harvard 
Organização de Computadores 
Funções do barramento 
Organização de Computadores 
Máquinas multiníveis contemporâneas 
• Linguagem de máquina - constituída pelo conjunto básico de instruções que são reconhecidas 
pelo hardware e, para a qual todo programa precisa ser convertido para que possa ser 
executado. 
 
• Tradutor - um programa que converte outros programas para a linguagem de máquina. Pode 
ser de três tipos: montador (para a linguagem assembly), interpretador (tradução e 
execução passo a passo) e compilador (tradução e execução). 
 
 void gotoxy(uchar x, uchar y) { 
 asm mov ah, 0x02; 
 asm mov dh, y; 
 asm mov dl, x; 
 asm int 0x10; 
} 
 
void main() { 
 gotoxy(0,0); 
} 
código em Linguagem C 
 
* Referenced by a CALL at Address: 
|:0001.0007 
| 
:0001.000F 55 push bp 
:0001.0010 8BEC mov bp, sp 
:0001.0012 B402 mov ah, 02 
:0001.0014 8A7606 mov dh, [bp+06] 
:0001.0017 8A5604 mov dl, [bp+04] 
:0001.001A CD10 int 10 
:0001.001C 5D pop bp 
:0001.001D C3 ret 
Código em Assembly 
gerado peloTurbo C++ 
do código em 
linguagem C. 
Organização de Computadores 
Máquinas multiníveis contemporâneas 
• Para linguagens completamente compiladas, como C e Fortran, os códigos binários são 
executados diretamente pela máquina-alvo. O Java pára a tradução no nível de byte code. A 
máquina virtual Java, que está no nível da linguagem assembly, interpreta os byte codes. 
 
Organização de Computadores 
Máquinas multiníveis contemporâneas 
• Nível 0: Nível da Lógica Digital 
• Nível mais baixo da estrutura 
• Objetos de interesse são conhecidos como portas lógicas 
• Cada porta lógica tem 1 ou mais entradas digitais (aceitam 0 ou 1) e calculam funções 
lógicas simples sobre essas entradas. Exemplo: AND, OR, XOR,etc 
• Portas lógicas são combinadas para formar o Processador - principal dispositivo do 
computador 
 
• Nível 1: Nível da Microarquitetura 
• Enxergamos uma memória local (8 a 32 registradores) e a UAL (Unidade Aritmética Lógica) 
que realiza operações aritméticas muito simples 
• Os registradores são conectados a UAL formando o caminho dos dados 
• Operações são controladas por um microprograma ou diretamente por hardware 
• Microprograma é um interpretador para as instruções do nível 2. 
 
 
Organização de Computadores 
Máquinas multiníveis contemporâneas 
• Nível 2: Nível da Arquitetura do Conjunto de Instruções (ISA - Instruction Set Architeture) 
• Definida pelo fabricante e dependente da arquitetura da máquina. 
• Fabricantes disponibilizam "Manual de Referência da Linguagem de Máquina" ou "Princípios 
de operação do Computador Modelo XYZ4W),ou algo similar. 
• Manuais descrevem como as instruções são executadas interpretativamente pelo 
microprograma ou como elas são executadas diretamente pelo hardware. 
• Essas informações são necessárias para os desenvolvedores de sistemas operacionais. 
 
• Nível 3: Nível do Sistema Operacional 
• Instruções da linguagem deste nível também podem conter instruções do nível ISA. 
• Suporta uma organização diferente de memória. 
• Suporta capacidade de rodar 2 ou mais programas simultaneamente. 
• Suporta sistemas de comandos ou de janelas (windows). 
• Programadores deste nível, e também dos níveis mais baixos, são conhecidos como 
programadores de sistema. Os programadores dos níveis mais altos que este são chamados 
programadores de aplicação. 
 
 
Organização de Computadores 
Máquinas multiníveis contemporâneas 
• Nível 4: Nível da linguagem do montador ou de montagem (Assembly language) 
• Linguagem de montagem: forma simbólica de representação das linguagens do nível mais 
baixo. 
• Programas nessa linguagem são primeiro traduzidos para as linguagens dos níveis 1, 2 e 3 
e depois interpretados pela máquina virtual apropriada ou pela própria máquina real. 
• Programa que realiza essa tradução é chamado de montador. 
 
• Nível 5: Nível das linguagens orientadas para solução dos problemas 
• Conhecidas como linguagens de alto nível. Exemplos Basic, C, Pascal, Java, LISP, etc. 
• Programas são geralmente traduzidos para os níveis 3 e 4 por compiladores. 
• Alguns são interpretados: Exemplo: programas em Java, MatLab, ... 
 
Organização de Computadores 
Máquinas multiníveis contemporâneas 
Um programa em código de máquina é um arquivo binário. Como 
tal, não pode ser visualizado em um editor de texto. 
Organização de Computadores 
Exemplo: 
arquivo batch (.bat) 
arquivo batch (.bat) 
Arquivo em Linguagem C. 
Compilar: gcc arquivo.c –o arquivo.executável 
Organização de Computadores 
• gcc –v –help|more 
• 
• gcc –c principal.c funcao.c 
 
• gcc –o calculadora.exe principal. funcao.o 
 
• gcc –v principal.c -> exibir informações detalhadas sobre a sequência exata de comandos usados ​​para compilar 
e vincular um programa. 
 
• gdb .... -> para Debugar 
 
• Listar processos: 
• tasklist /FI "IMAGENAME eq calcula.exe“ 
• taskkill /F /pid 5808 
• taskkill /f /im calcula.exe 
 
Exemplo – compilação em C com módulos 
Organização de Computadores 
• O objetivo de um sistema operacional é executar 
aplicativos do usuário. Mas o sistema operacional não 
pode fornecer controle total aos aplicativos do 
usuário devido a razões de segurança. Portanto, para 
executar algumas operações privilegiadas, os 
aplicativos devem solicitar ao SO que faça o trabalho 
por conta própria. 
Organização de Computadores 
Estrutura (monolítica) do Linux 
Organização de Computadores 
Representação de informações 
Bit / Byte; 
 Sistemas de numeração: 
 binário; 
 decimal; 
 octal; 
 hexadecimal. 
 Decimal - dez algarismos utilizados para a representação (0 a 9); 
 Binária - Algarismos ‘0’ e ‘1’; 
 Octal - Algarismos ‘0’ a ‘7’; 
 Hexadecimal - Algarismos ‘0’a ‘9’ e letras de ‘A’ a ‘E’. 
Organização de Computadores 
Conversão de bases 
Exemplo: Converter (13)10 para a base binária 
 13 /2 = 6 (novo dividendo), resto 1 
Resultado parcial: 1 
 6/2 = 3 (novo dividendo), resto 0 
Resultado parcial: 01 
 3/2 = 1 (novo dividendo), resto 1 
Resultado parcial:101 
Como o último dividendo(1) é menor do que o divisor (2), ele é simplesmente colocado à 
esquerda do resultado parcial  1101 
Organização de Computadores 
Exercícios 
1-Dentre as primeiras calculadoras e os primeiros computadores (eletrônicos) a utilizarem 
válvulas, destacamos: 
 
a) ENIAC, na Universidade da Pennsylvania; 
b) IBM 603, 604, 701 e SSEC; 
c) EDSAC, na Universidade de Cambridge; 
d) UNIVAC I, de Eckert e Mauchly. 
 
2-Desenhe a arquitetura proposta por Von Neumann (estrutura básica de um computador). 
 
3-Segundo a arquitetura de Von Neumann, os computadores possuem quatro componentes 
principais. Cite-as. Unidade Central de Processamento (UCP) – composta pela Unidade Lógica e 
Aritmética (ULA) e a Unidade de Controle (UC), a memória e os dispositivos de entrada e saída 
4- O que faz o sistema operacional? 
Administra todos os recursos do computador, ou seja, o software e o hardware. É a estrutura 
que sustenta e administra todos os programas e partes do computador. 
5- Explique o fluxo o ciclo de execução da máquina de Von Neumann. 
Organização de Computadores 
Pesquisar 
1- O que é Compilador 
2- O que é Tradutor 
Organização de Computadores 
ARQUITETURA HAVARD 
• Arquitectura de Harvard: baseia-se em um conceito mais recente que a de Von Neumann, tendo 
surgido da necessidade de se pôr o microcontrolador para trabalhar mais rápido. É uma 
arquitetura de computador que se distingue das outras por possuir duas memórias diferentes e 
independentes em termos de barramento e ligação ao processador. 
• Separação de barramentos de dados das memórias onde 
estão as instruções de programa e das memórias de 
dados, permite que um processador possa acessar as duas 
simultaneamente, obtendo um desempenho melhor do que a 
da Arquitetura de Von Neumann, pois pode buscar uma 
nova instrução enquanto executa outra. Esse processo é 
conhecido como pipeline (canalização). 
 
• Possui um conjunto menor de instruções que a de Von 
Neumann, e essas são executadas apenas num único ciclo 
de relógio. 
Organização de Computadores 
ARQUITETURA HAVARD (RISC) vs ARQUITEURA VON NEUMANN (CISC) 
• Os microcontroladores com arquitetura Havard são também conhecidos como "microcontroladores 
RISC" (Computador com Conjunto Reduzido de Instruções); 
 
• Os microntroladores com uma arquitetura Von-Neumann, de "microcontroladores CISC" 
(Computador com um Conjunto Complexo de Instruções). 
 
• Os computadores atuais misturam as duas arquiteturas, criando o conceito de arquitetura 
híbrida 
Organização de Computadores 
• ISA (Instruction Set Architeture): 
 
• É o repertório de instruções de um computador. 
• Quais as instruções que posso executar; como acessar a memória; 
• Diferentes computadores possuem ISA diferentes. Mas com aspectos comuns; 
• Diferentes implementações para um mesmo ISA. Exemplo da intel: i3, i5, i7. 
 
Arquitetura do Conjunto de Instruções (ISA) 
 O nível ISA é a interface entre os compiladores e o 
hardware. 
Organização de Computadores 
Arquiteturas CISC x RISC 
 
• CISC - ADD A, B, C // C = A + B 
tem três instruções. 
 
• RISC - Exige cargas de memória 
de forma explícita, as instruções 
seriam: 
• LOAD A, Reg1 
• LOAD B, Reg2 
• ADD Reg1, Reg2 
• STORE Reg2, C //C = A + B 
tem quatro instruções. 
Organização de Computadores 
Unidade Central de Processamento - CPU 
* PSW - Registradores de controle e estado da CPU. 
Organização de Computadores 
Instruções 
** Lembram do algoritmo? 
*** executa instruções/comandos ordenados. O desvio condicional quebra a sequência de execução. 
Organização de Computadores 
• Níveis de Privilégio: Modos Usuário X Supervisor (kernel) 
 
• Arquiteturas modernas permitem a operação do processaror em dois (ou mais) níveis/modos 
de privilégio da CPU: 
 
• Modo supervisor/kernel: tem acesso a todas as instruções de máquina e regiões da 
memória; 
 
• Modo usuário: apenas um conjunto restrito de instruções de máquina e acesso controlado à 
memória (apenas a certos endereços da memória) 
ISA – MODOS DE EXECUÇÃO 
Organização de Computadores 
• As Arquiteturas de Computadores com Paralelismo surgiram com o objetivo de aumento do 
desempenho dos computadores e devido ao ao fato de que, a limitação de um único processador 
não poder aumentar indefinidamente seus recursos computacionais, como por exemplo a 
frequência ou pela limitação da miniaturização dos circuitos, daí a busca por paralelismo em 
outros níveis da arquitetura de um computador que não somente pela alteração do processador. 
 
Assim o paralelismo podeser pensado para ser introduzido em vários níveis: 
 
• Paralelismo por Múltiplas CPUs; 
• Paralelismo a nível de CHIP; 
• Adição de processadores especializados; 
• Multiprocessadores; 
• Multicomputadores; 
Paralelismo 
Organização de Computadores 
• Uma das estratégias de Arquitetura com paralelismo foi introduzir o paralelismo com 
soluções de processamento de múltiplas CPUs. Esta abordagem consideradas o acoplamento das 
CPUS como importante, tendo portanto as duas possibilidades de processamento com múltiplas 
CPUS: 
 
• As CPUs Fortemente aclopadas – devido a proximidade das CPUs. É o caso de sistemas 
multicore os quais possuem mais de um núcleo, CPU que estão contudo no mesmo hardware, 
portanto fortemente acoplados. 
 
• As CPUs Fracamente aclopadas – devido a distância entre CPUs. É o caso de computação em 
grid onde temos vários computadores independentes que são interligados por uma ou mais redes 
e que trabalham colaborativamente para atender a um processamento específico. 
 
 
Paralelismo com Processamento de Multiplas CPUs 
Organização de Computadores 
Paralelismo com Processamento de Multiplas CPUs 
Organização de Computadores 
• Um modo de aumentar a produtividade de CHIP é conseguir que ele faça várias tarefas ao 
mesmo tempo. Duas técnicas são utilizadas: 
 
• Multithreading - É a capacidade de um programa ou de um processo de sistema operacional 
para gerenciar o seu uso por mais de um usuário ao mesmo tempo e até mesmo gerenciar vários 
pedidos pelo mesmo usuário sem ter que ter várias cópias da programação em execução no 
computador. 
 
• Multicore - Um processador multi-core é um componente de computação único com duas ou mais 
unidades centrais de processamento que atuam de forma independente (chamados "núcleos" ), que 
são as unidades que ler e executar as instruções do programa. Os múltiplos núcleos pode 
executar várias instruções ao mesmo tempo, aumentando a velocidade geral para programas 
passíveis de computação paralela . 
 
• Processadores foram originalmente desenvolvidos com apenas um núcleo. Os processadores 
multi -core foram desenvolvidos no início de 2000 pela Intel , AMD e outros. 
 
 
Paralelismo por CHIP 
Organização de Computadores 
Exemplo 
Organização de Computadores 
• O paralelismo de instrução é baseado na execução simultânea de mais de uma instrução pela 
CPU, sendo cada instrução em um estágio diferente do ciclo de instruções. 
Paralelismo a nível de instrução (Pipeline) 
Organização de Computadores 
• Esse tipo de paralelismo é uma técnica que busca o ganho de desempenho associando duas ou 
mais CPUs organizados para executar uma determinada tarefa. São usadas as seguintes técnicas: 
 
• Computadores matriciais (Matriz de processadores dedicados) 
• Multiprocessadores (Conjunto de processadores independentes) 
• Multicomputadores (Clusters) 
• Esse tipo de paralelismo é uma técnica que une CPUs, que estão fracamente acopladas, 
utilizando-se da troca de mensagens para execução de uma determinada tarefa. 
 
Paralelismo a nível de Processador 
Organização de Computadores 
• Computadores matriciais (Matriz de processadores dedicados) 
Paralelismo a nível de Processador 
Organização de Computadores 
• Multiprocessadores (Conjunto de processadores independentes) 
Paralelismo a nível de Processador 
• O código do SO é compartilhado, mas são independente. 
• Não permite compartilhamento de processos (o processo de um usuário só roda na CPU1 enquanto a CPU2 
pode estar ociosa) 
• Alocação de memória fixa 
• Caches independentes 
• Modelo dificilmente usado 
Organização de Computadores 
• Multicomputadores (Clusters) 
Paralelismo a nível de Processador 
• Esse tipo de paralelismo é uma 
técnica que une CPUs, que estão 
fracamente acopladas, utilizando-se da 
troca de mensagens para execução de 
uma determinada tarefa. 
 
 
Organização de Computadores 
Hierarquia de Memória 
• Para uma maior eficiência na referência à memória, a mesma é estruturada hierarquicamente. 
• Informações referidas com maior frequência são trazidas “mais perto” da CPU, armazenadas em 
memórias mais rápidas, (também mais caras, o que implica em menor capacidade de armazenamento). 
Rgistradores 
Organização de Computadores 
Registradores 
• São dispositivos (elementos computacionais) capazes de receber dados, mantê-los armazenados 
por uma curto período de tempo e transferi-los para outro dispositivo. 
• São, portanto, elementos de armazenamento temporário. 
• Os registradores fazem parte da CPU. 
• São extremamente rápidos e armazenam grupos reduzidos de bits.. 
Organização de Computadores 
Memória Cache 
• A memória cache é geralmente controlada por hardware. 
•Armazena os dados mais usados pelo processado reduzindo o número de operações em que é 
preciso buscar dados diretamente na memória RAM. Mesmo uma pequena quantidade de memória 
cache é capaz de melhorar bastante o desempenho do processador 
• Geralmente o cache é divido em dois níveis, chamados de cache L1 (level 1) e cache L2. 
• O nível 1 é implementado dentro do chip. 
• O nível 2 implementado na placa mãe. 
Organização de Computadores 
Memória Principal 
• Memória é a parte do computador que armazena os dados e programas em linguagem de máquina 
em execução corrente. 
• Razoavelmente barata. 
• Tempo de acesso da ordem de nanossegundos a dezenas de nanossegundos. 
• Frequência de acesso alta. Se não existisse a memória Cache, seria acessada a cada ciclo 
de busca-decodificação-execução. 
• A CPU processa instruções que são obtidas na memória principal (MP) e os resultados são 
retornados para a mesma (MP). 
• O endereço identifica a palavra na memória, e é usado tanto para armazenar (store) como 
para carregar (load). 
 
 
Organização de Computadores 
Memória Principal 
• A unidade básica de memória é o bit (binary digit) 
• Abstração de valores 0 ou 1 
• A memória é formada por um conjunto de células (ou posições), cada uma das quais podendo 
guardar uma informação. 
• Todas as células de uma dada memória têm o mesmo número de bits 
• Os números que identificam (referenciam) a posição da célula na memória são chamados de 
Endereços. 
• A célula é a menor unidade endereçável da memória. 
• Endereços são indexadores pelos quais os programas podem referenciar dados na memória. 
Organização de Computadores 
Memória Principal 
• A célula constitui o seu endereço. 
A célula é formada pelos componentes eletrônicos: 
Transitor e capacitor. 
Organização de Computadores 
Memória Principal – Ordenação dos Bytes 
• Os bytes de uma palavra podem ser ordenados na memória da esquerda para a direita OU da 
direita para a esquerda 
• Big Endian: Os bytes mais significativos primeiro (Mac). Quando a numeração dos bytes 
começa da esquerda para a direita da palavra. 
• Little Endian: Os bytes menos significativos primeiro (Intel). Quando a numeração dos bytes 
começa da direita para a esquerda da palavra. 
• No projeto de cada computador é definida a organização da memória. 
Organização de Computadores 
Tipos de Memória 
Organização de Computadores 
• Os dados armazenados na memória dos computadores podem ocasionalmente serem alterados 
(modificados). Exemplo: Por oscilações de tensão de alimentação, etc. 
• Para a prevenção desses erros, algumas memórias armazenam informações extras, usando 
códigos e mecanismos que permitam a detecção e/ou correção de erros. 
Código com Correção/Deteção de Erros 
Organização de Computadores 
• RAMs Estáticas (SRAM). Mais rápidas (usada como memória cache), baseado em flip´flops. 
• RAMs Dinâmicas (DRAM). Baseada em capacitores. Carga deve ser restaurada periodicamente 
• ROM (Read-Only Memory). 
• PROM (Programmable ROM). Conteúdo escrito com um “queimador” de PROMs 
• EPROM (Erasable ROM). Apagadas e reutilizadas pelo uso de radiação ultravioleta. 
• EEPROM (Electrically Erasable PROM). Conteúdo pode ser modificado eletricamente 
• Memória FLASH.Ex: Player MP3, celulares, câmeras digitais. 
• Encapsulamento de Memória Principal 
• SIMM (Single Inline Memory Module). Adequado para barramento 32 bits. Apenas um lado. 
• DIMM (Dual Inline Memory Module). Adequado para barramento de 64 bits. Ambos os lados. 
Pesquisa – Tipos de Memória 
Organização de Computadores 
• Memória de grande capacidade (dezenas de Gigabytes). 
• Armazenamento massivo. 
• Implementada em meio magnético (hard disk, fitas magnéticas) ou ótico (CD-ROM, DVD-ROM). 
• Armazena programas e dados não processados correntemente, mas que poderão eventualmente ser 
utilizados. 
• Memória lenta e barata. Tempo de acesso da ordem de milissegundos. 
• Pode também ser utilizada para emular memória principal, “aumentando” o espaço de 
endereçamento disponível através de técnicas de memória virtual (Segmentação/Paginação). 
• Memórias que não podem ser endereçadas diretamente, isto é, a informação precisa ser 
carregada em memória primária antes de poder ser tratada pelo processador. Adequado para 
barramento de 64 bits. Ambos os lados. 
Memória Secundária – Não volátil 
Organização de Computadores 
Memória Secundária – Barramento (bus) E/S 
• Barramento: É o barramento entre a CPU e os outros componentes (os periféricos) de entrada-
saída ou I/O Este tipo de barramento é responsável pela interligação das interfaces e 
periféricos ligados à placa mãe. 
 
• Controlador de Dispositivo: conjunto de circuitos lógicos de interface entre o barramento e 
o dispositivo de entrada/saída. Responsável por controlar o dispositivo e por tratar do seu 
acesso ao barramento. 
 
 
Todo o acesso a memória secundária, resulta no roubo de ciclo de barramento do processador, reduzindo o 
desempenho. 
Organização de Computadores 
• Entrada e Saída (Input/Output – I/O) 
Memória Secundária – Barramento E/S 
Função geral: 
• Servem para a comunicação do computador com o meio externo. 
• Entrada: entrada (inserção) de dados por meio de algum código (ex: programa). 
• Ex: teclado, mouses, scanners, leitoras óticas, leitoras de cartões magnéticos, câmeras 
de vídeo, microfones, sensores, transdutores, etc 
 
• Saída: retorno de dados, como resultado de alguma operação de algum programa. 
• Ex: Impressoras, monitores de vídeo, plotters, atuadores, chaves, etc ... 
Organização de Computadores 
• Barramentos de Entrada/Saída (I/O) 
• IDE - Integrated Drive Electronics. 
• (E)IDE - (Extended) Integrated Drive Electronics. 
• ATAPI - Advanced Technology Attachment Packet Interface. 
• SCSI - Small Computer System Interface. 
• SATA -serial ATA. 
• PATA - Parallel ATA. usado para barramento de 64 bits. Ambos os lados. 
• Barramento AGP. Para placas de vídeo para processar fráficos. 
• Barramento PCI Express. Substitui os padrões AGP e PCI, até 32x mais rápido. 
• Barramento PS/2. 
• Barramento USB (Plug and Play/Hot-Swap). 
Pesquisar 
Organização de Computadores 
Alguns tipos de Barramentos I/O 
Barramento ATA Barramento SATA 
Barramento PCI 
Barramento AGP 
Barramento PS/2 
USB-Universal Serial Bus 
Organização de Computadores 
Tabela ASCII 
Os computadores atuais apenas armazenam 
informação em valores que estão 
codificados em código binário, em formato 
de zeros e uns. Para se codificar um 
texto, é necessário que se adote um valor 
binário para cada caracter, letra ou 
número do alfabeto. O código mais simples 
utilizado em sistemas computacionais é o 
código ASCII (Sigla de American Standard 
Code for Information Exchange). A primeira 
padronização que resultaram na tabela 
Ascii é de 1963, com a inclusão de letras 
minúsculas no padrão. A versão atual do 
código ASCII é a ANSI X3.4 de 1986. 
https://www.embarcados.com.br/tabela-
ascii/?utm_source=nl318&utm_medium=e-
mail&utm_campaign=Newsletter%20318 
Organização de Computadores 
Nível de lógica digital 
Organização de Computadores 
Até a próxima aula 
Organização de Computadores 
BÔNUS 
Organização de Computadores 
Aula Bônus 
• Esta aula bônus é destinado a turma do 1º semestre de cursos como Ciência da computação e 
Análise de Desenvolvimento de Sistemas para que possam servir como um guia motivacional aos 
primeiros passos nessa área. 
 
• Tem como objetivo apresentar os princípios "introdutórios" da programação de computadores, 
utilizando: 
 * O XAMPP que é uma distribuição APACHE de fácil instalação. 
 * A linguagem PHP; 
 * O banco de dados MariaDB (MySQL) 
 * O phpMyAdmin aplicativo Web para gerenciamento da base de dados. 
 
• Não tem pretenção de cobrir todos os assuntos relacionados à área de programação. 
 
• O código apresentado é meramente didático, fica registrado que existem melhores práticas de 
desenvolvimento. 
http://br.phptherightway.com/ 
Organização de Computadores 
O que é o PHP 
• O PHP (um acrônimo recursivo para PHP: Hypertext Preprocessor) é uma linguagem de script 
open source de uso geral, muito utilizada, e especialmente adequada para o desenvolvimento 
web e que pode ser embutida dentro do HTML. 
 
• O que distingue o PHP de algo como o JavaScript no lado do cliente é que o código é 
executado no servidor, gerando o HTML que é então enviado para o navegador. O navegador 
recebe os resultados da execução desse script, mas não sabe qual era o código fonte. Você 
pode inclusive configurar seu servidor web para processar todos os seus arquivos HTML com o 
PHP, e então não há como os usuários dizerem o que você tem na sua manga. 
 
• A melhor coisa em usar o PHP é que ele é extremamente simples para um iniciante, mas oferece 
muitos recursos avançados para um programador profissional. Não tenha medo de ler a longa 
lista de recursos do PHP. Pode entrar com tudo, o mais rápido que puder, e começar a escrever 
scripts simples em poucas horas. 
Extraído: https://www.php.net/manual/pt_BR/intro-whatis.php 
 
Um simples tutorial: https://www.php.net/manual/pt_BR/tutorial.php 
https://www.php.net/manual/pt_BR/intro-whatis.php
https://www.php.net/manual/pt_BR/intro-whatis.php
https://www.php.net/manual/pt_BR/intro-whatis.php
Organização de Computadores 
Aula Bônus – Ideia do projeto 
Organização de Computadores 
Tutorial de execução 
1. Baixar e instalar a distribuição XAMPP - https://pt.wikihow.com/Instalar-o-XAMPP-para-Windows 
 
2. Instale um editor de texto de sua preferência. 
 
3. Definir a base de dados: 
1. Abra o navegador e digite: http://localhost/phpmyadmin/ 
 
4. Abrir o editor e mão na massa. :) 
http://localhost/phpmyadmin/
http://localhost/phpmyadmin/
http://localhost/phpmyadmin/
Organização de Computadores 
Conceitos SQL – Criar banco de dados e tabelas 
https://www.w3schools.com/php/php_mysql_create_table.asp 
Organização de Computadores 
Arquivo: config.php 
Organização de Computadores 
index.php 
Organização de Computadores 
add.html 
Organização de Computadores 
add.php 
Organização de Computadores 
delete.php 
Organização de Computadores 
edit.php 
Organização de Computadores 
Continuação do 
código do arquivo: 
edit.php 
Organização de Computadores 
Até a próxima aula

Outros materiais