24
Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius [email protected] SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS

Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius [email protected] SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Embed Size (px)

Citation preview

Page 1: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Organização e Arquitetura de Computadores

2ºSemestre

Aula 10 – Parte 2

Prof. Carlos Viní[email protected]

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIALFACULDADE DE TECNOLOGIA SENAC PELOTAS

Page 2: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Resumo

Page 3: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Computador digital

•Computador digital consiste em um sistema interconectado de:- processadores;- memórias;- dispositivos de entrada e saída;

•Que utilizam codificação binária para se comunicarem.

CPU

Unidade de Controle

ULA

RegistradoresMemória principal

Barramento

Dispositivo de E/S

Impressora Disco

Page 4: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Computador digital

CPU

Unidade de Controle

ULA

RegistradoresMemória principal

Barramento

Dispositivo de E/S

Impressora Disco

CPU = Cérebro - executa programas armazenados na memória principal buscando instruções, examinando-as e então executando-as uma após a outra.

Componentes

Componentes são interligados na CPU através de um barramento.

Barramentos podem ser internos ou externos à CPU.

Page 5: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Computador digital

CPU

Unidade de Controle

ULA

RegistradoresMemória principal

Barramento

Dispositivo de E/S

Impressora Disco

Unidade de controle é responsável por buscar instruções na memória principal e determinar seu tipo.

A Unidade Lógica Aritmética (ULA) é responsável por efetuar operações como adição e AND (E) booleano para executar instruções.

Componentes

Page 6: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Computador digital

CPU

Unidade de Controle

ULA

RegistradoresMemória principal

Barramento

Dispositivo de E/S

Impressora Disco

Registradores servem para armazenar resultados temporários e controle de informações. O conjunto dos registradores compõe uma memória interna do processador de altíssima velocidade.

Componentes

Page 7: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Computador digital

Exemplo de Registradores:

PC – Program Counter: registrador mais importante. Indica a próxima instrução a ser buscada para execução.

IR – Registrador de Instrução: contém a instrução que está sendo executada no momento.

Page 8: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

História...

Page 9: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Alan Turing

EC: Identificar estrutura interna de um computador;Alan Mathison Turing OBE (23 de Junho de 1912 — 7 de Junho de 1954) foi um matemático, lógico, criptoanalista e cientista da computação britânico. Foi influente no desenvolvimento da ciência da computação e proporcionou uma formalização do conceito de algoritmo e computação com a máquina de Turing, desempenhando um papel importante na criação do moderno computador.Durante a Segunda Guerra Mundial, Turing trabalhou para a inteligência britânica em Bletchley Park, num centro especializado em quebra de códigos. Por um tempo ele foi chefe de Hut 8, a seção responsável pela criptoanálise da frota naval alemã. Planejou uma série de técnicas para quebrar os códigos alemães, incluindo o método da bombe, uma máquina eletromecânica que poderia encontrar definições para a máquina Enigma. Após a guerra, trabalhou no Laboratório Nacional de Física do Reino Unido, onde criou um dos primeiros projetos para um computador de programa armazenado, o ACE.

Page 10: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Máquina Universal

EC: Identificar estrutura interna de um computador;Em 1936, quase dez anos antes da construção do primeiro computador, o matemático inglês Alan Turing propôs um modelo simples do que seria uma máquina para tratamento de informação.

Trata-se de um gênero abstrato do computador digital, que em um processo de informatização se apresenta sob aspectos essenciais:

• Como máquina, isto é, objeto potencialmente material, e obedecendo enquanto tal apenas às leis da física;

• Como autômato, pois se posto em movimento, percorre seu percurso sem intervenção exterior;

• Como operador sobre símbolos de um cálculo.

Page 11: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Von Neumann

