Hace 1 año | Por mr_b a fanael.github.io
Publicado hace 1 año por mr_b a fanael.github.io

Existe una idea generalizada de que los procesadores x86 modernos de alto rendimiento funcionan decodificando las instrucciones x86 complejas en instrucciones simples similares a RISC con las que opera en el resto de las etapas. Pero ¿qué tan cerca está esta idea de cómo funcionan realmente los procesadores internamente? Para responder a esta pregunta, analicemos cómo los diferentes procesadores x86, que van desde la primera microarquitectura Intel moderna, P6, hasta sus diseños actuales, manejan el siguiente bucle simple.

Comentarios

frankiegth

#0. Buen meneo. Coincido totalmente con el autor de este blog :

"...I'm Fanael Linithien, a programmer with strong low-level interests. I probably could tell you what micro-operations a given x86 instruction decodes to on any recent or older CPU if woken up in the middle of the night.

I don't really like any of the programming languages I've had the (mis)fortune of working with, of which there are many, as every extant language is inevitably flawed in multiple ways, in part due to working on similarly — if not moreso — flawed hardware; nevertheless, I do appreciate some of the ideas behind some languages, such as Lisp or Rust, if not the actual languages themselves
..."

"...Soy Fanael Linithien, un programador con un fuerte interes en la programación a bajo nivel. Probablemente podría explicarte qué microoperaciones decodifica una instrucción x86 determinada en cualquier CPU reciente o anterior si te despiertas en medio de la noche.

Realmente no me gusta ninguno de los lenguajes de programación con los que he tenido la (mala) fortuna de trabajar, de los cuales hay muchos, ya que todos los lenguajes existentes inevitablemente tienen fallas de múltiples maneras, en parte debido a trabajar de manera similar, si no más: hardware defectuoso; sin embargo, aprecio algunas de las ideas detrás de algunos lenguajes, como Lisp o Rust, si no los propios lenguajes
..."

https://fanael.github.io/pages/about.html

m

#1: Lo ha escrito mal, es así:
(((((((( Lisp ))))))))
Así se deberia escribir siempre.

El_pofesional

Existe una idea generalizada de que los procesadores x86 modernos de alto rendimiento funcionan decodificando las instrucciones x86 complejas en instrucciones simples similares a RISC con las que opera en el resto de las etapas.

Esta misma mañana lo comentábamos en el bar.

Cehona

#2 Aparece en el Marca, se refiere al lenguaje inclusivo.
Aunque Fanael prefiere otros lenguajes como Lisp o Rust.

m

#2: Si no me equivoco es así:

Hay dos tipos de procesadores y de instrucciones de código máquina: RISC y CISC.
Las primeras RISC son instrucciones muy simples y pequeñas en número (sumar, multiplicar, comparar y poco más). Las segundas, CISC (acuérdate de "cisco") son numerosas y más complejas. ¿Qué ocurre? Que antiguamente había mucha discusión sobre qué era mejor, entonces mientras tanto hubo unos procesadores que lo que hacían básicamente era convertir a nivel interno las instrucciones CISC en otras RISC más sencillas, con las que operaban, pero los últimos (Sandy Bridge, o sea, de algo más de 10 años para acá) no caen tampoco en ese modelo, porque a nivel interno tampoco es que sean tan simples.

Es lo que yo he entendido.