Buscar

algoritmos-01-processador

Prévia do material em texto

Algoritmos Computacionais
Processador
Prof. MSc. Hugo Costa
Conteúdo
Introdução
Processador
Memória
Linguagens de Programação
2
1. Introdução
Esta aula tem como objetivo discutir conceitos básicos dos sistemas computacionais.
Um sistema computacional é constituído basicamente por
 hardware – conjunto de dispositivos eletrônicos
 software – conjunto de programas 
 Entende-se por hardware todo e qualquer componente que faça parte da máquina como um todo (interna ou externamente).
3
4
1. Introdução
5
Processador
Cooler
Memória
Placa Mãe
Fonte de Alimentação
Disco Rígido
1
2
3
4
5
6
2
1. Introdução
A CPU* é o componente que comanda os dispositivos periféricos por meio de comandos diretos ou para a sua interface.
Trata-se de um dispositivo muito eficiente ao qual está associado uma memória, cuja função é armazenar informações que serão processadas.
6
* CPU = Central Processing Unit / UCP = Unidade Central de Processamento
CPU
Periféricos de Entrada
Periféricos de Saída
Periféricos de Entrada/Saída 
(Memória)
Componentes da CPU: 
ALU* – parte do processador encarregada por todas as operações do tipo aritmético e lógico
UC**– parte processador encarregada de detectar as interrupções geradas pelos periféricos de entrada e saída
7
*ALU = Arithmetic Logical Unit / UAL = Unidade Aritmética Lógica
**UC = Unidade de Controle
Unidade de Controle
Unidade Aritmética Lógica
Periféricos de Entrada
Periféricos de Saída
Periféricos de Entrada/Saída 
(Memória)
1. Introdução
O BIOS* controla o hardware do PC no nível mais baixo, sendo a interface entre o software básico do sistema e o hardware. 
Ele é o software responsável por fornecer ao computador um starter embutido par que o restante dos softwares rode no disco rígido.
 Ou seja, ele é responsável pela inicialização do computador
 Power On Self Test – teste de checagem de energia
 Booting – executa comandos iniciais do sistema operacional no HD
8
*BIOS = Basic Input Output System
1. Introdução
A memória de um computador tem papel fundamental para o armazenamento e transmissão de informação para outras unidades.
A memória de um computador está dividida em 
 memória principal / memória central
 memória auxiliar / memória secundária / memória de massa
A memória principal é composta por dois tipos distintos
RAM* – memória volátil, aquela que pode ser apagada caso não haja fornecimento de energia
ROM** – memória cujo conteúdo pode ser preservado mesmo com falta de energia
9
*RAM = Random Access Memory
**ROM = Read-Only Memory
1. Introdução
	Memória Volátil – conteúdo passível de alteração, gravação e leitura	
	RAM	Random Access Memory = Memória de Acesso Randômico
	DRAM	Dynamic Random Access Memory – memória convencional
	SDRAM	Synchronous Dynamic Random Access Memory
	SRAM	Static Random Access Memory – memória RAM usada para cache de alta velocidade
10
	Memória Não Volátil – conteúdo somente para leitura	
	ROM	Read Only Memory = Memória Apenas de Leitura
	PROM	Programmablle Read-Only Memory
	EPROM	Erasable Programmable Read-Only Memory
	EEPROM	Electrically Erasable Programmable Read-Only Memory
A memória do tipo ROM geralmente é gravada pelo fabricante e será lida pela CPU usada para fins específicos do equipamento.
1. Introdução
Software é todo e qualquer programa processado por um computador para executar tarefas e/ou instruções das quais resulte
armazenamento de informação
transmissão de informação
mostrar informação em periférico de saída
11
Hardware
Software
Usuário
Dispositivo com capacidade de mostrar os resultados obtidos nos processos ou operações executadas pela unidade central de processamento do computador.
1. Introdução
Sistema de Informação é um conjunto de programas que, atuando em determinado computador, são capazes de resolver as necessidades existentes em uma empresa.
12
Sistema de Informação
Hardware
Software
Usuário
1. Introdução
Dado é o elemento identificado em sua forma bruta que por si só não conduz a uma compreensão de um fato ou situação.
É necessário realizar um tratamento dos dados para termos um resultado gerenciável, ou seja, uma informação.
Informação é o dado trabalhado, que permite ao engenheiro tomar uma decisão.
Um dado não possui significado por si só.
A informação é uma relação estabelecida entre dois ou mais dados que lhe confere um significado.
13
2. Processadores
O processador realiza o gerenciamento de todos os recursos disponíveis em um sistema computacional.
Tudo o que acontece em um computador provém da CPU, que também pode ser chamada como processador ou microprocessador.
A CPU trabalha diretamente com a memória principal. 
O conteúdo da memória principal é uma combinação de informações e instruções.
As instruções que o processador central pode executar diretamente estão na linguagem de máquina da CPU.
14
2. Processadores
Existem diversos tipos de processadores, indo desde os processadores mais simples, dedicados a executar pequenas funções em aparelhos eletro/eletrônicos, até aos processadores mais complexos, projetados para aplicações em que se precise de um alto poder de processamento.
15
	Tipo	Aplicação
	Processadores de Propósito Geral	Computadores pessoais (Desktop, Notebooks, etc).
	Microcontroladores 	Sistemas Embarcados (TVs, DVDs, GPS, Celular, Console de Jogos, etc).
	Processadores Vetoriais	Processamento de Alto desempenho, super computadores.
	Processadores Gráficos	Placas gráficas, processamento de realidade virtual.
	Processadores Digitais de Sinal (DSP)	Equipamentos médicos, processamento de sinal de satélite, telecomunicações
