¿Existe un límite?

uvege69

claramente esto para arriba!!! :P:P

zKoRp

Efectivamente ach3 ahora no se basan en una arquitectura en concreto si no que cogen lo mejor de cada una, por ejemplo, INTEL siempre todo tema CISC y demás, y ahora con el HyperThreading mete métodos de trabajo propios de RISC, pero la forma de cojer procesos sigue siendo CISC, es decir aunque no sea de una arquitectura pura y dura, hay que mirar en que se basa su forma de proceso, por ejemplo AMD es RISC, dicen que desde el K6 en eso no estoy totalmente de acuerdo, pero bueno discutir si fue en el K6 o en el K7 me parece irrelebante.

Lorth creo que preguntó antes sobre SUPERCONDUCTORES, bueno no confundir, con esos materiales no se puede hacer procesos, esos materiales lo que son materiales dopados y... ¿Qué son materiales dopados? Bien antes ya hemos dicho que en los semiconductores se dopa el silicio para conseguir efectos de conmutación (cambio de 0 a 1 en transistores), bien, pues podemos dopar otros materiales para que al bajar la temperatura baje su resistencia. Existen dos formas de comportamiento ante el calor NTC y PTC, NTC es coeficiente negativo y PTC es coeficiente positivo, aquí nos encontramos con un problema ya que la de negativo conduce más a bajas temperaturas y la de positivo a altas temperaturas, entonces... ¿cual cojer? bueno es discutible cual es mejor, aunque claramente se opta por las de efecto NTC, la razón es sencilla a priori es más facil calentar una PTC hasta los topes y hacer que mejore su conducción, pero la conducción masiva que es lo que provocamos genera calor inmenso por lo que ha esa temperatura hay que añadir el calor generado por el propio paso de electricidad, esto lo que hace es que este sistema se acabaría quemando, además de que los costes de mantenimiento serían terribles. Por eso se opto por las de efecto NTC porque consiguen mejor resultado, además de que mejoran la conductividad notablemente (bajan la resistencia) no tienen esos problemas, tienen otros, por ejemplo que hay que usar no se si es hidrogeno o nitrógeno líquido para enfriarlos, ahora no me acuerdo que usamos en practicas sorry :( pero en un material que se volatiliza facilmente.

Respecto el G5 es RISC a 64 bits, sobre eso tampoco me atrevo a profundizar demasiado porque no tengo mucha idea del funcionamiento interno de los MACs si os interesa y alguien me consigue componentes exactos os podría decir algo, pero así a bote pronto solo decirte que es RISC.

Salu2

PD: Este post me ha vuelto a enganchar a MV :D

S

Yo sólo sé assembler de Motorola 88110 (RISC), que consta de unas 40 instrucciones, a lo sumo 50 (incluídas de coma flotante). Empecé con IA-32 y andaban cerca de las 300 (sin contar las 3DNow y 3DNow2, que el manual de Intel no contempla). A la hora de programar en IA-32 se echan en falta registros (un P4 tiene 8 generales (32bit), 8 de MMX/FP (64bit) y 8 de SSE (128bit) contra 32 generales (32bit) en mc88110), y el direccionamiento indirecto le quita (mucha) legibilidad al código.

A todo esto, el mc88110 va a 50MHz y tiene 11 años, salió prácticamente a la vez que el Pentium I (que no había MMX ni SSE, vamos).

Yo creo que la diferencia está bien clara mientras no nos metamos en el funcionamiento interno de los procesadores (que por otro lado, según la definición de CISC/RISC debería ser irrelevante). Para trabajar a bajo nivel un RISC es menester, para programar un CISC es casi obligatorio hacerlo en un lenguaje de alto nivel.

zKoRp

Me he perdido tio :(, vamos a ver ¿Qué tiene que ve la programación orientada a una arquitectura, con la arquitectura base del sistema y su forma de captación de datos?
Yo de programación NPI, pero vamos lod e las arquitecturas eso lo puedo explicar a nivel interno, a nivel de programación orientada a una arquitectura o a un tipo de memoria eso ni idea.

S

El ensamblador son nemónicos con traducción directa a código máquina de cada procesador. Podemos decir que ensamblador = código máquina, sólo que vemos letras en lugar de unos y ceros :)

Dadas las definiciones de RISC y CISC (Reduced/Complex Instruction Set Computer), que sólo hacen referencia al tamaño del juego de instrucciones, se puede distinguir fácilmente entre CISC y RISC. El alto número de instrucciones de un CISC tiene ciertas implicaciones (menos registros direccionables, direccionamientos más complejos) a las que he hecho referencia, para intentar demostrar que la línea entre RISC y CISC no es tan difusa.

¿Qué tiene que ve la programación orientada a una arquitectura, con la arquitectura base del sistema y su forma de captación de datos?
La programación orientada a una arquitectura define si es CISC o RISC. No sé a qué te refieres con arquitectura base y con captación de datos.

m0rG

He leído que en máquinas CISC el compilador tiene que realizar menos trabajo que en las RISC ya que las instrucciones son de un nivel más alto ¿es cierto?

PD- No sé casi nada de programación

G

cierto, #66

zKoRp

#65
sobre compilación orientada a una arquitectura no te vo ya discutir, porque no tengo ni idea, se que se pueden compilar segun bits y arquitecturas y otras movidas, pero no se como va ni nada de eso, ya que digo yo me limito a lo fisico y a procesadores.

S

¿Compilación?

zKoRp

Compilación ---> compilar un programa :D Que por no saber de programación, no se ni como se dice, este año me toca aprender ASM y VHDL :D así que ya sufriré :D

Respecto arquitecturas creo que está el tema ya tratado, sería redundante meterse mas en esos temas.

Si a alguien le han quedado dudas que no se las quede y que pregunte lo que desee, pero por mi parte el tema de arquitecturas queda zanjado, si vamos a tocar otras cosillas, podríamos abrir un nuevo tema para organizar un poco, ya que creo que de cara a consulta estos post organizados vienen muy bien.

Salu2

kas

Best Post ever!

Yo soy programador, y sobre los ultimos post decir: QUe mas da lo que tarde un compilador en combertir el fuente en un ejecutable? Que taqrde lo que quiera lo que imporat es que ese ejecutable este bien exo, y sea rapido y coja pocos recursos.

Sobre lo demas, madre como se aprende ^^

zKoRp

kas yo eso pensaba que importa mas el tiempode ejecucion que de compilación, pero como yo soy electrónico, en eso no me meto.

Kas ahora aprovecho para preguntar sobre programación, así aprendo yo algo también.

¿Como orientas un programa a una arquitectura? Porque yo electronicamente si que se como se hace pero desde el punto de vista electrónico importa poco como este hecho el programa en cuanto a arquitectura, en cuanto a bits ya es otro tema.

¿Que ventajas tiene la programacion orientada hacia arquitectura? Porque solo s eme ocurre del tema de cargar mas o menos las memorias, lo demás lo ignoro...

Gracias. Salu2

kas

A ver, spera, por puntos:

1) A efectos practicos no tiene sentido hablar del tiempo de compilacion. Cualquier compilador actual tardara muy poco en convertir el fuente en un ejecutable. Que mas da al programador que tarde 1 minuto como que tarde 3? Si hablamos de grandes proyectos, se puede tirar horas, pero al fin y al cabo, es dejarlo toda la noche.

