Attribute clash en Spectrum

¿Tienes problemas con tu equipo?, preguntanos.

Moderador: Fundadores

Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Attribute clash en Spectrum

Mensaje por wilco2009 »

Es una cuestión de semántica y de lo que significa exactamente la palabra programar.

Realmente un programa se suele definir como una secuencia de acciones o instrucciones. Esto correspondería con los programas que utilizamos para programar un ordenador, pero sin embargo también llamamos programar a guardar información en una EPROM, que en realidad no tiene nada que ver con la acción correspondiente a un programa de ordenador.

Cuando "programamos" una EPROM únicamente "cortamos" fusibles de una matriz enorme de ellos. Lo que hagamos después con esa información es otra historia, ya que puede ser consultada como un programa para una CPU, o simplemente como un almacén de unos y ceros, o incluso como un chip lógico.

El concepto "programa" tal y como lo entendemos en una CPU es algo más abstracto y de nivel superior. La clave es que esa información la interpretamos como una secuencia de instrucciones de lo que tiene que hacer paso a paso dicha CPU.

Podríamos considerar una CPLD o una FPGA como una PLA muy gorda (salvando las distancias, claro está).
En una PLA (al igual que en una EPROM) también "programamos" el chip a base de "romper" fusibles, aunque en este caso el resultado no puede ser consultado por una CPU, sino que pasa a configurar un circuito lógico en el que no hay una secuencia de instrucciones sino una serie de puertas lógicas que implementan una función lógica determinada.

Un esquema muy básico de una PLA sería esta:
Captura.PNG
Es decir, tenemos una matriz de puertas lógicas, conectadas entre sí de fábrica.
Cuando programamos rompemos algunas de dichas conexiones, y el resultado es que el chip se comporta de la misma forma que si implementaramos dichas funciones con lo que llamamos "chips discretos" (aunque las PAL también lo son).

Como decía al principio, ¿podemos llamar a eso programar?, pues es una cuestión semántica, pero en lo que si que estaremos de acuerdo es en que programar un ordenador y programar una PLA/CPLD/FPGA son tareas radicalmente diferentes aunque podamos darles el mismo nombre. En un caso estamos hablando de secuencia de instrucciones y en el otro estamos hablando de funciones lógicas programadas eléctricamente.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
flopping
Fundador
Fundador
Mensajes: 9971
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Been thanked: 122 times
Contactar:

Re: Attribute clash en Spectrum

Mensaje por flopping »

La verdad es que si que es cuestion de semantica y quiza incluso los propios creadores de estos dispositivos, cometieran el error de llamarlos "programables", quiza hubiera sido mejor llamarlos "reconfigurables" o "moldeables" o cualquier otro termino menos "confuso", ya que si a un chip le decimos que es programable o que se puede programar y vemos que estas palabras derivan de programacion y como para programar "algo", hace falta un programa, pues eso, el error que cometemos, es que definimos programa como una secuencia de instrucciones y asi es en una CPU, ya que va correindo un programa para hacer cosas, ¿pero que ocurre en una pal, una gal, una eprom, una CPLD, etc...?, como ya habeis comentado no existe programa como tal, ya que no es una secuencia de instrucciones que el chip debe de ejecutar, entonces, si no hay programa, ¿por que se llaman programables?, pues por que la propia configuracion que le metemos al chip es el programa en si, es decir, la configuracion que le "cargamos" al chip, (mejor asi, que decir que le programamos), pues esa configuracion es el propio programa, que no es secuencial ni mucho menos, es la forma en la que el chip se debe de comportar y en su interior no hay ninguna secuencia que se este ejecutando, por eso se dice que estos chips no llevan programas, si no definiciones y es correcto, aunque como decia, el propio "codigo" binario que le estamos metiendo a ese chip es el programa en si, que SOLO se ejecutara una vez, para definir sus funciones internas y ya esta, ese "programa" se podra leer externamente o no, dependiendo de si esta protegido, con lo que al final, si que podemos sacar y meter un "programa" aunque sea de definicion de funciones o de comportamiento del chip.

Vamos que de todas formas todo esto no nos va a resolver nada, ya que son formas de llamar a lo mismo y existe bastante dualidad y confusion al respecto, por la idea de que para programar hay que tener un lenguaje de programacion y generar un programa, cuando una definicion de funciones, es tambien un programa y se manda en binario al chip, por lo que como decia, todos tenemos razon y no la tenemos, pero da igual como lo llamamemos, ya que creo que los conceptos estan mas que claros para todos, el que le digamos progarmacion o defincion, no es mas que como dice wilco semantica y ganas de marear las cosas, jajajajaajaja......

