Microprocessador 2

4

Click here to load reader

Transcript of Microprocessador 2

Page 1: Microprocessador 2

8/19/2019 Microprocessador 2

http://slidepdf.com/reader/full/microprocessador-2 1/4

Dentro de um microprocessador

Para entender o funcionamento de ummicroprocessador, vamos entender a lógicautilizada para se criar um. Neste processo, vocêtambém vai aprender um pouco de linguagemassembly (a língua nativa de ummicroprocessador) e muitas outras coisas que osengeneiros fazem para aumentar a velocidade docomputador.

!m microprocessador e"ecuta uma série deinstru#$es de m%quina que dizem a ele o que fazer. &s três fun#$es b%sicas de umprocessador s'o

• utilizando sua !& (!nidade ógica e &ritmética), o microprocessador podee"ecutar opera#$es matem%ticas como adi#'o, subtra#'o, multiplica#'o e divis'o.*s microprocessadores modernos contêm processadores de ponto flutuante quepodem e"ecutar opera#$es e"tremamente sofisticadas com n+mero grandesem pontos flutuantes

• um microprocessador pode mover dados de um endere#o de memória paraoutro

• um microprocessador pode tomar decis$es e desviar para um outro con-unto deinstru#$es baseado nestas decis$es.

* microprocessador pode fazer coisas muito complicadas, mas as três atividades citadasacima s'o as suas principais a#$es. * diagrama a seguir mostra um microprocessadore"tremamente simples que é capaz de fazer estas três coisas

oto cedida por /ntel 0orporation

Processador Intel Pentium 4

Page 2: Microprocessador 2

8/19/2019 Microprocessador 2

http://slidepdf.com/reader/full/microprocessador-2 2/4

1ste microprocessador simples possui

• um barramento de endereços (pode ser de 2, 34 ou 56 bits) que envia umendere#o para a memória

• um barramento de dados (pode ser de 2, 34 ou 56 bits) que envia e recebedados da memória

• uma lina RD (7ead ou eitura) e WR (8rite ou 1scrita) que diz 9 memória seela deve gravar ou ler o conte+do da posi#'o de memória endere#ada

• um sinal de clock que fornece uma seq:ência de pulsos de relógio para oprocessador

• um sinal de reset que reinicia o contador do programa para zero (ou outro valor)e recome#a a e"ecu#'o do programa.

;amos supor que os barramentos de endere#os e de dados tenam 2 bits neste e"emplo.*s componentes deste microprocessador simples s'o

• os registradores &, < e 0 s'o simples latces simples formados de flip=flops (paraobter mais informa#$es, consulte a se#'o sobre >latces disparados por borda>,em 0omo funciona a lógica booleana 

• o latc de endere#os é igual aos registradores &, < e 0•

o contador do programa é um latc com as abilidades e"tras de incrementar de3, quando solicitado e de ser zerado, quando solicitado• a !& pode ser um simples somador de 2 bits (para obter mais informa#$es,

consulte a se#'o sobre somadores em 0omo funciona a lógica booleana) ou podesomar, subtrair, multiplicar e dividir valores de 2 bits. ;amos supor que ela fa#aparte do segundo grupo

• oregistrador de teste é um latc especial que armazena valores dascompara#$es realizadas na !&. & !& pode comparar dois n+meros edeterminar se eles s'o iguais ou se um é maior do que o outro. * registrador de

Page 3: Microprocessador 2

8/19/2019 Microprocessador 2

http://slidepdf.com/reader/full/microprocessador-2 3/4

teste também pode armazenar um bit de carr? (carr?=out) do +ltimo est%gio dosomador. 1le armazena esses valores em flip=flops e o decodificador de instru#$espode usar os valores para tomar decis$es

• e"istem seis cai"as no diagrama com a indica#'o >5=state>. 1stes s'o os buffers

tri-state. !m buffer tri=state pode dei"ar passar 3, @ ou pode se desconectarda saída (imagine uma cave que se desconecta totalmente da lina de saída).

