Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Arquitetura de Computadores - Apostilas - Engenharia da Computação Part1, Notas de estudo de Informática

Apostilas de Engenharia da Computação sobre o estudo da Organização e Arquitetura de Computadores, Circuitos Lógicos Digitais, Simplificação por Mapas de Karnaugh, Circuitos Combinacionais, Unidade Central de Processamento, Organização de Entrada e Saída.

Tipologia: Notas de estudo

2013

Compartilhado em 31/05/2013

GloboTV
GloboTV 🇧🇷

4.5

(323)

561 documentos

1 / 39

Documentos relacionados


Pré-visualização parcial do texto

Baixe Arquitetura de Computadores - Apostilas - Engenharia da Computação Part1 e outras Notas de estudo em PDF para Informática, somente na Docsity! Apostila sobre Organização e Arquitetura de Computadores Autor: Eder Santana Freire Versão 1.3 Apresentação A idéia de preparar uma apostila que abordasse o tema de Organização e Arquitetura de Computadores surgiu ainda durante a graduação, mas foi durante a realização de uma pós-graduação nesta área que pude compilar os tópicos de maior interesse dentro desta área, com o objetivo e de ajudar outras pessoas em busca de conhecimento, além de me ajudar a fixar e aprofundar os conhecimentos na área. Esta apostila está estruturada em tópicos e sub-tópicos, retirados de livros, notas de aula e outras fontes na Internet, e fornecem o conhecimento básico necessário ao entendimento da operação do hardware dos computadores digitais. A sua leitura é bem objetiva e simples, e procurou-se abordar os temas de forma bastante direta, de modo a facilitar uma rápida consulta por parte do leitor. Deve-se salientar que o objetivo desta apostila é transmitir a idéia geral por trás do tema, e não um conhecimento aprofundado a respeito dos tópicos cobertos. Portanto, o texto aqui apresentado serve como ponto de partida para quem se interessar pelo assunto, cujo conhecimento adquirido não só pode, como deve ser aprofundado por meio de livros e de outras fontes. Este arquivo PDF é de livre distribuição, impressão, cópia e reprodução, desde que respeitados os créditos para o autor. O mesma pode ser baixado originalmente em: www.ederfreire.tk, onde também pode ser encontrado o meu currículo, além de trabalhos futuros. A sua comercialização, em todo ou em parte, é proibida de todas as formas devendo neste caso o autor ser contactado imediatamente através do e-mail ederfreire@gmail.com. Críticas, sugestões e avisos de erros também podem ser enviados para este endereço. Sobre o autor: Eder Freire é bacharel em Engenharia de Computação pela Universidade Estadual de Feira de Santana (Bahia), onde adquiriu interesse pela área de Arquitetura de Computadores e Sistemas Digitais. Desenvolveu o seu trabalho de conclusão de curso baseado na arquitetura do sistema computacional Atari 2600, vídeo-game de grande sucesso nos anos 1980. Foi selecionado como bolsista no Programa CI Brasil, do CNPq / Governo Federal, tendo concluído com sucesso a pós-graduação em Projeto de Circuitos Integrados, com ênfase em Sistemas Digitais, no Centro de Treinamento 2, localizado no Centro de Tecnologia da Informação Renato Archer (Campinas-SP). Atualmente é bolsista do CI BRASIL / CNPq em uma Design House em Salvador, e mestrando em Mecatrônica / Sistemas Computacionais pela Universidade Federal da Bahia – UFBA. Organização e Arquitetura de Computadores Eder Santana Freire 5 Introdução Todos sabemos que os computadores se tornaram parte da vida rotineira. O trabalho inteligente que eles executam com uma dada instrução vale à pena a sua exploração. À primeira vista, uma questão comum que surge quando começamos a estudar o funcionamento dos computadores é: “que tipo de processo está acontecendo dentro de um computador quando lhe damos uma instrução ou comando? o que acontece dentro dele?” É isto que vai ser explorado nesta apostila. Como o tema abordado é Organização e Arquitetura de Computadores, deve-se primeiramente diferenciar os termos organização e arquitetura. A Organização de Computadores está focada na forma com que os componentes de hardware estão interconectados para formar um sistema computacional. A Arquitetura de Computadores preocupa-se com a estrutura e comportamento dos vários módulos funcionais de um computador, e como eles interagem para atender às necessidades de processamento do usuário. Primeiramente, serão abordados os circuitos lógicos digitais, com a idéia de um computador básico, introdução às portas lógicas e suas características, álgebra booleana, simplificação por mapas, e circuitos combinacionais e seqüenciais. Em seguida, a apostila trata dos circuitos integrados, como codificadores, decodificadores, registradores, registradores de deslocamento e unidades de memória. Posteriormente, é abordada a unidade central de processamento, com a organização interna dos seus registradores, instruções, transferência e manipulação de dados, controle de programa e arquiteturas RISC. A organização do sistema de entrada e saída é também discutida, citando dispositivos periféricos, interfaces, modos de transferência de dados, interrupções, acesso direto à memória, processador de E/S, comunicação serial e paralela, entre outros. Por fim, o texto trata da organização de memória, que abrange a memória principal, memórias auxiliares, cache e seus tipos, e a memória virtual, com algoritmos de substituição de páginas. A apostila ainda conta com alguns exercícios, que servem como recurso para fixação do aprendizado. Organização e Arquitetura de Computadores Eder Santana Freire 6 1. Circuitos Lógicos Digitais Este capítulo introduz o conceito fundamental para o projeto de sistemas digitais construídos a partir de portas lógicas individuais e flip-flops. O mesmo cobre álgebra booleana, e circuitos combinacionais e seqüenciais. Assim, é fornecida a base necessária para compreensão dos circuitos digitais a serem apresentados. 1.1 Computadores Digitais • Computadores digitais usam o sistema numérico binário, o qual possui dois dígitos, 0 e 1. • Um dígito binário é chamado de bit (BInary digiT). • Bits podem ser agrupados em bytes (8 bits) ou palavras (vários bytes), para formar determinado tipo de representação compreendido pelo computador. • Uma seqüência de instruções para o computador é conhecida como um programa. O diagrama de blocos de um computador digital básico é demonstrado na figura 1, e é baseado na arquitetura proposta por John Von Neumann: Figura 1: Diagrama de um computador básico O hardware do computador normalmente é dividido em três partes principais: • A Unidade Central de Processamento (do inglês Central Processing Unit – CPU), que contém uma unidade lógico-aritmética para manipulação de dados, um número de registradores para manipulação de dados, e circuitos de controle para a coleta e execução de instruções. • A memória de um computador contém armazenamento para instruções e dados, e é chamada de Memória de Acesso Aleatório (Random Access Memory – RAM). A CPU pode acessar qualquer local de forma aleatória na memória, e recuperar a informação binária em um intervalo fixo de tempo. • O processador de entrada e saída contém circuitos eletrônicos para comunicação e controle da transferência de informações entre o computador e o mundo externo. Organização e Arquitetura de Computadores Eder Santana Freire 7 • Os dispositivos de entrada e saída conectados ao computador incluem teclado, mouse, impressoras, terminais, discos magnéticos e outros dispositivos de comunicação. 1.2 Organização, Projeto e Arquitetura de Computadores • A organização de computadores está envolvida com a forma com o que o hardware do computador opera e a forma com o que os seus dispositivos são interconectados para formar o sistema computacional. Supõe-se que os vários componentes estão nos seus devidos lugares, e a tarefa é investigar a estrutura organizacional a fim de se verificar que as partes do computador operam conforme deveriam. • O projeto de computadores está envolvido com o projeto do hardware de um computador propriamente dito. Uma vez que a especificação do computador é formulada, é tarefa do projetista desenvolver o hardware para o sistema. O projeto de computadores está preocupado com a determinação de qual componente de hardware deve ser utilizado, e como as suas partes devem ser conectadas. Este aspecto do hardware de computadores é algumas vezes chamado de implementação de computadores. • A arquitetura de computadores está direcionada à estrutura e comportamento do computador conforme a visão do seu usuário. Ela inclui os formatos da informação, o conjunto de instruções e técnicas para endereçamento da memória. 1.3 Portas Lógicas • As informações binárias são representadas em computadores digitais por meio de sinais elétricos. • Estes sinais podem ser representados pela tensão, que vai especificar um estado, de dois possíveis. Por exemplo, se um fio contém um sinal de 3 volts, considera-se que o mesmo representa o valor digital 1. • Da mesma forma, se o fio contém 1.5 volts, então este representa o valor digital 0. • A manipulação de informação binária em um computador é feita por meio de circuitos lógicos, chamados portas. As portas são: E (AND) • A porta AND combina dois ou mais sinais de entrada de forma equivalente a um circuito em série, para produzir um único sinal de saída, ou seja, ela produz uma saída 1, se todos os sinais de entrada forem 1; caso qualquer um dos sinais de entrada for 0, a porta AND produzirá um sinal de saída igual a zero. Organização e Arquitetura de Computadores Eder Santana Freire 10 Figura 8: Porta XOR “Não-OU” Exclusivo (XNOR) • Esta porta é também conhecida como porta lógica coincidência, cuja operação é a inversa da porta XOR. Figura 9: Porta XNOR 1.4 Álgebra Booleana Podem ser utilizados para representar uma função booleana: • Tabelas-verdade • Diagramas lógicos • Expressões algébricas • Álgebra booleana é uma variação da álgebra para manipulação de variáveis binárias e operações lógicas. • Variáveis são designadas por letras, como A, B, x e y. • Uma função booleana pode ser expressada algebricamente por variáveis binárias, símbolos de operações lógicas, parênteses e o sinal de igual. • O resultado de uma operação booleana será sempre 0 ou 1. • Considere a seguinte função booleana: F = xy + z' • A função F é igual a 1 se ambos x e y possuírem valor 1, ou se a expressão z' for verdadeira. Organização e Arquitetura de Computadores Eder Santana Freire 11 • Notar que, para que a expressão z' seja verdadeira, é necessário que z possua valor 0, uma vez que z' representa o complemento de z. 1.4.1 Identidades básicas da Álgebra Booleana Abaixo são listadas as 17 identidades básicas da álgebra de Boole, para consulta do leitor: 1.4.2 Teorema de De-Morgan • Este teorema é muito importante para a manipulação de portas NOR e NAND. Ele declara que uma porta NOR que executa a função (x + y)' é equivalente à função x'y'. De forma similar, uma função NAND pode ser expressa tanto por (xy)' como por (x' + y'). Por esta razão, as portas NOR e NAND possuem dois símbolos gráficos distintos. Figura 10: OU invertido e inversor-E Organização e Arquitetura de Computadores Eder Santana Freire 12 • Os símbolos para as portas inversor-E e para a porta OU invertido seguem o teorema de De- Morgan, onde foi convencionado que os pequenos círculos utilizados denotam complementação. • De forma similar, as portas NAND possuem dois símbolos distintos, conforme mostra a figura: Figura 11: Inversor-OU e E invertido 1.4.3 Complemento de uma função • O complemento de uma função F, quando expresso em uma tabela verdade, é obtido pela permuta de 1's e 0's nos valores de F da tabela. • Quando a função é expressa na forma algébrica, o complemento da função pode ser derivado por meio do teorema de De-Morgan. • A forma geral do teorema de De-Morgan pode ser expressa da seguinte forma: (x1+x2+x3+….Xn) = x1’x2’x3’…xn’ (x1x2x3…xn)’=x1’+x2’+x3’+…+xn’ • Ao se substituir todas as operações OR por operações AND e vice-versa, e complementar cada variável individual, é possível derivar um procedimento simples para obtenção do complemento da uma expressão algébrica. Por exemplo: F = AB+C’D’+B’D F’=(A’+B’)(C+D)(B+D’) • Portanto, a expressão complementar é obtida pelo intercâmbio de operações AND e OR, e o posterior complemento de cada operando. Organização e Arquitetura de Computadores Eder Santana Freire 15 quadrado de minitermo 4 para produzir o termo AB'. A função simplificada é: F = C’+AB’ Figura 13: Mapa para F (A,B,C) = Σ(3,4,6,7) O terceiro exemplo necessita de um mapa de quatro variáveis: F(A,B,C,D)=Σ(0,1,2,6,8,9,10) Figura 14: Mapa para F(A,B,C,D)=Σ(0,1,2,6,8,9,10) • A área no mapa coberta por estas quatro variáveis consiste nos quadrados marcados com 1's na figura 14 acima. A função contém 1's nos quatro cantos que, quando tomados como grupos, fornecem o termo B'D'. Isto é possível porque estes quatro quadrados são adjacentes quando o mapa é considerado com as suas bordas superior e inferior ou esquerda e direita se tocando. • Os dois 1's na linha da base são combinados com os dois 1's na esquerda da linha da base para fornecer o termo B'C'. • O 1 restante no quadrado do minitermo 6 é combinado com o minitermo 2 para fornecer o termo A'CD'. A função simplificada é: F = B’D’ + B’C’ + A’CD’ 1.5.3 Simplificação por Produto-das-Somas • Outro método para simplifcação de expressões booleanas pode ser representar a função como um produto de somas. Organização e Arquitetura de Computadores Eder Santana Freire 16 • Esta aproximação é similar à simplificação por Soma-dos-Produtos, mas identificando quadrados adjacentes contendo 0's ao invés de 1's para formar grupos de quadrados adjacentes. • Então, ao invés de representar a função como uma soma de produtos, a função é representada como um produto de somas. Exemplos: F(A,B,C,D) = Σ(0,1,2,5,8,9,10) • Os 1's marcados no mapa da figura 15 representam os minitermos que produzem 1 para a função, • Os quadrados marcados com 0's representam o minitermo não incluso em F e portanto denotam o o seu complemento. • Ao se combinar os quadrados com 1's, se obtém a função simplificada na forma da soma-de- produtos: F = B’D +B’C’+A’C’D • Se os quadrados marcados com 0's são combinados conforme mostrado no diagrama, se obtém a função complementar simplificada: F’=(A’+B’)(C’D’)(B’+D) Figura 15: Mapa para F(A,B,C,D) = Σ(0,1,2,5,8,9,10) • O diagrama lógico das duas expressões simplificadas são mostrados na figura 16: Organização e Arquitetura de Computadores Eder Santana Freire 17 Figura 16: Diagramas lógicos com portas AND e OR • A expressão da soma de produtos é implementada na figura 16(a), com um grupo de portas AND, uma para cada termo AND. • As saídas das portas AND são conectadas às entradas de uma única porta OR. A mesma função é implementada na figura 16(b) na forma de produto das somas, com um grupo de portas OR, uma para cada termo OR, e as suas saídas são conectadas às entradas de uma única porta AND. • Em cada caso, pressupõe-se que as variáveis de entrada estão diretamente disponíveis nos seus complementos, logo inversores não estão inclusos. Figura 17: Diagramas lógicos com portas NAND e NOR 1.5.4 Condições Irrelevantes (don't care) • Nesta ocasião, não importa se a função produz um 0 ou 1 para um dado minitermo. • Quando esta condição ocorre, um X é usado no mapa para representar a condição de don't care. • Então, ao se efetuar a simplificação por mapa, um quadrado contendo um X pode ser usado em ambas aproximações Soma-de-Produtos e Produto-das-Somas. • Ao se escolher quadrados adjacentes para a função no mapa, pode se assumir que os x's possuem valor 0 ou 1, seja qual for retornará a expressão mais simples. • Além disso, um X não precisa ser usado na expressão, uma vez que o mesmo não contribui para a simplificação da função. • Em cada caso a escolha depende somente da simplificação que pode ser obtida. Como exemplo, considere as seguintes funções booleanas, juntamente com os minitermos don't Organização e Arquitetura de Computadores Eder Santana Freire 20 • Ele possui duas saídas, uma para o valor normal e outra para o complemento do bit que está armazenando. • Flip-flops são elementos de armazenamento utilizados em circuitos seqüenciais síncronos. • Circuitos seqüenciais síncronos empregam sinais que afetam elementos de armazenamento apenas em instâncias discretas de tempo. • Um dispositivo de temporização chamado gerador de pulso de clock, que produz uma sucessão periódica de pulsos de clock, é o elemento responsável pela sincronização. • Os valores mantidos pelos elementos de armazenamento podem mudar apenas por meio de pulsos de clock. • Assim, um flip-flop mantém um estado binário até que seja direcionado por um pulso de clock para alternar os estados. • A diferença dos tipos de flip-flops é o número de entradas e a maneira pela qual as entradas afetam o estado binário. • Flip-flops podem ser descritos por uma tabela de características que permuta todas as possíveis entradas (da mesma forma que uma tabela verdade). • A tabela de características de um flip-flop descreve todas as saídas possíveis (chamadas de próximo estado) no tempo Q(t + 1), a partir de todas as entradas possíveis e do estado atual no tempo Q(t). • Os tipos de flip-flop mais comuns são:  Flip-flops SR  Flip-flops D  Flip-flops JK  Flip-flops T Flip-Flop SR Entradas: • S (para set) • R (para reset) • C (para clock) Saídas: • Q • Q' Tabela 2: Características do flip-flop SR Organização e Arquitetura de Computadores Eder Santana Freire 21 • A operação do flip-flop SR se dá da seguinte forma: • Se não há sinal na entrada de clock C,a saída do circuito não pode mudar, independentemente dos valores nas entradas S e R. • Somente quando o sinal de clock muda de 0 para 1, a saída pode ser afetada de acordo com os valores nas entradas S e R. • Se S = 1 e R = 0 quando C muda de 0 para 1, a saída Q terá valor 1. • Se S = 0 e R = 1 quando C muda de 0 para 1, a saída Q terá valor 0. • Se ambos S e R possuem valor 0 durante a transição de clock, a saída não se modifica. • Quando ambas entradas S e R são iguais a 1, a saída é imprevisível e pode se tornar tanto 0 como 1, dependendo da temporização interna que ocorre dentro do circuito. Flip-Flop D Entradas: • D (para dados) • C (para clock) Saídas: • Q • Q' Tabela 3: Características do flip-flop D Flip-Flop JK Entradas: • J • K • C (para clock) Saídas: • Q • Q' Organização e Arquitetura de Computadores Eder Santana Freire 22 Tabela 4: Características do flip-flop JK Flip-Flop T Entradas: • T (para toggle) • C (para clock) Saídas: • Q • Q' Tabela 5: Características do flip-flop T • A maioria dos flip-flops é sensível à borda, o que significa que a transição de valores ocorre em um nível específico do pulso de clock. • Uma transição em borda positiva ocorre na borda de subida do sinal de clock. • Uma transição em borda negativa ocorre na borda de descida do sinal de clock. • Um outro tipo de flip-flop é o chamado flip-flop mestre-escravo, que consiste basicamente de dois flip-flops em série. • Os flip-flops também podem incluir terminais especiais de entrada para setar ou resetar (zerar) o flip-flop assincronamente. Estas entradas são normalmente chamadas de preset e clear e são úteis para inicializar os flip-flops antes que as operações de clock se iniciem. Tabelas de Excitação dos Flip-Flops • Durante o projeto de circuitos seqüenciais, a transição requerida do estado atual para o próximo estado é conhecida. • O que o projetista precisa saber é quais condições de entrada precisam existir para implementar o que é requerido. Organização e Arquitetura de Computadores Eder Santana Freire 25 2. Circuitos Integrados Este capítulo explica em detalhes as operações lógicas dos componentes digitais padrão mais comuns. Isto inclui decodificadores, registradores de multiplexadores, contadores e memórias. Estes componentes digitais são usados como blocos prontos para o projeto de unidades maiores, no capítulo seguinte. 2.1 Circuitos Integrados • Circuitos digitais são construídos a partir de circuitos integrados. • Um circuito integrado (CI) é um pequeno cristal semicondutor de silicone, chamado de chip, e contém os componentes eletrônicos necessários para as portas digitais. • As portas são interconectadas no interior do chip para formar o requerido circuito. • O chip é montado em um encapsulamento de cerâmica ou plástico, e fios finos de ouro fazem a ligação com os pinos externos, para formar as conexões soldadas do circuito integrado. • O número de pinos pode variar de 14 em um pequeno encapsulamento de CI para milhares em um grande encapsulamento. • À medida que a tecnologia evoluiu, o número de portas que podiam ser colocadas em um único chip aumentou consideravelmente. • Os chips são classificados nas seguintes categorias, primariamente baseadas no número de portas que cada uma contém. • Integração em pequena escala (Small-scale integration – SII) • Número de portas normalmente menor que 10. • Entradas e saídas tipicamente conectadas diretamente aos pinos. • Integração em média escala (Medium-scale integration – MSI) • Número de portas: entre 10 e 200. • Tipicamente executam funções digitais elementares específicas. • Exemplos: decodificadores, somadores, registradores • Integração em larga escala (Large Scale Integration - LSI) • Número de portas: entre 200 e alguns milhares • Sistemais digitais mais complexos • Exemplos: Processadores, chips de memória, módulos programáveis • Integração em larga escala (Very Large Scale Integration VLSI) • Número de portas: milhares • Sistemas digitais ainda mais complexos • Exemplos: grandes arranjos de memória, chips de microcomputador complexos • Circuitos integrados digitais são classificados não apenas pelas suas operações lógicas, mas também pela tecnologia específica do circuito (família de lógica digital) às quais eles pertencem. As famílias de lógica digital mais populares são: Organização e Arquitetura de Computadores Eder Santana Freire 26 • Lógica transistor-transistor (Transistor-transistor logic – TTL) • Família lógica amplamente utilizada • Utiliza transistores para implementar as portas • Lógica acoplada por emissor (Emitter-coupled logic – ECL) • Usada em sistemas de alta performance • Utiliza transistores especiais não-saturados para atingir velocidades muito altas • Semicondutor metal-óxido (Metal-oxide semiconductor – MOS) • Usada em circuitos que possuem alta densidade de componentes • Utiliza transistores unipolares • Semicondutor metal-óxido complementar (Complementary metal-oxide semiconductor – CMOS) • Também utilizada em circuitos que possuem alta densidade de componentes • Também utiliza transistores unipolares, mas os conecta em uma disposição complementar • Mais econômica que a MOS devido ao baixo consumo de potência 2.2 Decodificadores • Um código binário de n bits é capaz de representar até 2n elementos distintos em informação codificada. • Um decodificador é um circuito combinacional que converte informação binária das n entradas codificadas em um número máximo de 2n saídas distintas. Decodificador de 3-8 linhas • Se a informação codificada em n bits tem combinações de bits não utilizadas, o decodificador pode possuir menos do que 2n saídas. • Um decodificador de n-para-m linhas, onde m <= 2n, tem até m variáveis de saída para n variáveis de entrada. • Decodificadores tipicamente incluem uma ou mais entradas de habilitação (enable) para controlar (habilitar/desabilitar) a operação do circuito. Tabela 8: Tabela-verdade do decodificador 3-para-8 Organização e Arquitetura de Computadores Eder Santana Freire 27 A saída do decodificador 3-para-8 pode ser expressa pelas seguintes funções binárias: D0 = EA2'A1'A0' D1 = EA2'A1'A0 D2 = EA2'A1A0' D3 = EA2'A1A0 D4 = EA2A1'A0' D5 = EA2A1'A0 D6 = EA2A1A0' D7 = EA2A1A0 Deste modo, é possível construir o circuito do decodificador, da seguinte forma: Figura 20: Esquema do decodificador de 3 para 8 • Um decodificador também pode ser construído a partir das portas lógicas AND e NAND. • A figura 21 abaixo demonstra um decodificador de 2-para-4 construído com portas NAND: Figura 21: Decodificador 2-para-4 com portas NAND Organização e Arquitetura de Computadores Eder Santana Freire 30 Tabela 10: Tabela de função para um multiplexador 4-para-1 • Assim como os codificadores, os multiplexadores podem ter uma entrada de habilitação para controlar a operação da unidade. • Adicionalmente, multiplexadores podem ser agrupados entre si para executar tarefas de maior complexidade. • Também são chamados pela abreviação MUX (do inglês multiplexer), e são identificados pelo símbolo da figura 24: Figura 24: Esquema de um multiplexador de 2 entradas 2.5 Registradores • Um registrador é um grupo de flip-flops dispostos em conjunto, capazes de armazenar, cada um, 1 bit de informação. • Um registrador de n bits possui um grupo de n flip-flops e é capaz de armazenar qualquer informação binária de até n bits. • Adicionalmente aos flip-flops, os registradores podem possuir portas lógicas combinacionais que executam determinadas tarefas de processamento de dados. As portas controlam como e quando novas informações são transferidas para os registradores. • A transferência de novas informações para um registrador é conhecida como carga do registrador (register load). Se a carga ocorre simultaneamente a uma transição de pulso de clock comum, se dizer que a carga é feita em paralelo. • A entrada da carga em um registrador determina a ação a ser tomada a cada pulso de clock. • Quando a entrada de carga é 1, o dado nas linhas de entrada é transferido para os flip-flops do registrador. Quando a entrada de carga é 0, as entradas de dados são inibidas e o flip-flop mantém o seu estado atual. Organização e Arquitetura de Computadores Eder Santana Freire 31 2.6 Registradores de Deslocamento • Um registrador capaz de deslocar a sua informação binária em uma ou ambas direções é chamado de registrador de deslocamento. • Registradores de deslocamento são construídos conectando-se flip-flops em cascata, onde a saída de um flip-flop é conectada á entrada do flip-flop seguinte. • Todos os flip-flops recebem o mesmo pulso de clock, que inicia o deslocamento de um estágio para o próximo. • Um registrador de deslocamento com entrada serial possui uma única entrada externa (chamada de entrada serial), entrando no flip-flop mais externo. Cada flip-flop restante usa a saída do flip-flop anterior como sua entrada, com o último flip-flop produzindo a saída externa (chamada de saída serial). • Um registrador capaz de deslocar em apenas uma direção (somente da esquerda para a direita, ou da direita para a esquerda) é chamado de registrador de deslocamento unidirecional. • Já um registrador capaz de deslocar os dados em ambas as direções (esquerda ou direita) é chamado de registrador de deslocamento bidirecional. • De um modo geral, um registrador de deslocamento pode possuir os seguintes componentes: • Uma entrada para pulsos de clock para sincronizar todas as operações. • Uma operação de deslocamento à direita e uma linha de entrada serial associada ao deslocamento à direita. • Uma operação de deslocamento à esquerda e uma linha de entrada serial associada ao deslocamento à esquerda. • Uma operação de carga paralela e n linhas de entrada associadas à transferência paralela. • N linhas de saída paralelas. • Um controle de estado que permite que a informação no registrador fique intacta, mesmo quando pulsos de clock são aplicados continuamente. • Um controle de modo para determinar que tipo de operação realizar. • A figura 25 abaixo demonstra o esquema de um registrador de deslocamento básico. Figura 25: esquema básico de um registrador de deslocamento à direita Organização e Arquitetura de Computadores Eder Santana Freire 32 Tabela 11: Tabela de função para o modo de controle de um registrador de deslocamento 2.7 Contadores Binários • Um registrador que armazena uma seqüência predeterminada de estados a partir da aplicação de pulsos de entrada é chamado de contador. • Os pulsos de entrada podem ser pulsos de clock ou podem se originar em uma fonte externa. Eles podem ocorrer em períodos uniformes de tempo ou de forma aleatória. • Um contador que segue uma seqüência binária é chamado de contador binário. Um contador binário de n bits é um registrador com n flip-flops juntamente com um circuito combinacional que produz continuamente uma contagem binária de n bits, possuindo valores entre 0 e 2n-1. • De forma geral, um registrador contador binário possui as seguintes características: • Uma entrada para pulsos de clock para sincronizar todas as operações. • Uma operação de incremento que faz com que o registrador incremente o seu valor em 1. • Uma operação paralela de clear que seta todos os valores em flip-flops para 0. • Uma operação paralela de carga que seta todos os valores dos flip-flops de acordo com os valores das n linhas de entrada associadas à carga paralela. • N linhas de saída paralelas. • Um controle de estado que permite que a informação no registrador fique intacta, mesmo quando pulsos de clock são aplicados continuamente. Tabela 12: Tabela de função de um registrador contador binário 2.8 Unidade de Memória • Uma unidade de memória é uma coleção de células de armazenamento juntamente com circuitos associados, necessários para transferir informações de entrada e saída. Organização e Arquitetura de Computadores Eder Santana Freire 35 3. Unidade Central de Processamento 3.1 A CPU • A CPU é o ponto focal de um computador, guiando todas as ações que se desenvolvem no sistema. • A mesma contém uma unidade lógico-aritmética, ou ULA (Arithmetic and Logic Unit – ALU), para executar todas as adições, subtrações, operações lógicas, etc. • A ULA também contém diversos registradores, que funcionam como pequenas porções muito rápidas de memória, usadas para armazenar temporariamente os dados sendo utilizados pela mesma. • Contém toda a lógica de controle, para coordenar as ações entre todos os elementos da CPU, assim como os outros componentes de hardware do computador. • A CPU geralmente está contida inteiramente em um único circuito integrado (CI), ou chip. Figura 26: Esquema básico de uma CPU 3.2 Organização Geral dos Registradores • O conjunto de registradores em um computador está conectado à ULA através de barramentos e multiplexadores. • Uma palavra de controle de 14 bits especifica dois registradores de origem (SELA e SELB), um registrador de destino (SELD), e uma operação (OPR). Organização e Arquitetura de Computadores Eder Santana Freire 36 Figura 27: Conjunto de registradores com uma ULA comum Organização e Arquitetura de Computadores Eder Santana Freire 37 • Os registradores podem ser especificados usando três bits cada, conforme segue: Código Binário SELA SELB SELD 000 Entrada Entrada Nenhum 001 R1 R1 R1 010 R2 R2 R2 011 R3 R3 R3 100 R5 R5 R5 101 R5 R5 R5 110 R6 R6 R6 111 R7 R7 R7 Tabela 13: Codificação dos Registradores Os quatro bits restantes da palavra de controle podem ser usados para especificar as seguintes operações da ULA: Seleção de OPR Operação Símbolo 00000 Transfere A TSFA 00001 Incremento de A INCA 00010 Adiciona A + B ADD 00101 Subtrai A - B SUB 00110 Decrementa A DECA 01000 A AND B AND 01010 A OR B OR 01100 A XOR B XOR 01110 Complemento de A COMA 10000 Desloca A à direita SHRA 11000 Desloca A à esquerda SHLA Tabela 14: Operações da ULA São exemplos de micro-operações: • Uma palavra de controle de 14 bits é necessária para especificar uma micro operação da CPU. A palavra de controle para uma dada micro operação pode ser derivada das variáveis de seleção. Por exemplo, a micro operação de subtração dada pela declaração
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved