Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise e Desenvolvimento de Sistemas Material desenvolvido: • Prof. Luis H. V. Nakamura 1 ROTEIRO Apresentação do Curso Introdução à Organização e Arquitetura de Computadores 2 Apresentação do Curso Objetivos do Curso: Entender o que é e como funciona um computador; Compreender os conceitos da arquitetura de um computador clássico, seus fundamentos e os princípios de funcionamento; Compreender o conceito de memória com suas diferentes funções e medidas de desempenho; Conhecer os principais mecanismos para a realização de operações de entrada e saída bem como os principais dispositivos envolvidos. 3 Apresentação do Curso Bibliografia: MONTEIRO, M. A.. Introdução à organização de computadores. 5. ed. Rio de Janeiro: LTC, 2007. 720p. STALLINGS, W.. Arquitetura e organização de computadores. 8. ed. São Paulo: Pearson, 2010. 640p. WEBER, R. F.. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Bookman, 2012. 424p. (Série livros didáticos informática UFRGS, v. 8) MORIMOTO, C. E.. Hardware II: o guia definitivo. 1. ed. Porto Alegre: GDH Press e Sul Editores, 2010. 1088p. MURDOCCA, M. J.; HEURING, V. P.. Introdução a arquitetura de computadores. 1. ed. Rio de Janeiro: Campus, 2001. 536p. PANNAIN, R.; BEHRENS, F. H.; PIVA JUNIOR. D.. Organização básica de computadores e linguagem de montagem. 1. ed. Rio de Janeiro: Elsevier, 2012. 424p. TANENBAUM, A. S.; VAN STEEN, M.. Organização estruturada de computadores. 5. ed. São Paulo: Pearson, 2007. 464p. TORRES, G.. Montagem de micro: para autodidatas, estudantes e técnicos. 1. ed. Rio de Janeiro: Novaterra, 2010. 368p. TORRES, G.. Hardware: versão revisada e atualizada. 1 ed. Rio de Janeiro: Novaterra, 2013. 920p. 4 Apresentação do Curso Notas de Aula: Moodle: http://ctd.ifsp.edu.br/moodle/ ○ ARQA1 - Arquitetura de computadores - 1º semestre 2020 Disciplina: Chave Moodle: ARQA1#Naka2020 5 http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ http://ctd.ifsp.edu.br/moodle/ Apresentação do Curso Reposição de Aula: 25/04/2020 Avaliações: 1 Trabalho: T1(24 e 25/04) 2 Provas: P1(17/04) e P2(26/06) IFA: 07/07 (Previsão) Média: ○ (Nota T1*0,3) + (Nota P1*0,3) + (Nota P2*0,4) Frequência: 75% 6 ROTEIRO Apresentação do Curso Introdução à Organização e Arquitetura de Computadores 7 Introdução à Organização e Arquitetura de Computadores Organização X Arquitetura Organização: “A organização de um computador é a parte do estudo da ciência da computação que trata dos aspectos relativos à parte do computador mais conhecida dos especialistas que o construíram e cujo entendimento é desnecessário ao programador. São aspectos relativos aos componentes físicos específicos, como a tecnologia utilizada na construção da memória, a frequência do relógio, os sinais de controle para iniciar as microoperações nas diversas unidades da máquina.” (Monteiro, 2007) 8 Introdução à Organização e Arquitetura de Computadores Organização X Arquitetura Arquitetura: “A arquitetura do mesmo computador é uma outra parte da ciência da computação, mais no nível de conhecimento desejado pelo programador, visto que suas características (as da arquitetura de uma determinada máquina) têm impacto direto na elaboração de um programa. São elementos de uma arquitetura, o conjunto de instruções de um processador, o tamanho da palavra, os modos de endereçamento das instruções, o tipo e o tamanho dos dados manipulados pelo processador.” (Monteiro, 2007) 9 Introdução à Organização e Arquitetura de Computadores Organização X Arquitetura Exemplo: ○ Família x86 (Intel) Conjunto de instruções compatíveis em processadores da mesma “família”, permitindo a troca de computador (ou processador) sem alterar os programas (recompilá-los), visto que empregam, na essência, a mesma arquitetura. Porém, cada processador da “família” (386, 486, Pentium Pro, Pentium II, Pentium III, Pentium 4, etc.) tem características especificas de implementação, ou seja, a organização deles são diferentes e isso afeta o seu interior e desempenho, mas não no que se refere ao usuário. 10 Introdução à Organização e Arquitetura de Computadores Hardware X Software O computador é construído de diversos componentes físicos, desde as partes pequenas (transistores, capacitores) e que formam as maiores (CPU- Central Processing Unit ou UCP – Unidade Central de Processamento), Memórias, Placa Mãe (Motherboard), monitor, teclado, mouse, etc. Esse conjunto de componentes formam a parte conhecida como Hardware. 11 Introdução à Organização e Arquitetura de Computadores Hardware X Software Exemplos de Hardwares: 12 Introdução à Organização e Arquitetura de Computadores Hardware X Software O termo software surgiu na época dos computadores, para indicar o elemento que comanda as atividades do hardware, a sua programação, suas instruções e que podem facilmente ser alteradas manualmente. 13 Introdução à Organização e Arquitetura de Computadores Sistemas (Monteiro, 2007): “Um sistema pode ser compreendido, por exemplo, como um conjunto de partes que cooperam para atingir um objetivo comum”. Para o nosso contexto: “Conjunto de partes coordenadas que concorrem para a realização de um determinado objetivo”. Calcular/Computar: Realizar operações matemáticas. ○ Dados + Processamento = Informação 14 Introdução à Organização e Arquitetura de Computadores Sistemas (Monteiro, 2007): “Sistema de processamento de dados (SPD) são aqueles responsáveis pela coleta, armazenamento, processamento e recuperação, em equipamentos de processamento eletrônico, dos dados necessários ao funcionamento de um outro sistema maior: o sistema de informações” (SPD + nível de decisão organizacional). 15 Introdução à Organização e Arquitetura de Computadores Sistemas de Computação (Monteiro, 2007): “Qualquer processamento de dados que requer a execução de uma série de etapas (automáticas ou manuais) por um computador. Tais etapas, elaboradas e executadas passo a passo, constituem o que se chama programa. Cada passo mencionado é uma diferente instrução ou comando dada ao hardware para que uma determinada ação seja realizada (operação aritmética, transferir uma informação, etc.). Programa é o conjunto de instruções. 16 Introdução à Organização e Arquitetura de Computadores Sistemas de Computação (Monteiro, 2007): Exemplo de Programa para somar 100 números e imprimir o resultado: 17 1. Escrever e guardar N=0 e SOMA=0 2. Ler número da entrada 3. Somar valor do número ao de SOMA e guardar resultado como SOMA 4. Somar 1 ao valor de N e guardar resultado como novo N 5. Se valor de N for menor que 100, então passar para item 2 6. Senão: imprimir valor de SOMA 7. Parar Introdução à Organização e Arquitetura de Computadores Sistemas de Computação (Monteiro, 2007): Exemplo de Programa/Algoritmo para somar 100 números e imprimir o resultado: 18 Entrada Saída Processamento Fases de processamento de um programa Digitação do programa e dos dados Cálculos e Testes Impressão dos resultados Introdução à Organização e Arquitetura de Computadores Linguagens, níveis e máquinas reais Computadores entendem a linguagem de máquina (L0); Embora a linguagem L0 seja muito conveniente para o computador, ela é muito inconveniente para as pessoas que preferem uma linguagem mais próxima do que estãoacostumadas. Uma solução é criar uma linguagem L1 mais próxima do que as pessoas entendem. 19 Introdução à Organização e Arquitetura de Computadores Linguagens, níveis e máquinas reais E para executar a linguagem L1 no computador que entende apenas a linguagem L0? Duas técnicas: ○ Tradução: substituir cada instrução escrita no programa por uma sequencia equivalente de instruções L0. O programa resultante consiste inteiramente em instruções L0. Então o computador executa o novo programa L0 em vez do antigo programa, L1. 20 Introdução à Organização e Arquitetura de Computadores ○ Tradução: 21 Introdução à Organização e Arquitetura de Computadores Linguagens, níveis e máquinas reais E para executar a linguagem L1 no computador que entende apenas a linguagem L0? Duas técnicas: ○ Interpretação: escrever um programa em L0 que considere programas em L1 como dados de entrada e os execute examinando cada instrução por vez e executando diretamente a sequencia equivalente de instruções L0. Essa técnica não requer a geração prévia de um novo programa em L0. O programa que executa a interpretação é chamado de interpretador. 22 Introdução à Organização e Arquitetura de Computadores ○ Intepretação: 23 Introdução à Organização e Arquitetura de Computadores Linguagens, níveis e máquinas Tradução X Interpretação: ○ Ambas executam instruções em L1 que realizam sequencias equivalentes de instruções em L0. ○ Diferença: Na tradução todo o programa L1 é antes convertido para um programa L0; o programa L1 é descartado e então o novo programa L0 é carregado na memória do computador e executado (o programa controla o computador). Na Intepretação após o exame e a decodificação de cada instrução L1, ela é executada imediatamente. Nenhum programa traduzido é gerado (interpretador controla o computador). 24 Introdução à Organização e Arquitetura de Computadores Linguagens, níveis e máquinas Tradução X Interpretação: ○ Em vez de pensar em termos de tradução e interpretação, muitas vezes é mais simples imaginar a existência de um computador hipotético ou máquina virtual cuja linguagem de máquina seja L1. ○ Dessa forma, podemos ter diversas linguagens (L1, L2, etc.) e diversas máquinas virtuais (M1, M2, etc.). Cada linguagem usa a antecessora como base, de modo que podemos considerar um computador que use essa técnica como uma série de camadas ou níveis. 25 Introdução à Organização e Arquitetura de Computadores Máquina Multinível 26 Introdução à Organização e Arquitetura de Computadores Computador de seis níveis: 27 Introdução à Organização e Arquitetura de Computadores Von Neumann: Programa + Dados Busca + Decodifica + Executa 29 Introdução à Organização e Arquitetura de Computadores 29 Introdução à Organização e Arquitetura de Computadores 30 31 BIBLIOGRAFIA MONTEIRO, M. A.. Introdução à organização de computadores. 5. ed. Rio de Janeiro: LTC, 2007. 720p. PANNAIN, R.; BEHRENS, F. H.; PIVA JUNIOR. D.. Organização básica de computadores e linguagem de montagem. 1. ed. Rio de Janeiro: Elsevier, 2012. 424p. STALLINGS, W.. Arquitetura e organização de computadores. 8. ed. São Paulo: Pearson, 2010. 640p. MORIMOTO, C. E.. Hardware II: o guia definitivo. 1. ed. Porto Alegre: GDH Press e Sul Editores, 2010. 1088p. MURDOCCA, M. J.; HEURING, V. P.. Introdução a arquitetura de computadores. 1. ed. Rio de Janeiro: Campus, 2001. 536p. TANENBAUM, A. S.; VAN STEEN, M.. Organização estruturada de computadores. 5. ed. São Paulo: Pearson, 2007. 464p. TORRES, G.. Montagem de micro: para autodidatas, estudantes e técnicos. 1. ed. Rio de Janeiro: Nova Terra, 2010. 368p. WEBER, R. F.. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Bookman, 2012. 424p. (Série livros didáticos informática UFRGS, v. 8)
Compartilhar