Màquina de codi p

és una màquina virtual dissenyada per executar codi p.

En programació d'ordinadors, una màquina de codi p (màquina de codi portàtil [1]) és una màquina virtual dissenyada per executar codi p (el llenguatge ensamblador o codi màquina d'una hipotètica unitat de processament central (CPU)). Aquest terme s'aplica tant de manera genèrica a totes aquestes màquines (com ara la màquina virtual Java (JVM) i el codi precompilat MATLAB), com a implementacions específiques, la més famosa és la p-Machine del sistema Pascal-P, particularment la UCSD Pascal. implementació, entre els desenvolupadors de la qual, es va interpretar que la p del codi p significava pseudo més sovint que portable, per tant, un pseudocodi significava instruccions per a una pseudo-màquina.[2]

Tot i que el concepte es va implementar per primera vegada cap al 1966, com a codi O per al llenguatge de programació combinat bàsic (BCPL) i codi P per al llenguatge Euler, el terme codi p va aparèixer per primera vegada a principis de la dècada de 1970. Els dos primers compiladors que van generar codi p van ser el compilador Pascal-P el 1973, de Kesav V. Nori, Urs Ammann, Kathleen Jensen, Hans-Heinrich Nägeli i Christian Jacobi, i el compilador Pascal-S el 1975, per Niklaus Wirth.[3]

Els programes que s'han traduït al codi p poden ser interpretats per un programa de programari que emula el comportament de la CPU hipotètica, o bé traduïts al codi màquina de la CPU en què s'ha d'executar el programa i després executar-se. Si hi ha prou interès comercial, es pot construir una implementació de maquinari de l'especificació de la CPU (per exemple, el Pascal MicroEngine o una versió d'un processador Java).[4]

En comparació amb la traducció directa al codi màquina natiu, un enfocament en dues etapes que implica la traducció a codi p i l'execució mitjançant interpretació o compilació just-in-time (JIT) ofereix diversos avantatges:

  • És molt més fàcil escriure un petit intèrpret de codi p per a una màquina nova que modificar un compilador per generar codi natiu per a la mateixa màquina.
  • Generar codi màquina és una de les parts més complicades d'escriure un compilador. En comparació, generar el codi p és molt més fàcil perquè no s'ha de tenir en compte cap comportament dependent de la màquina a l'hora de generar el codi de bytes. Això fa que sigui útil per posar en funcionament un compilador ràpidament.
  • Com que p-code es basa en una màquina virtual ideal, un programa p-code sovint és molt més petit que el mateix programa traduït a codi màquina.
  • Quan s'interpreta el codi p, l'intèrpret pot aplicar comprovacions addicionals en temps d'execució que són difícils d'implementar amb el codi natiu.

Un dels desavantatges importants del codi p és la velocitat d'execució, que de vegades es pot solucionar mitjançant la compilació JIT. Sovint, el codi P també és més fàcil de fer enginyeria inversa que el codi natiu.

A la dècada de 1990, la traducció al codi p es va convertir en una estratègia popular per a implementacions de llenguatges com Python, Microsoft P-Code a Visual Basic i Java bytecode a Java.[5]

Referències

🔥 Top keywords: PortadaEspecial:CercaCarles Porta i GasetTor (Alins)À Punt FMTor (sèrie de televisió)Llista de municipis de CatalunyaEmilio Delgado OrgazEspecial:Canvis recentsGuinguetaXavlegbmaofffassssitimiwoamndutroabcwapwaeiippohfffXFacultat universitàriaManuel de Pedrolo i MolinaViquipèdia:ContacteBea Segura i FolchAlbert Jané i RieraNit de Sant JoanMort, qui t'ha mort?David Madí i CendrósCarles Puigdemont i CasamajóVila-sanaEwa PajorNicolás SartoriusAlinsAntoni Comín i OliveresGoogle ChromeClara Ponsatí i ObiolsPara-xocsDotze homes sense pietatValtònycLluís Puig i GordiAamer AnwarÈdafonLaura Borràs i CastanyerKylian MbappéPablo HasélFesta del sacrificiJosep Costa i RossellóDionís Guiteras i Rubio