Anda di halaman 1dari 8

Soluo - Exerccios Processadores 1- Qual as funes da Unidade Aritmtica e Lgica (ULA)?

A ULA o dispositivo da CPU que executa operaes tais como: Adio Subtrao Multiplicao Diviso Incremento Decremento Operao lgica AND Operao lgica OR Operao lgica XOR Operao complemento Deslocamento direita Deslocamento esquerda

Tais operaes podem utilizar dois operandos (adio, and, etc..) ou apenas um valor (como, por exemplo, as operaes de complemento ou deslocamento). A ULA um aglomerado de circuitos lgicos e componentes eletrnicos simples que, integrados, realizam as operaes mencionadas acima. Ela pode ser uma parte pequena da pastilha do processador, usada em pequenos sistemas, ou pode compreender um considervel conjunto de componentes lgicos de alta velocidade. A ULA responsvel por processar as operaes aritmticas e lgicas requeridas nas instrues de mquina (ver Figura 1)

Sada para Flags

Sada para registradores

ULA
Sinais de Controle enviados pela UC

Entradas de Registradores

Figura 1 As operaes matemticas mais comuns so adio, deslocamento, rotao e operaes lgicas realizadas sobre dois operandos e a de complemento sobre um operando. Outras operaes, como multiplicao, diviso, etc, podem ser executadas por meio de microprogramas, ou ainda, podem ser realizadas por outro processador interno, ou externo (co-processador). A ULA recebe um ou dois valores de entrada. Estes valores passam pelos

circuitos internos da ULA, de acordo com o sinal enviado pela UC e apresentam um resultado na sada da prpria ULA. De acordo com o resultado, a ULA envia sinais para o registrador de FLAG, informando o que ocorreu, como por exemplo, se o resultado igual a zero, se houve vai-um, etc. Na ULA, encontramos o circuitos somadores, subtratores, comparadores, registradores de deslocamento, etc., que variam de processador para processador. 2- Descreva as funes bsicas da Unidade Central de Processamento (UCP) componentes principais indicando os seus

O processador o componente principal de um sistema de computao. responsvel pela realizao das operaes de processamento e de controle, durante a execuo de um programa. Um programa para ser executado pelo processador deve ser formado por uma srie de instrues de mquina. Para iniciar a execuo de um programa, as instrues devem ser armazenadas na memria principal. A funo da UCP consiste em: a) Buscar uma instruo da memria (operao de leitura), uma de cada vez; b) Decodificar a instruo, para determinar o tipo de operao a ser realizada: soma, multiplicao, leitura ou escrita na memria, mover dados de um lugar para o outro, etc; c) Se as instrues utilizarem dados, busc-los onde estiverem armazenados para que a UCP possa process-los; d) Executar a operao com os dados e guardar o resultado, se houver, no local especificado; e) Reiniciar o processo, buscando a prxima instruo. Esta etapa consiste no ciclo de instruo. Este ciclo se repete at que seja encontrada alguma instruo de parada, ou o sistema seja desligado ou ocorra algum tipo de erro. A UCP projetada para executar sucessivamente, operaes bsicas, na seqncia definida pelo programa. As atividades realizadas pela CPU podem ser divididas em duas categorias: 1) Processamento 2) Controle A Figura 1 mostra o diagrama em blocos de uma UCP, contendo os componentes principais

Figura 1

Esta figura baseada em uma UCP simplificada, para facilitar a compreenso sobre o assunto. Um processador real como os microprocessadores Intel, possuem vrios elementos adicionais. O processamento responsvel pela realizao de atividades relacionadas com a execuo de uma operao. O controle diz respeito s atividades de busca, interpretao e controle da execuo das instrues, bem como o controle dos demais componentes do sistema de computao (memria, E/S). 3- Quais so as funes da Unidade de Controle de um processador? A rea de controle de uma UCP a parte que realiza as seguintes atividades: a) Busca de instruo que ser executada, armazenando-a em um registrador especialmente projetado para esta finalidade. b) Interpretao das aes que sero processadas durante a execuo da instruo. Por exemplo, se uma soma, um complemento, etc. c) Gerao dos sinais de controle apropriados para a execuo da instruo identificada. Sinais estes que so enviados aos diversos componentes do sistema, sejam eles internos ou externos. A parte de controle projetada para identificar o que deve ser feito, como deve ser feito e enviar os sinais apropriados para os dispositivos que sero utilizados, no tempo adequado. Unidade de Controle. Os dispositivos da UCP responsveis pelo controle so: Unidade de Controle (UC); Decodificador; Registrador de Instruo (IR) Contador de Instrues (PC) Relgio Registradores de Endereo (REM) e de dados (RDM).