John von NeumannNascido Margittai Neumann János Lajos (Budapeste, 28 de dezembro de 1903 — Washington, D.C., 8 de fevereiro de 1957) foi um matemático húngaro de origem judaica, naturalizado estadunidense.Contribuiu na teoria dos conjuntos, análise funcional, teoria ergódica, mecânica quântica, ciência da computação, economia, teoria dos jogos, análise numérica, hidrodinâmica das explosões, estatística e muitas outras as áreas da Matemática. Um dos mais importantes matemáticos do século XX.Foi membro do Instituto de Estudos Avançados em Princeton, New Jersey, do qual também fazia parte Albert Einstein.Foi professor na Universidade de Princeton e um dos construtores do ENIAC.Faleceu aos 53 anos, vítima de um tumor cerebral.

Page 12: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Arquitetura de von Neumann

A Arquitetura de von Neumann - de John von Neumann (pronunciado Nóimann) - é uma arquitetura de computador que se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim manipular tais programas. Esta arquitetura é um projeto modelo de um computador digital de programa armazenado que utiliza uma unidade de processamento (CPU) e uma de armazenamento ("memória") para comportar, respectivamente, instruções e dados.A máquina proposta por Von Neumann reúne os seguintes componentes: Uma memória, uma unidade aritmética e lógica (ALU), uma unidade central de processamento (CPU), composta por diversos registradores, e uma Unidade de Controle (CU), cuja função é a mesma da tabela de controle da Máquina de Turing universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada.

Page 13: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

ENIACEC: Identificar estrutura interna de um computador;

Possuía 17.468 válvulas, de 160 kW de potência;Esta máquina não tinha sistema operacional e seu funcionamento era parecido com uma calculadora simples de hoje. O ENIAC, assim como uma calculadora, tinha de ser operado manualmente.A calculadora efetua os cálculos a partir das teclas pressionadas, fazendo interação direta com o hardware, como no ENIAC, no qual era preciso conectar fios, relês e sequências de chaves para que se determinasse a tarefa a ser executada. A cada tarefa diferente o processo deveria ser refeito. A resposta era dada por uma sequência de lâmpadas.

Page 14: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

ENIACEC: Identificar estrutura interna de um computador;

Possuía 17.468 válvulas, de 160 kW de potência;Esta máquina não tinha sistema operacional e seu funcionamento era parecido com uma calculadora simples de hoje. O ENIAC, assim como uma calculadora, tinha de ser operado manualmente.A calculadora efetua os cálculos a partir das teclas pressionadas, fazendo interação direta com o hardware, como no ENIAC, no qual era preciso conectar fios, relês e sequências de chaves para que se determinasse a tarefa a ser executada. A cada tarefa diferente o processo deveria ser refeito. A resposta era dada por uma sequência de lâmpadas.

Page 15: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

De volta ao resumo...

Page 16: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Organização da CPU

Caminho de dados da máquina de Von Neumann:

A + B

A

B

BA

A + B

ULA

Registradores

Registrador de entrada da ULA

Barramento de entrada da ULA

Registrador de saída da ULA

O ciclo do caminho de dados é que define a velocidade da máquina.

Page 17: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Organização da CPU

Execução de uma instrução:

1.Trazer a próxima instrução da memória até o registrador.2.Alterar o contador de programa para indicar a próxima instrução.3.Determinar o tipo de instrução trazida.4.Se a instrução utilizar uma palavra na memória, determinar onde essa palavra está.5.Trazer a palavra para dentro de um registrador da CPU.6.Executar a instrução.7.Voltar à etapa 1 para iniciar a execução da instrução seguinte.

Ciclo:Busca -> Decodificação -> Execução

Tudo isso é feito em hardware.

Page 18: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Organização da CPU

Execução de uma instrução – em software:

Public class Interpret { Static int PC, inst, inst_type, data_loc, data; Static boolean run_bit = true;

Public static void interpret (int memory[], int starting_address){ PC = starting_address; While (run_bit) { Instr = memory[PC]; PC = PC + 1; Instr_type = get_instr_type(instr); Data_loc = find_data(instr, instr_type); If (data_loc >=0 ) Data = memory[data_loc]; Execute(instr_type, data); }}}

Prova da equivalência entre hardware e software.

Page 19: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Arquiteturas CISC x RISC