Pero en cambio, si importa que el programa tarde lo menos posible en hacer cada paso, y en cojer menos recursos. Ya que sera el programa el queusaran otras y posiblemente muchas personas cuyo tiempo de trabajo invertiran en ese programa, un tiempo pagado y que no hay que malgastar. Asi que podriamos decir que tanto des de el punto de vista "estetico" como "economico" lo importante siempre es el tiempo de respuesta en ejecucion.

2) A la hora de programar en ensamblador, es muy importatne saber que se esta tocando, y como hay que usarlo. No tiene nada que ver la programacion de alto nivel (vease visual basic, c, java, etc) con la programacion en assembler.

Francametne he tocado poco el mundo del assembler, pero por lo que he leido por aki encima que si CISC que si RISC, que si cubatas con las 2, puedo decirte que si hay que programar enassembler cada CPU lleva su juego de instrucciones y sus "trukillos".

Hay que tener en cuenta que si hablamos de grandes maquinas o servidores, SI hay que tener mas en cuenta que tipo de arquitectura usa un procesador, ya que hablamos de maquinas con mucha carga, para la cual habra que escojer el compilador mas adecuado. Pero a bote pronto, no creo que haya ningun programador tan loco como para empezar a buscar compiladores RISC para una CPU en concreto si hablamos de PC.

Si eres electronico a ti seguramente SI te interesara saber que tipo de arquitectura usan los micros que vas a usar, para a la hora de progrmarlos saber aprovechar mejor su potencia, y ganar rendimiento.. y que quede esteticamente bonito ^^

zKoRp

Hombre, la verdad la arquitectura no creas que importa mucho hasta el último momento, aun no he lleado a estudiar micros en profundidad pero por lo que tengo entendido, tu vas tabajando, vas trabjanad y a la hora de interacturas con el micro es ya dode te planteas una cosa u otra...

kas

Depende muxo del tipo de aplicacion que hagas, normalmente escojes entre compiladores para el que ams se adecue, si estas en alto nivel.

zKoRp

Ajam, por lo que veo pues, la electorncia es una infima parte de la arquitecura, digamos que la parte de programacion a bajo nivel es mas bien la que interactuando con una electrónica propensa a un tipo de arquitectura, la que la termina de definir par aentregarle así lso datos al procesador, el cual ya tiene FISICAMENTE la arquitectura definida... Es que lo de ASM no lo domino demasiado bien :(

Salu2

kas

Como hemos leido por aki arriva lo que hace variar de una arquitectura a otra, son el tipo de instrucciones: largas y comñlicadas o cortas y simples.

Solo con saber esto ya se ve que, si probablemente habra una manera de hacer un programa que consiga hacer lo mismo en ambas arq. pero que seguramente nunca funcaionara igual ni se podran comparar rendimientos entre la ejecucion de dixo programa en cada una de las arq. Pero lo mejor seria hacer el programa orientado a cada una de esas arq, puesto que las ventajas son obvias.

De todas maneras, actualmente hay varios tipos de aplicaciones: comerciales - windows -, empresariales -windows / Sistemas Unix - , servicios (win) / demons (Unix), chorradas de practicas de universidad (unix), orientadas a grandes computadoras, etc..

Todos aquellos tipos que esten pensados para correr sobre un SO capaz de correr sobre miles de componentes HW diferentes, NO podran ser orientados a una arq, ppalmente xq el SO estandarizara todo tipo de instrucciones, y los compiladores haran toda la faena.

Por otra parte, aquellas aplicaciones que correran sobre un SO que solo puede ser montado en un HW determinado, SI podran y es mas, deveran estar programadas orientadas hacia ese tipo de HW / arq, puesto que se tratara de plicaciones muy especificas donde se requiere un alto grado de rendimiento. Mucho mas alto que cualkier otra aplicacion para PC / workstation.