Você está na página 1de 4

Centro Universitrio do Estado do Par - CESUPA rea de Cincias Exatas e Tecnologia ACET Bacharelado em Cincia da Computao

Teoria da Computabilidade

Mquina Norma
Equipe: Ricardo Souza

Orientador: Prof. Otvio Noura

Belm 2013

Origem A Mquina Universal Norma (Number TheOretic Register Machine). Foi denominada e proposta por Richard Bird 1976. Esse modelo surgiu mais recentemente em comparao aos demais modelos, visto ter sido desenvolvido para ser uma representao aproximada dos computadores modernos.

O que ? uma mquina de registradores extremamente simples, de tal forma que parece difcil acreditar que o seu poder computacional , no mnimo, o de qualquer computador moderno. interessante pois distingue as noes de programa e mquina. Possui: um conjunto infinito de registradores naturais como memria; Trs instrues sobre cada registrador. a) adio do valor um; b) subtrao do valor um; c) teste se o valor armazenado zero.

Funcionalidade A mquina norma que contem infinitos registradores. Esse modelo leva em considerao uma mquina cuja memria estruturada em registradores. Segundo [2], foi criado com a finalidade de representar computadores modernos. Esse modelo se aproxima das mquinas reais, pois as operaes e testes so realizados considerando os contedos dos registradores especificados e no da memria como um todo.

Como funciona? A Mquina Norma uma 7-upla (suponha que K seja um registrador, K { A, B, , X, Y }): Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK }) a) Cada elemento do conjunto de valores de memria N denota uma configurao de seus infinitos registradores, os quais so denotados por: A, B, , X, Y Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK })

a) A funo de entrada: ent: N N tal que carrega no registrador denotado por X o valor de entrada, inicializando todos os demais registradores com zero; Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK }) b) A funo de sada: sai: N N tal que retorna o valor corrente do registrador denotado por Y. d) O conjunto de interpretaes de operaes uma famlia de operaes indexada pelos registradores, na qual, para cada registrador K { A, B, , X, Y }, tem-se que: adK: N N Adiciona um componente correspondente ao registrador K, deixando as demais com seus valores inalterados. (K:=K+1) Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK }) subK: N N Subtrai um da componente correspondente ao registrador K, se o seu valor for maior que zero (caso contrrio, mantm o valor zero), deixando as demais com seus valores inalterados. (K:=K-1)

Exemplos de aplicao (uso da mquina em aplicaes reais) A estrutura de memria de uma mquina de registradores composta por um nmero infinito de registradores que, diferentemente dos demais modelos, podem ser modificados independentemente. Esse modelo segue o padro da memria de acesso direto dos computadores eletrnicos modernos [2; 15]. Ainda, nas mquinas de registradores a noo de programa e mquina apresenta-se de forma dissociada. Mais precisamente, a funo programa definida para realizar uma computao forma um conjunto de instrues rotuladas, que operam sobre a estrutura de registradores. A estrutura de controle executa instrues nos registradores que podem armazenar um nmero inteiro arbitrariamente grande. Alm dos registradores, o modelo composto por quatro operaes bsicas: incremento, decremento, salto condicional e parada. Essas operaes podem ser utilizadas de

29 modos a compor as demais operaes necessrias para computaes mais complexas.

Como implementar/codificar? Seja o programa para uma Mquina NORMA PN = (R1,R2, {0, 1, 2, 3, 4, FIM},C) onde C = {(0, e1(X), 1), (1, z1, (4, 2)), (2, sub1, 3), (3, add2, 1), (4, s2, FIM), (FIM, ", ")} e a funo instr indicada pela rotulao das instrues de programa. O programa PN computa a funo identidade, ou seja, a funo id : N N tal que id(x) = x para todo x N. A leitura deste programa pode ser facilitada se o programa for reescrito utilizando uma notao mais intuitiva, semelhante utilizada em linguagens de programao de alto nvel. Assim, PN pode ser escrito como: 0: faa e1(X) v para 1 1: se z1 v para 4 seno v para 2 2: faa sub1 v para 3 3: faa add2 v para 1 4: faa s2 v para FIM FIM:

Referncias Bibliogrficas
Bird (1976, p. 50)

John E. Hopcroft, et. al., Introduo Teoria de Autmatos, Linguagens e Computao, Ed Campus 2002, traduo da segunda edio original de Vandenberg D. de Souza. Teoria da computao maquina norma. Disponvel em http:// http://www2.ufersa.edu.br/portal/view/uploads/setores/166/arquivos/CienciaComputa cao/M%C3%A1quina%20de%20Registradores%20-%20Norma.pdf visitado em novembro de 2013. Tiaraj A. Diverio,Paulo B. Menezes Teoria da Computao: Mquinas Universais e Computabilidade - Vol.5.

Você também pode gostar