A Unidade de Controle possui a circuitaria necessria para realizar a movimentao de dados e instrues de e para a UCP, enviando sinais de controle em instantes de tempo programado. Este dispositivo controla, por exemplo, qual operao ser executada pela ULA. Os sinais de controle enviados pela UC ocorrem em vrios instantes durante a realizao de um ciclo de instruo. 4- Quando se fala que um determinado computador de 8, 16, 32 ou 64 bits, a que est se referindo? Ao tamanho da palavra do processador, ou seja, o nmero de bits que o processador capaz de manipular. Isto diz respeito ao nmero de bits (tamanho) dos registradores internos, o tamanho em bits que a ULA capaz de processar, o tamanho do barramento de dados. 5- Considere um computador que possua uma UCP com o PC (ou CI) de 16 bits e IR (ou RI) de 38 bits. Suas instrues possuem dois operandos do mesmo tamanho (16 bits cada), alm do cdigo de operao. 5.1. Qual o tamanho da instruo? 5.2. Qual o tamanho do campo do cdigo de operao? 5.3. Considerando que a configurao bsica desta mquina de 16 K bytes de memria, at que tamanho pode esta memria ser expandida? 5.1. O tamanho da instruo igual ao tamanho do registrador de instruo, uma vez que este armazena a instruo que est sendo executada. Portanto, o tamanho da instruo de 38 bits. 5.2. Como a instruo tem tamanho de 38 bits e possuem dois operandos de 16 bits cada, o tamanho do cdigo de operao :

38 16 16 = 6 bits Instruo Cod. Oper 6 bits Operando 1 16 bits Operando 2 16 bits

5.3. O tamanho do registrador PC, que usado para apontar para a prxima instruo a ser executada tem tamanho de 16 bits. Com 16 bits, temos um total de 216 = 64K combinaes possveis que vai de 0 at 216 1, ou seja, de 0 a 64K 1. Portanto, podemos expandir a memria at 64K palavras. 6- Um computador tem uma REM de 16 bits e um barramento de dados de 20 bits. Possui instrues de 1 operando, todas do tamanho de uma palavra de memria e de mesmo tamanho da palavra do processador. Ele foi adquirido com uma placa de 4K de memria. 6.1. Qual o tamanho, em bits, do RDM e PC? 6.2. possvel aumentar a capacidade de armazenamento desta memria? At quanto? Por qu? 6.3. Qual a quantidade mxima de instrues de mquina que poderia existir neste computador? 6.1. Como o barramento de dados tem tamanho de 20 bits, o registrador RDM ter o mesmo tamanho, uma vez que este registrador faz a interface entre o processador e o barramento de dados. O registrador REM, usado para interconectar o processador ao barramento de endereo. Como REM possui 16 bits, o barramento de endereo tambm ter 16 bits. 6.2. Como o barramento de endereo tem 16 bits, podemos ter uma memria com 2 possvel aumentar a quantidade de palavras de memria at 64K.
16

= 64K palavras. Portanto

6.3. Supondo que o operando faa referncia endereos de memria, este deve ter tamanho de 16 bits. Como a instruo possui o mesmo tamanho da palavra de memria e palavra do processador, chegamos concluso que o tamanho da instruo de 20 bits. O tamanho do cdigo de operao dado por 20 16 = 4 bits. Com 4 bits, temos um total de 16 combinaes possveis e portanto, podemos ter no mximo um total de 16 instrues de mquina. 7- Um computador possui um conjunto de 128 instrues de um operando; supondo que sua memria tenha capacidade de armazenar 512 palavras e que cada instruo tem o tamanho de uma palavra do processador e palavra de memria, responda as perguntas a seguir: 7.1 Qual o tamanho em bits do REM, RDM, RI, ACC e PC? 7.2 Qual a capacidade da memria em bytes? 7.3 Se alterarmos o tamanho das instrues para 17 bits, mantendo inalterado o tamanho do REM, quantas novas instrues poderiam ser criadas?
9 7.1. Como a memria tem 512 palavras, ou seja, 2 palavras chegamos concluso que sero necessrias 9 linhas para enderear todas estas palavras de memria. Portanto o barramento de endereo e o REM so de 9 bits.