De modo geral, podemos dizer que os processadores compartilham de uma mesma arquitetura básica, ainda que diferindo no modo como esta arquitetura é implementada. 
16
17
2. Processadores
O processamento é feito pela CPU por meio do ciclo busca-execução regulado pelo clock (relógio).
Esse ciclo é constituído por: 
buscar instrução na memória principal
executar a instrução
buscar a instrução seguinte
executar a instrução seguinte
... 
18
Repete-se milhões de vezes por segundo
2. Processadores
19
Ciclo de Busca – operação de leitura de uma instrução a partir da posição de memória. Nesse ciclo o conteúdo é incrementado de uma, duas ou três unidades, com base no tipo de instrução.
Ciclo de Execução – executa a instrução (operações de movimentação de informação, operações aritméticas e lógicas, etc.)
2. Processadores
As instruções em linguagem de máquina são muito primitivas, por exemplo: 
ler conteúdo de um endereço de memória
comparar duas informações
adicionar/subtrair dois números
escrever palavra na memória ou dispositivo de saída
Apesar de serem instruções muito simples, elas são executadas com uma velocidade extremamente elevada.
20
2. Processadores
21
2. Processadores
As atividades realizadas pela CPU podem ser divididas em
22
Função Processamento – atividades relacionadas com a efetiva execução de uma operação.
Unidade Lógico Aritmética Barramento Interno da CPU
Registradores
Função Controle – atividades de busca, interpretação e controle da execução das instruções.
Unidade de Controle Contador de Instrução Registrador de Endereço
Registrador de Instrução Clock Dados de Memória		
2. Processadores
A Unidade Lógica Aritmética (UAL) é o componente da CPU que executa as operações matemáticas com os dados.
Trata-se de um aglomerado de circuitos lógicos e componentes eletrônicos simples, que, integrados, realizam as operações já mencionadas.
A UAL pode ser:
uma pequena pastilha de processador usada em pequenos sistemas;
um considerável conjunto de componentes lógicos de alta velocidade; 
23
2. Processadores
Para que um dado possa ser transferido para a UAL, é necessário que permaneça armazenado em um registrador.
Além disso, o resultado das operações da UAL deve ser armazenado temporariamente, de modo que possa ser utilizado mais adiante ou apenas ser transferido para a memória.
Para atender a esses propósitos, a CPU é fabricadacom uma certa quantidade de registradores, destinados ao armazenamento de dados.
Memória Auxiliar
Os chamados registradores acumuladores, além de armazenar dados, servem como elemento de ligação da UAL com o restante da CPU.
24
2. Processadores
A Unidade de Controle (UC) é o dispositivo mais complexo da CPU.
Dispositivo que possui a lógica necessária para realizar a movimentação de dados e instruções de/para a CPU.
Por meio de sinais de controle que emite em instantes de tempo programados o dispositivo controla a ação da UAL.
Esses sinais de controle emitidos pela UC ocorrem em vários instantes durante o período de realização de um ciclo de instrução.
Esses sinais de controle, em geral, possuem uma duração fixa e igual, originada em um gerador de sinais (clock).
25
2. Processadores
O clock é um dispositivo gerador de pulsos, cuja duração é chamada de ciclo.
A quantidade de vezes em que esse pulso básico se repete em um segundo define a unidade de medida do relógio, denominada frequência.
26
27
Visão interna do processador destacando os registradores de controle
Program Counter – registrador que armazena o endereço de memória da próxima instrução a ser executada. Seu conteúdo é atualizado sempre que uma nova instrução é trazida da memória para ser executada. 
Instruction Register – armazena a instrução que foi trazida da memória para ser executada.
Memory Address Register – armazena o endereço de memória a ser acessado quando algum operando da operação em execução se encontra armazenado na memória. 
Memory Buffer Register – utilizado como buffer de dados entre o processador e a memória principal. 
Input/Output Address Register – armazena o endereço do dispositivo de entrada e saída a ser acessado quando o processador vai executar alguma operação de escrita ou leitura nos dispositivos de entrada e saída.
Input/Output Buffer Register – utilizado como buffer de dados entre o processador e os dispositivos de entrada e saída
Registrador é um dispositivo lógico usado p/ armazenar dados
28
Elementos aos quais o processador tem acesso direto e imediato; elementos que estão conectados diretamente ao barramento de memória do processador.
Elementos aos quais o processador tem acesso indireto; não estão conectados ao barramento de memória, mas sim a algum dos barramentos de entrada e saída do sistema.
3. Memória
Processador deve ter um espaço de armazenamento grande disponível sua memória secundária e com um acesso tão rápido quando o possível nos elementos presentes na sua memória primária.
Ao longo do tempo da execução de um programa os seus dados trafegam entre os diferentes níveis de hierarquia da memória.
3. Memória
29
Principais características dos elementos de memória.
Localização física do elemento no sistema computacional, ou seja, se este é interno ou externo ao processador.
Capacidade de armazenamento de informações do elemento de memória.
Como se dará o acesso aos elementos de memória, ou às suas unidades endereçáveis.
4. Linguagens de Programação
Linguagens de Baixo Nível – Assembler 
Linguagens Não-Estruturadas – Cobol, Basic
Linguagens Procedurais – C, Pascal, Fortran, Ada, Modula 2 e Modula 3
Linguagens Funcionais – Prolog, LISP, Scheme
Linguagens Orientadas a Objeto – Simula, Smaltalk, C++, Java
Linguagens Específicas para Banco de Dados – SQl, Clipper
Linguagens Visuais – Simulink, Visual Basic, Delphi
Linguagens de Scripts – Perl, TCL/TK
 Linguagens de Formatação de Textos – HTML, PostScript
