que instrucciones querrias?

la cosa no es andar juntando instrucciones que otros aconsejen, sino "dejar abierta la posibilidad" .
y cuando uno vea que en sus programas le es util tal cosa ahi la agrega.

como dice scooter por ejemplo.

o como dijeron mas arriba que lo que ya hay fue creado por expertos PERO claro, hay cosas que son inevitables:
un fabricante querra llegar a la mayor cantidad de clientes, algunos que programan haciendo muchas tablas, otros que ejecutan mucha comunicacion serie o usb o lo que sea.
quiero decir que una cosa es lo generico y otra es lo especializado.
y especializado hay tanto en electronica........

que es imposible pretender "un paquete de instrucciones optimas" .

mas correcto seria :
un paquete de instrucciones basicas.

y luego toda una gama de instrucciones especializadas que quien quiera usarlas por su especialidad , pues las aprende y las usa.

a mi los pic dicen que tienen u set de instrucciones reducido, pues que si uno quiere programa con 10 o 15 instrucciones y listo, o si quiere le saca el jugo a todas.
esto es lo mismo:

un set de instrucciones no reducido, sino muy amplio y cada vez mayor.
pero que esten separadas, :
set de instrucciones basico : 40
set de instrucciones orientadas a xxx (porno :LOL: )
set de instrucciones orientadas a yyy (otra cosa)
etc.
etc.

y que cada quien haga lo que se le cante.


AHORA BIEN , si eliminas el acumulador, el registro tal y demas cosas entonces queizas estes cambiando "la forma" en que se programara, y eso es hablar de el lenguaje.
y de eso por lo poco que se ya hay un monton de variedades de lenguajes.
que no solo usa cada uno sus instrucciones sino que ademas cambian la "filosofia" de como hacer el trabajo.

yo les digo una cosa:
el que sabe sabe.
pero el principiante termiona confundido con toda esta invasion de "creativos" que cada uno quiere hacer su lenguaje.
cuantas veces aca en el mismo foro se preguntan :
que me conviene aprender ?
asm ??
basic
C??
cual C ??
niple o no se que ....
o tantos otros que pupulan y segun dicen el unico conocimiento basico que necesitas es saber sonarse los mocos con un pañuelo ya te alcanza para programar .
.............
quienes saben, quienes programan en varios lenguajes les pregunto:
son estos incompletos o ineficientes ??
:


Volviendo al tema hace tiempo me hice un set de instrucciones extendido. Tan solo eran macros del ensambldor con las cosas que repetía mucho; salto si cero, si no cero, si mayor, si menor etc.
Cada macro eran unas pocas instrucciones.

esto no es suficiente para que uno mismo pueda expandir su set de instrucciones y modificarlo a gusto ???

la "filosofia " de los lenguajes existentees es torpe ??
acaso .
 
Última edición:
De la forma en que lo hice era para simplificar tareas repetitivas; se ajuntaba el archivo en la compilación y solo si "llamas" al macro ocupa memoria, si no lo haces no. Los "opcodes" ya estaban optimizados para ocupar lo mínimo y no "ensuciar" nada.
Son para el 8052 pero la idea es la misma.
Ejemplo, para cambiar el banco de registros hay que cambiar dos bits del registro de estado que no son consecutivos, así añadí "bank x" que sencillamente los ponían como era y no hay que acordarsede como van.
 
Última edición:
Bueno fernando, si queres mi opinion, a mi me parece ALUCINANTE (o alucinado) que alguien quiera crearse "su propio micro".

Crearse un lenguaje de programacion de alto o mediano nivel solo, puede ser o no una perdida de tiempo, pero lo puede hacer quien quiera y a veces, dependiendo de lo bueno del lenguaje, o de la moda, o de muchos otros factores, el lenguaje "prende". Asi paso con Basic, Pascal, Ada, Java, C y muchos otros, algunos hoy difuntos, otros agonizantes, otros muy vivitos y coleando.

Pero el lenguaje del microcontrolador en si no es algo que yo puedo "inventarme porque si". El lenguaje tiene que estar apoyado por la micro arquitectura del procesador. Diria con todo respeto, que antes de largarse a hacer algo asi, hay que aprender como funciona un microprocesador.

Hay microprocesadores que te permiten definir tus propias instrucciones. Un ejemplo que me viene a la mente son los procesadores QUICC y Power QUICC de lo que era Motorola Semiconductores, ahora Freescale. A pedido especial del cliente la firma Motorola escribia microcodigo con instrucciones especiales para aplicaciones especificas. Dos ejemplos que me acuerdo sobre eso eran microcodigo para señalizacion numero siete en telefonia (la base de los servicios de ISDN), y tambien aplicaciones especiales para la industria automotriz.

Ahora, una cosa es crear instrucciones nuevas y otra completamente distinta, e imposible, es inventarse registros internos si en la micro arquitectura no estan presentes de antemano.

SALVO que sea todo un ejercicio para aprender, en ese caso es absolutamente valido pero, nuevamente, entender que hay una diferencia abismal entre crear un compilador o un interpreter, con crear instrucciones para un micro, que precisan apoyo DE LOS FIERROS, de los transistores que estan adentro del micro.

Agrego como ultima salvedad que hoy en dia, con el auge de las FPGA, cualquiera puede inventarse REALMENTE su micro en VHDL o Verilog e implementarlo en la FPGA. Hay un libro que yo conozco que se trata exactamente de eso, Microprocessor Design por Enoch O. Hwang
 
Última edición:
Bueno fernando, si queres mi opinion, a mi me parece ALUCINANTE (o alucinado) que alguien quiera crearse "su propio micro".

No es tan raro.... se usa muy seguido en programacion de dispositivos FPGA, tambien es tema de investigacion en maestrias y doctorados....

De echo yo siempre quise especializarme en fabricacion de CIs... y tuve la posibilidad de entrar a la maestria, desafortunadamente no la pude cursar por problemas economicos.. :cry:
 
La gran mayoria de los casos que yo conozco en que se hacen aplicaciones para la industria y se necesita implementar un microprocesador en la FPGA se usa uno existente, por ejemplo, "soft cores¨ como el Nios en Altera, y ahora esta nuevamente de moda incluir en la FPGA un "hard core" (nada que ver con porno) como ser de procesadores ARM.

La razon por la que, en la industria, casi nadie se inventa procesadores es porque no se termina ahi, si te inventas un procesador tenes que inventar tambien sus herramientas, depuradores, compiladores y un largo etcetera. Y quien le pone el cascabel al gato?

Del mundo academico no opino, supongo que debe ser asi como decis, pero como no se, me callo.
 
Atrás
Arriba