jueves, 2 de febrero de 2017

Intel Silvermont 22nm. Micro arquitectura. Etapas de Fetching – LowLevelHardware

En un artículo de ProfessionalSAT he hecho una introducción al nuevo procesador Atom Silvermont de 22 nm de Intel. Recomiendo la lectura de ese texto para estar familiarizado con algunos de los conceptos que son utilizados en el presente.

El mayor cambio en Silvermont respecto a los anteriores cores de la familia Atom es el cambio al procesamiento Out of Order (OoO) desde el primitivo concepto de ejecución In Order.

Ahora voy a describir, paso a paso, el pipeline de ejecución de Silvermont y las mejoras que aporta respecto a los antiguos cores (Bonnell 45 nm, Saltwell 32 nm).

Mejoras en las etapas de Fetch

Las etapas de fetching o carga de instrucciones son las primeras del pipeline de ejecución de cualquier procesador.

En Silvermont se ha llevado a cabo un rediseño profundo encaminado a alimentar adecuadamente de instrucciones a la nueva maquinaria de procesamiento out of Order.

Silvertmont_FetchFetch en Atom Silvermont 22 nm.

La predicción de saltos o Branch Prediction ha sido totalmente reconstruida de un modo distinto a los antiguos Atom. Se ha dividido en dos componentes independientes que actúan cada uno por separado y están situados en diferentes etapas del pipeline de procesamiento.

El primer componente es el Predictor de Fetching (Fetch Predictor). Es un Branch Target Buffer, un predictor de baja latencia y con una precisión elevada pero no extrema.

La unidad de Fetching carga cada ciclo 16 bytes de instrucciones desde la caché L1i con ayuda del L1 iTLB en los 6 Prefecth Buffers. Estos buffers aíslan las etapas de fetch de las posteriores etapas de decodificación X86 y así puede adelantarse a estas en el stream de instrucciones.

Si consideras útil el contenido de este Blog, ayuda a mantenerlo ojeando algunas de las ofertas que consideres interesantes de nuestros anunciantes. Gracias de antemano.

El que tenga dudas o aportaciones tiene para ello la sección de comentarios, intentaré responder a todos y con la máxima claridad. Los Blogs deben de ser lugares de intercambio y agradezco vuestro feedback.