Baixe o app para aproveitar ainda mais
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
Compartilhar