• CISC (sigla para Complex Instruction Set Computer, ou, em uma tradução literal, "Computador com um Conjunto Complexo de Instruções"): é uma linha de arquitetura de processadores capaz de executar centenas de instruções complexas diferentes sendo, assim, extremamente versátil. Exemplos de processadores CISC são os 386 e os 486 da Intel.

• Os processadores baseados na computação de conjunto de instruções complexas contêm uma micro-programação, ou seja, um conjunto de códigos de instruções que são gravados no processador, permitindo-lhe receber as instruções dos programas e executá-las, utilizando as instruções contidas na sua micro-programação. Seria como quebrar estas instruções, já em baixo nível, em diversas instruções mais próximas do hardware (as instruções contidas no microcódigo do processador). Como característica marcante esta arquitetura contém um conjunto grande de instruções, a maioria deles em um elevado grau de complexidade.

Page 20: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Arquiteturas CISC x RISC

•Examinando do ponto de vista um pouco mais prático, a vantagem da arquitetura CISC é que já temos muitas das instruções guardadas no próprio processador, o que facilita o trabalho dos programadores de linguagem de máquina; disponibilizando, assim, praticamente todas as instruções que serão usadas em seus programas. Os processadores CISC têm a vantagem de reduzir o tamanho do código executável por já possuírem muito do código comum em vários programas, em forma de uma única instrução.

•Porém, do ponto de vista da performance, os CISCs têm algumas desvantagens em relação aos RISCs, entre elas a impossibilidade de se alterar alguma instrução composta para se melhorar a performance. O código equivalente às instruções compostas do CISC pode ser escrito nos RISCs da forma desejada, usando um conjunto de instruções simples, da maneira que mais se adequar. Sendo assim, existe uma disputa entre tamanho do código X desempenho.

Page 21: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Arquiteturas CISC x RISC

•RISC Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções (RISC), é uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos microprocessadores modernos são RISCs, por exemplo DEC Alpha, SPARC, MIPS, e PowerPC. O tipo de microprocessador mais comum em desktops, o x86, é mais semelhante ao CISC do que ao RISC, embora chips mais novos traduzam instruções x86 baseadas em arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando prioridade de execução.

•Os processadores baseados na computação de conjunto de instruções reduzido não têm micro-programação, as instruções são executadas diretamente pelo hardware. Como característica, esta arquitetura, além de não ter microcódigo, tem o conjunto de instruções reduzido, bem como baixo nível de complexidade.

Page 22: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Arquiteturas CISC x RISC

A ideia foi inspirada pela descoberta de que muitas das características incluídas na arquitetura tradicional de processadores para ganho de desempenho foram ignoradas pelos programas que foram executados neles. Mas o desempenho do processador em relação à memória que ele acessava era crescente. Isto resultou num número de técnicas para otimização do processo dentro do processador, enquanto ao mesmo tempo tentando reduzir o número total de acessos à memória.RISC é também a arquitetura adotada para os processadores dos videogames modernos, que proporcionam um hardware extremamente dedicado somente à execução do jogo, tornando-o muito mais rápido em relação a micro computadores com mais recursos, embora com processador x86.

Page 23: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Arquiteturas CISC x RISC

CISC = 200 / 300 instruçõesComplex Instruction Set Computer

RISC = 50 instruçõesReduced Instruction Set Computer

CISC = instrução_x = 10ns

RISC = instrução_1= instrução_2 instrução_x = 3ns= instrução_3

Page 24: Organização e Arquitetura de Computadores 2ºSemestre Aula 10 – Parte 2 Prof. Carlos Vinícius cvalves@senacrs.edu.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Projeto de computadores modernos

•Aproximação máxima ao modelo RISC.•Maximizar a taxa de execução das instruções;

•Quanto mais instruções forem iniciadas por segundo (MIPS), melhor será o desempenho da máquina.

•Instruções devem ser fáceis de decodificar;•Instruções com muitos campos são demoradas para se codificar.

•Somente LOAD e STORE devem referenciar a memória•Qualquer outra instrução deve operar somente entre os registradores.

•Providenciar bastante registradores;•Acesso a memória é lento, por isso usar registradores.