Ender (Binrio) 000000000 000000001 000000010 ... 111111111

Ender (Hexa) 000 001 002 ... 1FF

Ender (Decimal) 0 1 2 ... 511

Contedo

Com 512 palavras de memria, chegamos concluso que o operando dever ter um tamanho de 9 bits, para enderear qualquer posio (ou palavra) de memria. Como temos um conjunto de 128 instrues, necessitamos de Log 2 = 7 bits para o cdigo de operao. Portanto, o tamanho da instruo ser de 16 bits: 7 (para o cdigo de operao) mais 9 (para o operando).
128

Como o tamanho da instruo igual ao tamanho da palavra do processador e tamanho da palavra de memria, chegamos concluso que o barramento de dados, o RI, o ACC e o RDM tero tambm 16 bits. O tamanho do PC igual ao tamanho do barramento de endereo, ou seja, 9 bits. 7.2. O tamanho da palavra de memria de 16 bits, ou seja, 2 bytes. Temos, portanto, uma memria com 512 palavras de memria de 16 bits cada, ou 1024 palavras de memria de 8 bits (1 byte cada). 7.3. Neste caso, aumentaremos o tamanho do campo cdigo de operao de 7 para 8 bits, pois o operando permanece com o mesmo tamanho (9 bits). Com 8 bits temos um total de 28 = 256 combinaes possveis, ou seja, um total de 256 instrues. 8- Seria possvel realizar o projeto de um processador onde o tamanho em bits do PC fosse diferente do REM? Nesse caso, qual dos dois registradores deveria ter o maior tamanho? Por qu? Sim. Observe a arquitetura do 8086. Temos o IP (ou PC) com tamanho de 16 bits, que nos d no mximo 64K combinaes possveis. O REM e o Barramento de Dados so de 20 bits, que resulta em 220 = 1M palavras de memria. O 8086 utiliza dois registradores para compor o endereo de 20 bits: o registrador de segmento e o registrador offset, ambos com tamanho de 16 bits. O registrador que deveria ter o menor tamanho o PC, pois podemos combin-lo com outro registrador, para compor o endereo de 20 bits. 9- Considere um computador com 64K palavras de memria, instrues com um operando, tendo possibilidade de ter um conjunto com 256 instrues de mquina. Considerando que cada instruo tem o tamanho de uma palavra de memria, que do mesmo tamanho da palavra do processador, qual o tamanho, em bits, do ACC, PC e RDM? Qual o total de bits da memria? Com 64K palavras de memria, sero necessrias Log 2 = 16 linhas de endereo. Como temos um total de 258 instrues, precisamos de 8 bits para compor o cdigo de operao, lembrando que 28 = 256. dado que as instrues possuem um nico operando e este deve ter o mesmo tamanho do barramento de endereo, para referenciar todas as 64K palavras de memria. Portanto, a instruo ter 24 bits; 8 para o cdigo de operao e 16 para o operando.
64 K

A palavra de memria e a palavra do processador possuem o mesmo tamanho da instruo. Portanto o ACC e o RDM tero 24 bits, enquanto o PC ter 16 bits. O total de bits da memria dado por: nmero de palavras x tamanho da palavra: 64K x 24 = 1.572.864 bits 10- Considere as instrues definidas a seguir, todas elas com apenas um operando: Instruo LDA Op STA Op ADD Op SUB Op MUL Op DIV Op Significado ACC Op Op ACC ACC ACC + Op ACC ACC - Op ACC ACC * Op ACC ACC /Op

Obter a equao que resultou no programa descrito a seguir: 1: 2: 3: 4: 5: 6: 7: LDA ADD STA LDA MUL SUB STA A C X B D E Y

8: 9: 10: 11: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

LDA ADD DIV STA