30
Bibliografia Básica 
Diniz, J. R. B, Barros, A. C. Infraestrutura de Hardware. Recife: Universidade Federal Rural de Pernambuco, 2009 [http://www.cin.ufpe.br/~acb/Livro/]
FEDELI, R. D., Polloni, E. G. F., Peres, F. E. Introdução à Ciência da Computação. São Paulo: Cengage, 2010.
SEBESTA, Robert W. Conceitos de linguagens de programação. Porto Alegre: Bookman, 2003.
GUIMARAES, Angelo de Moura; LAGES, N. A. C. Algoritmos e estrutura de dados. Rio de Janeiro: LTC, 2013.
FORBELLONE, André Luiz Villar. Lógica de programação: a construção de algoritmos e estrutura de dados. São Paulo: Pearson, 2013.
31
Bibliografia Complementar
LOPES, Anita; GARCIA, Guto. Introdução à programação: 500 Algoritmos Resolvidos. Rio de Janeiro: Campus, 2002.
ZIVIANI, Nivio. Projeto de Algoritmos: com Implementação em Pascal e C. São Paulo: Thomson, 2005.
ALVES, William Pereira. Lógica de programação de computadores. São Paulo: Érica, 2013.
GOMES, Marcelo; SOARES, Márcio; SOUZA, M. A. F. Algoritmos e lógica de programação. São Paulo: Cengage, 2013.
MANZANO, J. A. N. G. ; OLIVEIRA, J. F . Algoritmos: lógica para o desenvolvimento da programação. São Paulo: Érica, 2012.
32
Datas Importantes
Provas: 
 AP 1 – 22/04
 AP 2 – 10/06
 AP 3 – 17/06 
Data de Entrega das Listas de Exercícios 
 LISTA DE EXERCÍCIOS 1 – 15/04
 LISTA DE EXERCÍCIOS 2 – 03/06
 Os trabalhos devem ser digitados e entregues impressos diretamente ao professor nas datas estabelecidas.
 Trabalhos atrasados terão nota máxima de 1,5 pontos.
 Não serão aceitos trabalhos plagiados (parcial ou totalmente). Caso seja observada a infração, será atribuída nota zero.
33

Continue navegando