!m buffer tri=state permite m+ltiplas saídas conectadas a um fio, mas somenteuma delas leva 3 ou @ para a lina• o registrador de instru#'o e o decodificador de instru#'o s'o respons%veis pelo

controle de todos os outros componentes.

;ocê n'o vê neste diagrama, mas e"istem linas de controle do decodificador de instru#$esque

• mandam o registrador & colocar o seu valor atual no barramento de dados• mandam o registrador < colocar o seu valor atual no barramento de dados• mandam o registrador 0 armazenar o valor atual da s%ida da !&•

mandam o registrador de contador de programa colocar o valor atual nobarramento de dados• mandam o registrador de endere#os travar o seu valor atual no barramento de

dados• mandam o registrador de instru#'o colocar o seu valor atual no barramento de

dados• mandam o contador de programa incrementar• mandam o contador de programa resetar (ir para zero)• ativam qualquer um dos seis buffers tri=state (seis linas separadas)• informam a !& sobre qual opera#'o ela deve e"ecutar• mandam o registrador de teste armazenar os bits de teste da !&• ativam a lina 7A•

ativam a lina 87.Aentro do decodificador de instru#$es entram os bits do registrador de teste e do sinalde clocB line, além dos bits do registrador de instru#$es.

Memória RAM e RM & se#'o anterior falou sobre endere#amentos e barramentos de dados, assim como aslinas 7A e 87. 1sses barramentos e linas se conectam com as memórias 7&C e 7*C.No nosso microprocessador de e"emplo, nós temos um barramento de endere#os de 2 bitse um barramento de dados de 2 bits. /sso significa que o microprocessador pode endere#ar(62) 6D4 b?tes de memória e ler ou escrever 2 bits da memória por vez. ;amos supor queeste microprocessador simples tena 362 b?tes de 7*C que come#a no endere#o @ e 362b?tes de 7&C que come#a no endere#o 362.

Page 4: Microprocessador 2

8/19/2019 Microprocessador 2

http://slidepdf.com/reader/full/microprocessador-2 4/4

Memória RM

7*C significa memória apenas para leitura (read=onl? memor?). !m cip 7*C éprogramado com uma cole#'o permanente de b?tes pré=definidos. * barramento de

endere#amento diz ao cip 7*C qual b?te pegar e colocar no barramento da dados. Euando a lina 7A muda oestado, o cip 7*C apresenta o b?te selecionado aobarramento de dados.

7&C significa memória de acesso aleatório (random accessmemor?). & memória 7&C contém b?tes de informa#'o e omicroprocessador pode ler ou escrever nestes b?tes,dependendo da lina de comando utilizada 7A ou 87. !mdos problemas dos cips 7&C é que eles esquecem tudouma vez que a energia é desligada. F por isso que ocomputador precisa de 7*C.

Godos os computadores têm alguma memória 7*C, e é possível criar um computadorsimples que n'o tena memória 7&C. Cuitos microcontroladores fazem isso, colocando umpouco de memória 7&C no próprio cip do processador. Porém, é impossível criar umcomputador que n'o tena memória 7*C. 1m um P0, a memória 7*C é conecida como</*H (sistema b%sico de entradaIsaída). Euando um microprocessador come#a a funcionar,ele e"ecuta primeiro as instru#$es contidas na </*H. &s instru#$es da </*H realizam testesno ardJare e depois v'o para o disco rígido para buscar o boot sector  (para obter maisinforma#$es, consulte 0omo funcionam os discos rígidos). * boot sector é outro pequenoprograma e a </*H o armazena na 7&C depois de lê=lo no disco. * microprocessadorent'o come#a a e"ecutar as instru#$es do boot sector a partir da memória 7&C. *programa de boot sector manda o microprocessador copiar algo mais do disco rígido para amemória 7&C, que o microprocessador e"ecuta posteriormente. 1sta é a maneira pela qualo microprocessador carrega e e"ecuta todo o sistema operacional.

Memória RAM