Que conste que no quiero llevar la contraria ni ucho menos, solo doy mi punto de vista y opinion, que no tiene por que ser la adecuada ni la acertada ni la verdadera, pero si leeis las definiciones y estructuras internas de estos chips, todos les llaman programables y que se programan, ¿con que?, pues con algun programa o con datos, esa parte creo que no la explican mucho, en fin, me ha gustado el tema, por lo menos las argumentaciones que se comentan, me parecen muy validas por ambos bandos, asi que LLAMARLOSCOMO QUERAIS, que el resultado no va a cambiar, al final tendremos un chip que hace las mismas funciones que otro.

Y respecto al atribute clash, que es de lo que inicialmente trataba el hilo, fue una consecuencia de abaratar los productos, no solo el spectrum lo sufria, aunque como ya hemos comentado, hay juegos y no precisamente actuales, que disimulaban bastante ese efecto, aunque basicamente era evitar que los objetos pasaran unos encima de otros y si lo hacian, metian mascaras y demas trucos de programacion, que no consumia muchos recursos y era bastante efectivo y no creo que hacer algo para evitarlo sea una cosa trivial, ya que habria que capturar las llamadas y secuencias de pantalla y recomponerlas o reestructurarlas en una zona de memoria mayor a los casi 7k que tenia el spectrum, alguien hablaba de 24K, esto es algo asi como 3,5 veces la memoria de pantalla inicial, hoy dia no hay problema en gastar memoria, pero si que habria que reescribir rutinas y meter direccionamientos y mas "trucos" para solventar ese problema, como decia, algo nada sencillo, aunque quien sabe, todo es proponerselo, jejejejeje......salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

Mi juego, que puedes descargar desde aqui
Avatar de Usuario
tacha Uruguay
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3144
Registrado: 04 Abr 2013, 20:22
Ubicación: Montevideo, Uruguay
Has thanked: 46 times
Been thanked: 32 times
Contactar:

Re: Attribute clash en Spectrum

Mensaje por tacha »

bo, dejen de discutir "la nada" y denme pelota XD
66 6C 6F 70 70 69 6E 67 20 6D 61 73 63 61 20 50 30 6C 6C 34 / 6D 61 73 20 63 6F 74 69 6C 6C 61 20 73 65 72 E1 73 20 74 75 20 49 7A 61 72 6F 20 3A 70
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Attribute clash en Spectrum

Mensaje por wilco2009 »

tacha escribió:bo, dejen de discutir "la nada" y denme pelota XD
La pelota es mia y ati no te la doy. :P :-*
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
flopping
Fundador
Fundador
Mensajes: 9971
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Been thanked: 122 times
Contactar:

Re: Attribute clash en Spectrum

Mensaje por flopping »

wilco2009 escribió:
tacha escribió:bo, dejen de discutir "la nada" y denme pelota XD
La pelota es mia y ati no te la doy. :P :-*
Tocate las pelotas y ya veras como te gusta, jajajaajja... :-* :-* :-* :-* :-* y atiende un poco, que igual aprendes algo y todo. B-) B-) B-) B-) B-) B-)
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

Mi juego, que puedes descargar desde aqui
Avatar de Usuario
Tromponauta
Aspirante a demonio
Aspirante a demonio
Mensajes: 448
Registrado: 20 Sep 2016, 01:14
Ubicación: Moratalaz
Contactar:

Re: Attribute clash en Spectrum

Mensaje por Tromponauta »

Las exégesis han sido todas muy interesantes, iba a meterme en el tema de la semántica que me parece es donde esta una de las claves del asunto, pero solo voy a decir al respecto que seguramente seria necesaria una nueva palabra para las FPGA al estilo de "Rehardwareable".

Una foto digitalizada de Eva Green tiene unos y ceros a cascoporro y dista mucho de ser un programa, lo mismo pasa con la receta de fabada de la abuela en un .txt

Yo digo que un programa con sus bucles, condiciones, saltos absolutos o relativos, variables, etc se puede hacer en un organigrama independientemente de la sintaxis del lenguaje a usar, de manera inversa un programa puede trasladarse desde su fuente a un organigrama y sigue siendo el mismo programa.

Bien ahora que sabemos como identificar lo que es un programa y lo que no, vamos con la prueba del algodón, se puede traducir una fuente de un core de una FPGA a un organigrama lógico con sus bucles, variables, condiciones, saltos, etc ?
Enviado desde mi ZX-Spectrum :D
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Attribute clash en Spectrum

Mensaje por wilco2009 »

Tromponauta escribió:Las exégesis han sido todas muy interesantes, iba a meterme en el tema de la semántica que me parece es donde esta una de las claves del asunto, pero solo voy a decir al respecto que seguramente seria necesaria una nueva palabra para las FPGA al estilo de "Rehardwareable".

