Jose Monteiro Licenciatura em Engenharia Informatica e de Computadores Departamento de Engenharia Informatica (DEI) Instituto Superior Tecnico 16 de Abril, 2009 Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 1 / 12 Sumario da Aula micro-operacoes sobre uma unidade de processamento unidade de controlo maquinas de estado especicacao uxograma diagrama de estados projecto maquinas de Mealy vs maquinas de Moore Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 2 / 12 Separacao entre Unidade de Controlo e Unidade de Processamento Unidade de controlo Unidade de processamento Entradas de controlo Operandos Resultados Palavra de controlo Bits de estado (flags) Sadas de controlo Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 3 / 12 Unidade de Processamento Banco de registos ULA Palavra de controlo Bits de estado Operandos Resultado k m n n n Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 4 / 12 Banco de Registos Banco de 8 registos A SelA Escrita SelB SelD D B n 3 3 3 n n Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 5 / 12 Tabela de Micro-operacoes da ULA S 4 S 3 S 2 S 1 S 0 Microoperacao 00000 R A + B soma 00001 R A B subtraccao 00010 R A + B + C soma com bit transporte 00011 R A B C subtraccao com transporte negado 00100 R A 1 decremento 00101 R A + 1 incremento 00110 R A C decremento, se C = 0 00111 R A + C incremento, se C = 1 01-00 R A complemento 01-01 R A B conjuncao 01-10 R A B disjuncao 01-11 R A B disjuncao exclusiva 10000 R shr A deslocamento logico `a direita 10001 R shl A deslocamento logico `a esquerda 10010 R shra A deslocamento aritmetico `a direita 10011 R shla A deslocamento aritmetico `a esquerda 10100 R ror A rotacao `a direita 10101 R rol A rotacao `a esquerda 10110 R rorc A rotacao `a direita com transporte 10111 R rolc A rotacao `a esquerda com transporte 11- - - R A transferencia Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 6 / 12 Exemplo: Maior Divisor Comum Pseudo-codigo: Maior Divisor Comum(X, Y) 1. enquanto (Y=0){ 2. se XY 3. entao X=X-Y 4. se nao, troca X com Y 5. } 6. resultado em X Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 7 / 12 Unidade de Processamento Dedicada n xMy Rx Ry A Ldx MUX 1 0 Sel n Ld Ld B A>=B A B A-B Ldy Zy Z n 0 1 RX>=Ry T1 Ry=0 inicio 0 1 fim 0 1 T0 Rx Rx-Ry Rx Ry Ry Rx Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 8 / 12 Unidade de Processamento Dedicada n xMy Rx Ry A Ldx MUX 1 0 Sel n Ld Ld B A>=B A B A-B Ldy Zy Z n 0 1 RX>=Ry T1 Ry=0 inicio 0 1 fim 0 1 T0 Rx Rx-Ry Rx Ry Ry Rx Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 8 / 12 Circuito Sequencial Sncrono combinatrio Realimentao primrias Circuito primrias Entradas Sadas R e g i s t o s CLK Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 9 / 12 Unidade de Controlo para Maior Divisor Comum xMy Ldx Ldy Zy D Q Q incio fim Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 10 / 12 Diagrama Temporal para Maior Divisor Comum Estado Incio Fim Rx Ry LDx LDy xMy Zy Clk T0 T1 T1 T1 T1 T1 T1 54 36 18 0 36 36 54 36 18 18 18 18 18 0 0 18 T0 T0 18 0 Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 11 / 12 Maquinas de Mealy vs Maquinas de Moore R e g i s t o s R e g i s t o s Entradas Sadas Entradas Sadas Lgica de gerao de sadas e do prximo estado Lgica do prximo estado de gerao de sadas Lgica CLK CLK Mquina de Moore Mquina de Mealy Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-16 12 / 12