X Y F X ACC = A+C X=A+C ACC = B * D ACC = B * D E Y=B*DE ACC = A + C ACC = X + Y = (A + C) + Y = (A + C ) + (B * D E) ACC = ((A + C) + (B * D E))/F X = ((A + C) + (B * D E))/F

ACC = A ACC = ACC + C X = ACC ACC = B ACC = ACC * D ACC = ACC E Y = ACC ACC = X ACC = ACC + Y ACC = ACC / F X = ACC

11- Utilizando as instrues descritas na tabela do exerccio 12, escreva os programas para as equaes a seguir: 11.1. X = A + (B*(C-A) + (D-E/B) * D) LDA SUB MUL STA LDA DIV STA LDA SUB MUL ADD ADD STA C A B T E B Y D Y D T A X

11.2. Y = A + B*(C-D*(E/(B-F)) + B) LDA SUB STA LDA DIV MUL STA LDA SUB ADD MUL ADD STA B F T E T D T C T B B A Y

12- Seja a memria a seguir: Endereo (em Hexa) Contedo

00 01 02 03 C6 C7 FE FF Valores iniciais: PC = 01H IR = 317H ACC = 20BH REM = B5H RDM = 65FH

1C6 4C7 2FE 1B7 1B6

M M

A instruo 1C6 = (0001 1100 0110)2. O cdigo de operao 0001 representa a instruo LDA OP. Portanto teremos a instruo: LDA C6, ou seja, ACC = [C6]. A prxima instruo: 4C7 = (0100 1100 0111)2. O cdigo de operao 0100 representa a instruo SUB OP. Portanto teremos a instruo: SUB C7, ou seja, ACC = ACC [C7]. A instruo 2FE = (0010 1111 1110)2. O cdigo de operao 0010 representa a instruo STR OP. Portanto temos a instruo STR FE: [FE] = ACC. O programa em Assembly dado por: LDA C6 SUB C7 STR FE O endereo da primeira instruo a ser executada est armazenado no registrador PC. Considerando os valores iniciais, a primeira instruo a ser executada est no endereo 01H, que 1C6. O valor contido em PC passado para o REM que em seguida, enviado para a memria, atravs do Barramento de Endereo. A memria ir decodificar este endereo e transferir para o processador, atravs do Barramento de Dados, o valor contido no endereo 01H. Este valor ser armazenado em RDM e em seguida transferido para o Registrador de Instruo (RI), para que possa ser decodificado e ento executado. Esta instruo ir armazenar no registrador ACC, o valor contido no endereo C6. Aps a decodificao desta instruo, ser realizada mais uma operao de leitura, para buscar o contedo do endereo C6 e armazen-lo em ACC. ACC = [C6] ACC = 1B7. De acordo com o ciclo de instruo, o valor do registrador PC incrementado, passando para 02H. O valor contido em PC (02H) ser transferido para o registrador REM para ento ser enviado para a memria. A memria ir decodificar este endereo e enviar para o processador o valor 4C7, que ser temporariamente armazenado em RDM e em seguida, transferido para o registrador RI. Esta instruo ser decodificada e uma nova operao de leitura ser realizada no endereo C7. O valor contido em C7 ser subtrado do valor do ACC. Portanto teremos: ACC = ACC [C7] ACC = 1B7H 1B6H ACC = 001H. O valor de PC incrementado, passando para 03H. Finalmente, a instruo STR FE, ir armazenar o valor contido em ACC no endereo FE. Para isso, o valor de PC novamente transferido para REM, que ser enviado para a memria. O valor contido no endereo 03H ser

enviado para o processador, sendo ento armazenado em RDM e em seguida transferido para o registrador RI. Ser feita uma operao de escrita no endereo FE. Valores recebidos pelos registradores durante a execuo do programa: PC = 01H, 02H, 03H, 04H IR = 317H, 1C6H, 4C7H, 2FEH, ACC = 20BH, 1B7H, (1B7H 1B6H = 001H), REM = B5H, 01H, C6H, 02H, C7H, 03H, FEH RDM = 65FH, 1C6H, 1B7H, 4C7H, 1B6H, 2FEH, 001H Memria aps a execuo das instrues: Endereo (em Hexa) 00 01 02 03 C6 C7 FE FF Contedo 1C6 4C7 2FE 1B7 1B6 001

M M

Anda mungkin juga menyukai