Una foto digitalizada de Eva Green tiene unos y ceros a cascoporro y dista mucho de ser un programa, lo mismo pasa con la receta de fabada de la abuela en un .txt
Ahí discrepo. La receta de la fabada de la abuela, si está suficientemente especificada (aunque esto con las abuelas es complicado), sí que puede considerarse un programa. :P :D
Tromponauta escribió: Yo digo que un programa con sus bucles, condiciones, saltos absolutos o relativos, variables, etc se puede hacer en un organigrama independientemente de la sintaxis del lenguaje a usar, de manera inversa un programa puede trasladarse desde su fuente a un organigrama y sigue siendo el mismo programa.

Bien ahora que sabemos como identificar lo que es un programa y lo que no, vamos con la prueba del algodón, se puede traducir una fuente de un core de una FPGA a un organigrama lógico con sus bucles, variables, condiciones, saltos, etc ?
Yo creo que la clave es que seguimos sin ponernos de acuerdo en qué significa la palabra "programar", ya que se está utilizando tanto para definir una lista de instrucciones, como para definir una función lógica o configuración hardware.
Yo tengo mi opinión al respecto, pero lo cierto es que en el diccionario se permiten otra acepción que puede dar la razón a flopping, aunque para mi no es muy acertada.
Diccionario RAE escribió: PROGRAMAR
3. tr. Preparar ciertas máquinas o aparatos para que empiecen a funcionar en el momento y en la forma deseados.
Un core de una FPGA corresponde con una serie de ecuaciones lógicas, no con una lista de instrucciones (aunque el aspecto de un lenguaje descriptivo como el Verilog o el VHDL pueda llevarnos a confusión). Pero si tomamos la palabra programar por la acepción antes mencionada, encaja perfectamente en la descripción.

Sin embargo la palabra programa sí que va siempre enlazada a secuencia de instrucciones o de acciones, no encajando en dicha descripción una descripción de Verilog, VHDL o ABEL, ya que lo que representan no son acciones ni instrucciones, sino ecuaciones lógicas o matemáticas.
Diccionario RAE escribió: PROGRAMA
1. m. Edicto, bando o aviso público.
2. m. Previa declaración de lo que se piensa hacer en alguna materia u ocasión.
3. m. Tema que se da para un discurso, diseño, cuadro, etc.
4. m. Sistema y distribución de las materias de un curso o asignatura, que forman y publican los profesores encargados de explicarlas.
5. m. Anuncio o exposición de las partes de que se han de componer ciertos actos o espectáculos o de las condiciones a que han de sujetarse, reparto, etc.
6. m. Impreso que contiene el programa de un acto o espectáculo.
7. m. Proyecto ordenado de actividades.
8. m. Serie ordenada de operaciones necesarias para llevar a cabo un proyecto.
9. m. Cada una de las distintas unidades temáticas que constituyen una emisión de radio o de televisión. Va a comenzar el programa deportivo.
10. m. Serie de programas que constituyen una emisión de radio o de televisión.
11. m. Cada una de las operaciones que, en un orden determinado, ejecutan ciertas máquinas.
12. m. Conjunto unitario de instrucciones que permite a una computadora realizar funciones diversas, como el tratamiento de textos, el diseño de gráficos, la resolución de problemas matemáticos, el manejo de bancos de datos, etc.
13. m. coloq. Ec. y Ur. Relación amorosa furtiva y pasajera.
14. m. coloq. Ur. Cita amorosa.
15. m. coloq. Ur. Persona con quien se tienen relaciones sexuales pasajeras.
Última edición por wilco2009 el 20 Jun 2017, 13:39, editado 3 veces en total.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
Tromponauta
Aspirante a demonio
Aspirante a demonio
Mensajes: 448
Registrado: 20 Sep 2016, 01:14
Ubicación: Moratalaz
Contactar:

Re: RE: Re: Attribute clash en Spectrum

Mensaje por Tromponauta »

wilco2009 escribió:Ahí discrepo. La receta de la fabada de la abuela, si está suficientemente especificada (aunque esto con las abuelas es complicado), sí que puede considerarse un programa. Imagen :D
:-D Jajaja tenia que haber dejado solo el ejemplo de la foto, ahora que lo pienso de la receta de la abuela se podría hacer un organigrama lógico ergo también seria un programa ......

Menuda pillada Jajajaja.
Enviado desde mi ZX-Spectrum :D
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Attribute clash en Spectrum

Mensaje por wilco2009 »

Vaya, edité el mensaje anterior mientras contestabas
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
tacha Uruguay
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3144
Registrado: 04 Abr 2013, 20:22
Ubicación: Montevideo, Uruguay
Has thanked: 46 times
Been thanked: 32 times
Contactar:

Re: Attribute clash en Spectrum

Mensaje por tacha »

Imagen
66 6C 6F 70 70 69 6E 67 20 6D 61 73 63 61 20 50 30 6C 6C 34 / 6D 61 73 20 63 6F 74 69 6C 6C 61 20 73 65 72 E1 73 20 74 75 20 49 7A 61 72 6F 20 3A 70
Responder

Volver a “Consultas”