Noções de Hardware
Aula 004
INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
Aula 004
Noções de Hardware
Flávio Augusto de Freitas
NOÇÕES DE HARDWARE
Hardware
• CPU ou UCP
• ALU ou ULA
• BIOS
• Memória
• Unidades de Entrada e Saída (E/S)
NOÇÕES DE HARDWARE
Hardware - CPU ou UCP
A unidade central de processamento ou CPU (Central Processing
Unit), também conhe...
NOÇÕES DE HARDWARE
Hardware - CPU ou UCP
As primeiras CPUs personalizadas foram concebidas como parte
de um computador mai...
NOÇÕES DE HARDWARE
Hardware - CPU ou UCP
Os CI têm permitido processadores cada vez mais complexos para
serem concebidos e...
NOÇÕES DE HARDWARE
Hardware - CPU ou UCP
Em máquinas grandes, CPUs exigiam uma ou mais placas de circuito
impresso.
Em com...
CPU: CONEXÕES
INTERNAS
UMA CPU QUAD-CORE
DIAGRAMA DE BLOCOS
DA CPU INTEL 8088
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
• Registradores de uso geral:
• AX: acumulador;
• BX: registrador de base, pode ser u...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
• Registradores de uso geral:
• DX: registrador de dados, pode ser usado como
uma ext...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
• Registradores de uso geral:
• SI: source index, aponta para a origem dos
dados que ...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
• Registradores de flags:
• ZF: zero flag, indica se o resultado de uma
operação arit...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
• Registradores de flags:
• TF: trap flag, permite a operação “passo a
passo” para de...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
• Registradores de flags:
• DF: direction flag, para operações com
strings, se D = 0 ...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
BIU - Bus Interface Unit
O interfaceamento da EU com o bus de dados e
bus de endereço...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
BIU - Bus Interface Unit
É composta por cinco registradores de 16 bits,
uma estrutura...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
• Registradores de segmento:
• CS: code segment, endereça o segmento
onde devem estar...
DIAGRAMA DE BLOCOS DA CPU INTEL 8088
• Registradores de segmento:
• DS: data segment, como o nome diz, acessa
o segmento r...
NOÇÕES DE HARDWARE
Hardware - CPU ou UCP
Uma CPU é composta basicamente pelos seguintes componentes:
• Unidade lógica e ar...
NOÇÕES DE HARDWARE
Hardware - CPU ou UCP
Como é fabricada uma CPU?
Os vídeos a seguir dão uma visão global e intuitiva de ...
NOÇÕES DE HARDWARE
Hardware - ALU ou ULA
A unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic
Unit (ALU) é um...
NOÇÕES DE HARDWARE
Hardware - ALU ou ULA
O matemático John von Neumann propôs o conceito de ULA em
1945, quando escreveu u...
NOÇÕES DE HARDWARE
Hardware - ALU ou ULA
A tecnologia utilizada foi inicialmente relés, herança da telefonia, e
posteriorm...
NOÇÕES DE HARDWARE
Hardware - ALU ou ULA
A ULA executa as principais operações lógicas e aritméticas do
computador.
Ela so...
NOÇÕES DE HARDWARE
Hardware - ALU ou ULA
Operações simples
Muitas ULA podem realizar as seguintes operações:
• operações a...
NOÇÕES DE HARDWARE
Hardware - ALU ou ULA
Operações complexas
Um engenheiro pode projetar uma ULA para calcular qualquer
op...
ULA
Uma simples ULA
de 2-bit que faz
AND, OR, XOR, e
adição.
NOÇÕES DE HARDWARE
Hardware – BIOS
BIOS, em computação Basic Input/Output System (Sistema Básico
de Entrada/Saída).
O term...
NOÇÕES DE HARDWARE
Hardware – Memória
Em informática, memória são todos os dispositivos que permitem a
um computador guard...
NOÇÕES DE HARDWARE
Hardware – Memória
O conceito de computador digital binário com programa
armazenado (arquitetura de Von...
NOÇÕES DE HARDWARE
Hardware - Unidades de Entrada e Saída (E/S)
Entrada/saída (em inglês: Input/output, sigla I/O) é um te...
NOÇÕES DE HARDWARE
Hardware - Unidades de Entrada e Saída (E/S)
São exemplos de unidades de entrada de um computador: disc...
Flávio Augusto de Freitas
http://flavioaf.blogspot.com
flaviocefetrp@gmail.com
Aula 004   noções de hardware
Aula 004   noções de hardware
Aula 004   noções de hardware
Aula 004   noções de hardware
Aula 004   noções de hardware
Aula 004   noções de hardware
Upcoming SlideShare
Loading in...5
×

Aula 004 noções de hardware

521

Published on

Introdução à Ciência da Computação

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
521
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • História
    O EDVAC, um dos primeiros computadores.
    Computadores como o ENIAC tinham que ser fisicamente religados a fim de realizar diferentes tarefas, por isso estas máquinas são muitas vezes referidas como "computadores de programa fixo". Visto que o termo "CPU" é geralmente definido como um dispositivo para execução de um software (programa de computador), os primeiros dispositivos que poderiam muito bem ser chamados CPUs vieram com o advento do computador com programa armazenado.
    A ideia do programa de computador já estava presente no projeto do ENIAC de J. Presper Eckert e John William Mauchly, mas inicialmente foi omitido para que a máquina pudesse ser concluída em menos tempo. Em 30 de junho de 1945, antes do ENIAC ter sido concluído, o matemático John von Neumann distribuiu um documento intitulado "primeiro esboço de um relatório sobre o EDVAC". É descrito o projeto de um programa de computador armazenado que viria a ser concluído em agosto de 1949.[4]. O EDVAC foi projetado para executar um determinado número de instruções (ou operações) de vários tipos. Estas instruções podem ser combinados para criar programas úteis para o EDVAC para ser executado.
    Significativamente, os programas escritos para EDVAC foram armazenados em memórias de computador de alta velocidade e não especificados pela ligação física do computador. Isso superou uma grave limitação do ENIAC que era o longo tempo e esforço necessário para reconfigurar o computador para executar uma nova tarefa. Com o design de von Neumann, o programa, ou software, que executava no EDVAC poderia ser mudado simplesmente mudando o conteúdo da memória do computador.[5]
    Enquanto von Neumann é mais frequentemente creditado como sendo o desenvolvedor do computador com programa armazenado, devido à sua concepção do EDVAC, outros antes dele, como Konrad Zuse, tinham sugerido e implementado ideias semelhantes. A chamada arquitetura de Harvard do Harvard Mark I, que foi concluída antes do EDVAC, também utilizou um projeto de programa armazenado usando fita de papel perfurado em vez de memória eletrônica. A diferença fundamental entre as arquiteturas de von Neumann e Harvard é que este último separa o armazenamento e o tratamento de instruções da CPU e de dados, enquanto a primeira utiliza o mesmo espaço de memória para ambos. A maioria dos processadores modernos são principalmente von Neumann em design, mas elementos da arquitetura de Harvard são comumente vistas também.
    Como um dispositivo digital, uma CPU é limitada a um conjunto de estados discretos, e requer algum tipo de elemento de comutação para diferenciar e mudar estados. Antes do desenvolvimento comercial do transistor, relés elétricos e válvulas eletrônicas eram comumente utilizados como elementos de comutação.
    Embora estes tivessem considerável vantagem em termos de velocidade sobre o que se usava antes, desenhos puramente mecânicos, eles não eram confiáveis por diversas razões. Por exemplo, a construção de circuitos de lógica sequencial de corrente contínua fora de relés requer um hardware adicional para lidar com os problemas de contato. Enquanto as válvulas não sofrem rejeição de contato, elas devem aquecer antes de se tornarem plenamente operacionais, e eventualmente deixam de funcionar devido à lenta contaminação dos seus cátodos que ocorre no curso da operação normal. Se uma válvula selada vaza, como por vezes acontece, a contaminação do cátodo é acelerada.
    Normalmente, quando um tubo apresnta defeito, a CPU teria que ser examinada para localizar o componente que falhou a fim de que pudesse ser substituído. Portanto, os primeiros computadores eletrônicos (baseados em válvulas) eram geralmente mais rápidos, mas menos confiáveis do que os computadores eletromecânicos (baseados em relés).
    Computadores basedos em válvulas como o EDVAC tendiam a trabalhar em média oito horas até apresentarem falhas, enquanto os computadores baseados em relés como o (mais lento, mas anterior) Harvard Mark I apresentava defeitos muito raramente.[3].
    No final, CPUs baseadas em válvulas tornaram-se dominantes porque as vantagens de velocidade significativa oferecidas geralmente superavam os problemas de confiabilidade. A maioria destas antigas CPUs funcionava com baixa frequencias de relógio em comparação com os design microeletrônicos modernos. Sinais de frequência de relógio variando de 100 kHz a 4 MHz eram muito comuns nesta época, em grande parte limitados pela velocidade dos dispositivos de comutação que eram construídos.
    [editar] CPUs baseadas em transistores discretos e em circuitos integrados
    CPU, memória de núcleo magnético e barramento externo de um DEC PDP-8/I. feito de circuitos integrados em média escala.
    A complexidade do projeto de CPUs aumentou quando várias tecnologias facilitaram a construção de menores e mais confiáveis dispositivos eletrônicos. O primeiro aprimoramento veio com o advento do transistor. CPUs transistorizadas durante os anos 1950 e 1960 já não precisavam mais ser construídas com volumosos, não confiáveis e frágeis elementos de comutação, tais como válvulas e relés elétricos. Com esta melhoria, CPUs mais complexas e mais confiáveis foram construídas em uma ou várias placas de circuito impresso com componentes discretos (individuais).
    Durante este período, um método de fabricação de transistores em um espaço compacto ganhou popularidade. O circuito integrado (IC, conforme iniciais em inglês) permitiu que um grande número de transistores fossem fabricados em um único die baseado em semicondutor, ou "chip". No início apenas circuitos digitais não especializados e muito básicos, tais como portas NOR foram miniaturizados em ICs. CPUs baseadas nestes IC de "blocos construídos" eram geralmente referidos como dispositivos de "integração em pequena escala" (SSI, conforme iniciais em inglês). SSI ICs, tais como os usados no computador orientado Apollo, normalmente continham somas de transistores em múltiplos de dez.
    Para construir uma CPU inteira fora dos SSI ICs eram necessários milhares de chips individuais, mas ainda assim consumiam muito menos espaço e energia do que modelos anteriores baseados em transistores discretos. Quando a tecnologia microeletrônica avançou, um crescente número de transistores foram colocados em ICs, diminuindo assim a quantidade de ICs individuais necessários para uma CPU completa. Circuitos integrados MSI e LSI (integração em média e em larga escala, conforme iniciais em inglês) aumentaram a soma de transistores às centenas, e depois milhares.
    [editar] Microprocessadores
    Ver artigo principal: Microprocessador
    O circuito integrado de um Intel 8742.
    A introdução do microprocessador na década de 1970 afetou significativamente a concepção e implementação de processadores. Desde a introdução do primeiro microprocessador disponível comercialmente (o Intel 4004) em 1970 e o primeiro microprocessador utilizado (o Intel 8080), em 1974, essa classe de CPUs tem quase completamente ultrapassado todas os outros métodos de implementação de unidades centrais de processamento.
  • Primeiro desenvolvimento
    Em 1946, von Neumann trabalhou com seus colegas no projeto de um computador para o Instituto de Estudos Avançados de Princeton (Princeton Institute of Advanced Studies -IAS). O computador IAS se tornara o protótipo de muitos computadores. Na proposta, von Neumann descreveu o que ele acreditava que seria preciso na sua máquina, incluindo uma ULA.
    Von Neumann disse que a ULA era uma necessidade para o computador porque ela garantiria que o computador calcularia operações matemáticas básicas, incluindo adição, subtração, multiplicação, e divisão..[1] Ele então achava razoável que um computador contivesse um órgão especializado para essas operações.[1]
    [editar] Sistemas numéricos
    Ver também: Representação de números com sinal
    Uma ULA deve processar números usando o mesmo formato que o resto do circuito digital. Os processadores modernos utilizam em maioria a representação binária de complemento para dois. Os primeiros computadores usavam uma grande variedade de sistemas numéricos, incluindo os formatos complemento para um, sinal-magnitude e mesmo o sistema decimal.[carece de fontes]
    Os sistemas numéricos de complemento para um e complemento para dois permitem que a subtração seja realizada pela adição do minuendo com o complemento do subtraendo, simplificando o circuito lógico. Uma vantagem do complemento para dois em relação aos outros sistemas é que a representação possui apenas um zero, não possuindo um "zero negativo".
    [editar] Visão geral prática
    Uma simples ULA de 2-bit que faz AND, OR, XOR, e adição (clique na imagem para explicação)
    Muitas das ações dos computadores são executadas pela ULA. Esta recebe dados dos registradores, que são processados e os resultados da operação são armazenados nos registradores de saída. Outros mecanismos movem os dados entre esses registradores e a memória.[2] Uma unidade de controle controla a ULA, através de circuitos que dizem que operações a ULA deve realizar.
    [editar] Operações simples
    Muitas ULA podem realizar as seguintes operações:
    operações aritméticas com inteiros;
    operações lógicas bit a bit AND, NOT, OR, XOR;
    operações de deslocamento de bits (deslocamento, rotação por um número específico de bits para esquerda ou direita, com ou sem sinal); deslocamentos podem ser interpretados como multiplicações ou divisões por 2.
    [editar] Operações complexas
    Um engenheiro pode projetar uma ULA para calcular qualquer operação, no entanto isso gera complexidade; o problema é que quanto mais complexa a operação, mais cara é a ULA, mais espaço utiliza do processador e mais dissipa energia.
    Então, engenheiros sempre calculam um compromisso entre o poder de processamento e a sua complexidade, satisfazendo aos requisitos do processador ou de outro circuito. Imagine um cenário, onde é preciso calcular a raiz quadrada. O engenheiro teria as seguintes opções:
    Projetar uma ULA extremamente complexa que calcula a raiz quadrada de qualquer número num único passo. Isso é chamado cálculo em passo-único de clock.
    Projetar uma ULA bastante complexa que calcula a raiz quadrada de qualquer número em vários passos. Mas, existe um truque, os resultados intermediários vão através de uma série de circuitos arranjados em linha, como numa linha de produção. Que faz com que a ULA seja capaz de aceitar novos números para cálculo antes mesmo de terminar o cálculo dos anteriores. Isso faz com que a ULA seja capaz de produzir números tão rápido como cálculos em passo-único de relógio, com um atraso inicial até os números começarem a sair. Isso é chamado cálculo em pipeline.
    Projetar uma ULA complexa que calcula a raiz quadrada através de vários passos. Isso é chamado de cálculo iterativo, e usualmente confia no controle de uma complexa unidade de controle com microcódigo.
    Projetar uma ULA simples no processador e vender separadamente um processador especializado e caro que o consumidor possa instalá-lo ao lado desse, realizando uma das opções acima. Isso é chamado de co-processador.
    Dizer aos programadores que não há nenhum co-processador e que não há nenhuma emulação, assim eles tem que escrever seus próprios algoritmos para calcular a raiz quadrada por software. Isso é chamado de bibliotecas de software.
    Emular a existência de um co-processador, ou seja, sempre que um programa tenta realizar o cálculo da raiz quadrada, faz o processador verificar se há co-processador presente e o utiliza se está ali; se não há, interrompe o programa e invoca o sistema operacional para realiza o cálculo da raiz através de algum algoritmo de software. Isso é chamado de emulação de software.
    As opções acima vão desde a mais rápida e cara até a mais lenta e mais complicada. Então, enquanto o mais simples computador pode calcular a mais complexa fórmula, os computadores mais simples vão usualmente levar mais tempo fazendo isso porque levam vários passos para calcular a fórmula.
    Processadores poderosos como Intel Core e AMD64 utilizam a opção #1 para as operações mais simples, #2 para as operações complexas mais comuns e #3 para as operações extremamente complexas. Isso é possível através da construção de ULAs muito complexas nesses processadores.
    [editar] Entradas e saídas
    As entradas para a ULA são os dados a serem operados (chamados operandos) e o código da unidade de controle indicando as operações para executar. As saídas são os resultados da computação.
    Em muitos projetos a ULA também leva ou gera as entradas ou saídas de um conjunto de códigos de condições ou de um registrador de estado. Esses códigos são usados para indicar casos como vai-um (empresta-um), overflow, divisão-por-zero etc.[3]
    [editar] ULA vs. UPF
    Uma Unidade de ponto flutuante também realiza operações aritméticas entre dois valores, mas eles realizam isso com número em representação de ponto flutuante, que é muito mais complexa que a complemento para dois. Para fazer esses cálculos, uma UPF tem vários circuitos complexos, incluindo algumas ULAs internas.
    Usualmente engenheiros chamam uma ULA o circuito que realiza operações aritméticas com números inteiros em complemento para dois ou BCD, enquanto circuitos que calculam em formatos como ponto flutuante usualmente recebem esse ilustre nome.
  • Aula 004 noções de hardware

    1. 1. Noções de Hardware Aula 004 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
    2. 2. INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Aula 004 Noções de Hardware Flávio Augusto de Freitas
    3. 3. NOÇÕES DE HARDWARE Hardware • CPU ou UCP • ALU ou ULA • BIOS • Memória • Unidades de Entrada e Saída (E/S)
    4. 4. NOÇÕES DE HARDWARE Hardware - CPU ou UCP A unidade central de processamento ou CPU (Central Processing Unit), também conhecido como processador, é a parte de um sistema de computacional, que realiza as intruções de um programa de computador, para executar a aritmética básica, lógica, e a entradas e saída de dados. A CPU tem papel parecido ao cérebro no computador. O termo vem sendo usado desde o início de 1960. A forma, desenho e implementação mudaram drasticamente desde os primeiros exemplos, porém o eu funcionamento fundamental permanece o mesmo.
    5. 5. NOÇÕES DE HARDWARE Hardware - CPU ou UCP As primeiras CPUs personalizadas foram concebidas como parte de um computador maior. No entanto, este método caro de fazer CPUs personalizadas para uma determinada aplicação rumou para o desenvolvimento de processadores produzidos em massa que são feitas para um ou vários propósitos. Esta tendência de padronização em geral começou na época de discretos minicomputadores e mainframes transistores e acelerou rapidamente com a popularização dos circuitos integrados (CI).
    6. 6. NOÇÕES DE HARDWARE Hardware - CPU ou UCP Os CI têm permitido processadores cada vez mais complexos para serem concebidos e fabricados em tamanhos da ordem de nanômetros. Tanto a miniaturização como a padronização dos processadores tem aumentado a presença destes dispositivos digitais na vida moderna, muito além da aplicação limitada dedicada a computadores. Os microprocessadores modernos aparecem em tudo, desde automóveis até celulares e brinquedos para crianças.
    7. 7. NOÇÕES DE HARDWARE Hardware - CPU ou UCP Em máquinas grandes, CPUs exigiam uma ou mais placas de circuito impresso. Em computadores pessoais e estações de trabalho de pequeno porte, a CPU fica em um único chip de silício chamado de microprocessador. Desde 1970 a classe de microprocessadores de CPUs quase completamente ultrapassado todas as implementações de outra CPU. CPUs modernos são circuitos integrados de grande escala em pequenos pacotes retangulares, com vários pinos de conexão.
    8. 8. CPU: CONEXÕES INTERNAS
    9. 9. UMA CPU QUAD-CORE
    10. 10. DIAGRAMA DE BLOCOS DA CPU INTEL 8088
    11. 11. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 • Registradores de uso geral: • AX: acumulador; • BX: registrador de base, pode ser usado como base de endereçamento para manipulação de tabelas; • CX: registrador de contagem, além de trabalhar com dados também é usado para contagens de instruções com “loops” na manipulação de strings;
    12. 12. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 • Registradores de uso geral: • DX: registrador de dados, pode ser usado como uma extensão do AX em operações de multiplicação e divisão; • SP: stack pointer, aponta para o topo da memória do tipo pilha usada pelo 8088; • BP: base pointer, é usado para endereçamento de memória (registrador de base para a pilha). Pode conter o endereço inicial de uma tabela a ser manipulada pela CPU;
    13. 13. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 • Registradores de uso geral: • SI: source index, aponta para a origem dos dados que serão movimentados, usado para indexação de tabelas no endereçamento indireto; • DI: destination index, aponta para o destino dos dados que serão movimentados, também para indexação no endereçamento indireto.
    14. 14. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 • Registradores de flags: • ZF: zero flag, indica se o resultado de uma operação aritmética é igual a zero (1) ou diferente de zero (0). Se numa operação os valores são iguais o ZF = 1; • SF: sign flag, indica se o resultado de uma operação com sinal é positivo (0), em caso contrário (1);
    15. 15. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 • Registradores de flags: • TF: trap flag, permite a operação “passo a passo” para debug; • IF: interrupt flag, indica se as interrupções estão habilitadas (1) ou não (0);
    16. 16. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 • Registradores de flags: • DF: direction flag, para operações com strings, se D = 0 os registradores de índice serão incrementados, caso contrário (D = 1) serão decrementados; • OF: overflow flag, indica um estouro da capacidade de armazenamento de um registrador.
    17. 17. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 BIU - Bus Interface Unit O interfaceamento da EU com o bus de dados e bus de endereços do sistema é feito pela BIU, que gera todo o endereçamento de memória (1 mega) e I/O (64K), assim como interfaceia o bus de dados do sistema (8bits) com o bus de dados da EU (16 bits).
    18. 18. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 BIU - Bus Interface Unit É composta por cinco registradores de 16 bits, uma estrutura de armazenamento de dados do tipo fila, para armazenamento de até 4 bytes de instruções e um sistema para gerar o endereçamento de 20 bits (1 MB de endereçamento), a partir de registradores de 16 bits cada.
    19. 19. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 • Registradores de segmento: • CS: code segment, endereça o segmento onde devem estar as instruções a serem executadas pela CPU; • SS: stack segment, endereça o segmento que está reservado ao uso da pilha;
    20. 20. DIAGRAMA DE BLOCOS DA CPU INTEL 8088 • Registradores de segmento: • DS: data segment, como o nome diz, acessa o segmento reservado aos dados manipulados pelo 8088; • ES: extra segment, é usado para acessar outro segmento que conterá dados. Normalmente, é usado para manipulação de tabelas e strings.
    21. 21. NOÇÕES DE HARDWARE Hardware - CPU ou UCP Uma CPU é composta basicamente pelos seguintes componentes: • Unidade lógica e aritmética (ULA ou ALU): executa operações lógicas e aritméticas; • Unidade de controle: decodifica instruções, busca operandos, controla o ponto de execução e desvios; • Registradores e Memória cache: armazenar dados para o processamento.
    22. 22. NOÇÕES DE HARDWARE Hardware - CPU ou UCP Como é fabricada uma CPU? Os vídeos a seguir dão uma visão global e intuitiva de como são fabricados esses componentes ultra miniaturizados. • Intel: Assistir local ou no YouTube. • AMD: Assistir local ou no YouTube.
    23. 23. NOÇÕES DE HARDWARE Hardware - ALU ou ULA A unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é um circuito digital que realiza operações lógicas e aritméticas. A ULA é uma peça fundamental da unidade central de processamento (CPU), e até dos mais simples microprocessadores. É na verdade, uma "grande calculadora eletrônica" do tipo desenvolvido durante a II Guerra Mundial, e sua tecnologia já estava disponível quando os primeiros computadores modernos foram construídos.
    24. 24. NOÇÕES DE HARDWARE Hardware - ALU ou ULA O matemático John von Neumann propôs o conceito de ULA em 1945, quando escreveu um relatório sobre os fundamentos para um novo computador chamado EDVAC. Pesquisas sobre ULAs ainda são uma parte importante da ciência da computação.
    25. 25. NOÇÕES DE HARDWARE Hardware - ALU ou ULA A tecnologia utilizada foi inicialmente relés, herança da telefonia, e posteriormente válvulas, herança da radiofonia. Com o aparecimento dos transistores, e depois dos circuitos integrados, os circuitos da unidade aritmética e lógica passaram a ser implementados com a tecnologia de semicondutores.
    26. 26. NOÇÕES DE HARDWARE Hardware - ALU ou ULA A ULA executa as principais operações lógicas e aritméticas do computador. Ela soma, subtrai, divide, determina se um número é positivo ou negativo ou se é zero. Além de executar funções aritméticas, uma ULA deve ser capaz de determinar se uma quantidade é menor ou maior que outra e quando quantidades são iguais. A ULA pode executar funções lógicas com letras e com números.
    27. 27. NOÇÕES DE HARDWARE Hardware - ALU ou ULA Operações simples Muitas ULA podem realizar as seguintes operações: • operações aritméticas com inteiros; • operações lógicas bit a bit AND, NOT, OR, XOR; • operações de deslocamento de bits (deslocamento, rotação por um número específico de bits para esquerda ou direita, com ou sem sinal); deslocamentos podem ser interpretados como multiplicações ou divisões por 2.
    28. 28. NOÇÕES DE HARDWARE Hardware - ALU ou ULA Operações complexas Um engenheiro pode projetar uma ULA para calcular qualquer operação, no entanto isso gera complexidade; o problema é que quanto mais complexa a operação, mais cara é a ULA, mais espaço utiliza do processador e mais dissipa energia. Então, engenheiros sempre calculam um compromisso entre o poder de processamento e a sua complexidade, satisfazendo aos requisitos do processador ou de outro circuito. Imagine um cenário, onde é preciso calcular a raiz quadrada.
    29. 29. ULA Uma simples ULA de 2-bit que faz AND, OR, XOR, e adição.
    30. 30. NOÇÕES DE HARDWARE Hardware – BIOS BIOS, em computação Basic Input/Output System (Sistema Básico de Entrada/Saída). O termo é incorretamente conhecido como Basic Integrated Operating System (Sistema Operacional Básico Integrado) ou Built In Operating System (Sistema Operacional Interno). O BIOS é um programa de computador pré-gravado em memória permanente (firmware) executado por um computador quando ligado. Ele é responsável pelo suporte básico de acesso ao hardware, bem como por iniciar a carga do sistema operacional.
    31. 31. NOÇÕES DE HARDWARE Hardware – Memória Em informática, memória são todos os dispositivos que permitem a um computador guardar dados, temporariamente ou permanentemente. Memória é um termo genérico para designar componentes de um sistema capazes de armazenar dados e programas.
    32. 32. NOÇÕES DE HARDWARE Hardware – Memória O conceito de computador digital binário com programa armazenado (arquitetura de Von Neumann e subsequentes) é baseado no uso de memória, e não existiria sem a utilização destas. A unidade básica de memória é o digito binário, ou bit. Um bit pode conter 0 ou 1. É a unidade mais simples possível. Um sistema que armazenasse apenas um destes valores não poderia formar a base de um sistema de memória.
    33. 33. NOÇÕES DE HARDWARE Hardware - Unidades de Entrada e Saída (E/S) Entrada/saída (em inglês: Input/output, sigla I/O) é um termo utilizado quase que exclusivamente no ramo da computação (ou informática), indicando entrada (inserção) de dados por meio de algum código ou programa, para algum outro programa ou hardware, bem como a sua saída (obtenção de dados) ou retorno de dados, como resultado de alguma operação de algum programa, consequentemente resultado de alguma entrada.
    34. 34. NOÇÕES DE HARDWARE Hardware - Unidades de Entrada e Saída (E/S) São exemplos de unidades de entrada de um computador: disco rígido, microfone, teclado, mouse, tela sensível ao toque, Scanner, Leitor de código de barras, Celular, Pendrive, Máquina fotográfica digital, Webcam, joystick e outros acessórios de jogos. São exemplos de unidades de saída de um computador: monitor, caixas de som, impressora, disco rígido. Algumas unidades são de entrada e saída de dados ou também chamados Dispositivos Híbridos: disco rígido, disco flexível ou disquete, monitor sensível a toques, pendrive, joystick vibratório e impressora.
    35. 35. Flávio Augusto de Freitas http://flavioaf.blogspot.com flaviocefetrp@gmail.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×