Mostrando entradas con la etiqueta amd. Mostrar todas las entradas
Mostrando entradas con la etiqueta amd. Mostrar todas las entradas

jueves, abril 28, 2016

AMD SME/SEV: Cifrado de memoria en el microprocesador y máquinas virtuales

Una de las nuevas funciones que va a incluir AMD en su próxima microarquitectura (Zen) es la posibilidad de cifrar usando el algoritmo AES los datos antes de escribirlos en memoria con una clave que se generada dentro del chip. AMD ha publicado un artículo, AMD MEMORY ENCRYPTION donde se describe esta nueva funcionalidad así como una serie de parches para Linux que habilitan el cifrado

Cuando se activa el cifrado de memoria, existe un nuevo bit en las tablas que describen las páginas de memoria. Si ese bit está activo, cuando se escriban datos desde la CPU hacía la memoria física que describe ese marco de página, será cifrada internamente por la CPU y descifrada al leerla. El controlador de memoria integrado en la CPU es el encargado de gestionar el cifrado y descifrado de la misma. La clave de cifrado para AES es aleatoria y se genera en cada arranque de la CPU. Nunca es visible para los programas que ejecuta la CPU y se maneja desde el AMD Secure Processor, un procesador Cortex-A5 integrado en el SOC.Esta tecnología no sólo funciona con los accesos a RAM, sino que también puede usarse con los dispositivos que realizan transferencias DMA a la RAM del sistema.

Como puede verse, se necesita soporte desde el sistema operativo para que configure las tablas de páginas adecuadamente para usar el cifrado de memoria. Para los sistemas antiguos o que no tienen soporte para SME, AMD tiene un modo transparente que hace que todos los accesos a memorias sean cifrados y que puede activarse a través de la BIOS del sistema.

Este tipo de funcionalidad es útil en sistemas de virtualización, donde se quiere que las máquinas virtuales estén lo más aisladas posibles, y llegado el caso, se pueda parar ciertos ataques. Sin embargo, en un host donde se ejecutan varias máquinas virtuales bajo el control de un hipervisor, nada puede hacer que el administrador del hipervisor use sus privilegios para leer la RAM física de la máquina y por tanto obtener la información de las máquinas virtuales

Para esto AMD ha diseñado el sistema SEV: La idea es que las máquinas virtuales que corren bajo el hipervisor puedan verificar criptográficamente que están ejecutándose en un chip de AMD con estas funcionalidad y configurar el cifrado de memoria por ellas mismas,sin intervención del hipervisor, el cual no tiene acceso a ninguna de las claves de cifrado que usan las máquinas invitadas. Con este mecanismo se evita que un administrador poco honesto pueda aprovechar los privilegios del hipervisor para leer la memoria de las máquinas invitadas. Esto está implementado como una extensión a la arquitectura AMD-V

martes, febrero 10, 2009

AMD Phenom II en socket AM3

AMD acaba de presentar el Phenom II para platasforma AM3. Entre las novedades de este micro destacan:
  • Nuevo proceso de fabricación con longitudes de canal de 45 nm, lo que ha permitido casi doblar el n?mero de transistores respecto al Phenom y disminuir la superficie de la oblea. Mejoras en los procesos de fabricaci?n para disminuir las corrientes de fuga.
  • Interfaz Hypertranport 3.0
  • Controladores de memoria para soporte de DDR3 y DDR3.
  • Socket AM3, plataforma compatible con AM2+. Esta compatibilidad es en una sola dirección, es decir se puede poner un chip AM3 en una placa base AM2+, pero no al contrario.
Este micro se presenta en empaquetados con cuatro o tres cores, y el nombre que recibe el núcleo es Dened. Compentencia en el mundillo, y más barato que el Core i7. Veremos si puede volver a sacar a AMD de la senda gris en la que ha transitado en los últimos tiempos.

Jerarquía de memoria

El chip lleva una caché de nivel 1, 64Kb de datos + 64 kb de instrucciones, y una caché de nivel 2 de 512 Kb por núcleo, con una caché compartida L3 de 6 MB o 4 MB en función del modelo del procesador. El caché L3 es dos ciclos más rápido que el presente en el Phenom, aunque va a menor velocidad que el de éste. La versión para servidores de este microprocesador, Shangai, tiene una particular técnica que permite desactivar zonas del caché L3 en caso de que se detecten exceso de errores, para preservar la integridad de los datos.

Microarquitectura

AMD ha aumentado el tamaño de los buffet internos del micro, mejorado la predicción de saltos y optimizaciones en la ejecución de ciertas instrucciones respecto al Phenom. Mejoras en las instrucciones que usan LOCK. Hay una descripción muy interesante de toda la microarquitectura en AMD K10 Micro-Architecture, donde explican la arquitectura interna del K10, con detalle de todas sus unidades internas y esquemas que permiten seguir los pasos que da el microprocesador para ejecutar las instrucciones.La predicción de saltos se ha mejorado a través de una técnica que permite al micro entrenar situaciones repetidas para afinar a la hora de tomar la decisión de predecir un salto ("path-based indirect branch prediction"). El artículo de xbitlabs es muy extenso y descriptivo de la microarquitectura del micro.

Ahorro de energía

El nuevo micro implementa diversas técnicas para el ahorro de energía. Una de ellas es que si cualquiera de los núcleos se para, vuelca automáticamente las cachés L1 y L2 del núcleo en la caché L3, lo cual permite al núcleo bajar la velocidad aún más. Esta tecnología recibe el nombre de Smart Fetch.

Referencias

Technorati Tags: ,