SlideShare a Scribd company logo
1 of 7
Download to read offline
SISTEMAS OPERATIVOS, ABRIL 2013                                                                                         1




     ´
  Analisis de art´culos relacionados con el bufer
                 ı                           ´
             ´
 de traduccion anticipada (Translation Lookaside
                    Buffer,TLB)
                                           Alexander Pinchao
                                   Facultad de Ingenier´a en Sistemas
                                                       ı
                                                   ´
                                      Escuela Politecnica Nacional
                                         alexander.pinchao@gmail.com


     Resumen—
                          ´                                                                                  ´
     El bufer de traduccion anticipada de instrucciones o Translation Lookaside Buffer (TLB), es un cache de CPU
          ´
                                                 ´
     que emplea el hardware de administracion de memoria (MMU) para mejorar la velocidad de traduccion de       ´
     direcciones virtuales. Dada una direccion  ´ virtual, el procesador examina el bufer TLB. Si se encuentra la
                                                                                       ´
                             ´                                                            ´
     entrada de la tabla de pagina (hit), se lee el numero del marco y se forma la direccion real. Si no se encuentra
                                                     ´
                                  ´                                ´
     la entrada de la tabla de pagina (miss), el numero de la pagina se usa como ´ndice en la tabla de pagina
                                                      ´                                 ı                       ´
     del proceso. Actualmente lo mayor´a de los procesadores de computadoras utilizan un TLB para mapear
                                            ı
     espacios de direcciones f´sicas y virtuales. El TLB normalmente es implementado como una memoria de
                                ı
                                                          ´               ´
     contenido direccionadle (CAM).[1] Si la direccion requerida esta presente en el TLB, entonces el CAM
                     ´                                  ´ ı
     lo encuentra rapidamente y recibe la direccion f´sica que puede ser utilizada para acceder a memoria.
       ´                                  ´                                                               ´
     Basicamente el bufer de traduccion anticipada (TLB) contiene partes de la tabla de paginacion, es decir,
                        ´
     relaciones entre direcciones virtuales y reales. Posee un numero fijo de entradas y se utiliza para obtener
                                                                    ´
                ´ ´
     la traduccion rapida de direcciones.

                                  ´
     Index Terms— TLB, Cache , bufer de traduccion anticipada.

                                                           !




1.                ´
      I NTRODUCCI ON                                           temente en la memoria cache .


L   O s anteriores sistemas operativos con pe-
        ˜
    quenos espacios de memoria pod´an man-
                            ´
                                       ı
tener una tabla de traduccion en el hardware.
                                                               2.   A N ALISIS DE LOS ART´CULOS
                                                                        ´                I
                                                                 Un TLB es una estructura que almacena las
                                ˜
Sin embargo al crecer el tamano de las direc-                  entradas de la tabla de p´ ginas que se han usa-
                                                                                         a
ciones de memoria soportados por los sistemas                  do recientemente usadas en la traduccion de´
                                          ´
operativos actuales, la tabla de traduccion de                 las direcciones virtuales a f´sicas. Las TLB m´ s
                                                                                            ı                 a
memoria se debe de almacenar en el espacio                     actuales son implementadas en su mayor´a en  ı
de direcciones virtuales.[2] Esto quiere decir                 celdas RAM est´ ticas para datos, y contenido
                                                                                 a
                      ´
que para cada direccion virtual generada por el                direccionadle de memoria (CAMs) por etique-
procesador, se deben de realizar necesariamen-                 tas. Para mejorar el rendimiento de la energ´a ı
te dos accesos a memoria; uno para obtener                     en los TLBs se utilizan t´ cnicas tales como
                                                                                            e
    ´
el numero de p´ gina f´sica que le corresponde
                a       ı                                                   ´
                                                               reducir el numero de entradas, aplicar filtros o
a una p´ gina virtual y otro para acceder a
         a                                                     mecanismos de bloqueo del buffer o utilizando
           ´
la ubicacion del proceso en la memoria. Para                                                           ´
                                                               estructuras de banco, al reducir el numero de
reducir la inherente sobrecarga , el procesador                entradas tambi´ n se reduce el rendimiento ya
                                                                               e
                                             ´
mantiene las entradas de la tabla de paginacion                que provoca m´ s ingresos en la tabla los cuales
                                                                               a
(Page Table Entry, PTE), utilizadas mas recien-                deber´ n de realizarse en los mismos tiempos de
                                                                     a
SISTEMAS OPERATIVOS, ABRIL 2013                                                                           2


microprocesador , la estructura de banco con-         tener que cargar todos los accesos de la CAM,
sume menos energ´a que una estructura 100 %
                     ı                                y las operaciones de carga y descarga son las
asociativa porque solo la mitad de los ingresos       responsables de disipar la mayor parte de la
                   ´
a la CAM son busquedas en los accesos de la           energ´a para mantener este en los m´nimos, el
                                                            ı                                  ı
TLB, pero un inconveniente es la degradacion     ´          ˜
                                                      tamano de las cargas no debe de exceder los
del rendimiento cuando se produce la p´ rdidae        64bits al dividir esto en 4 sub-TLB se realiza
de un banco especifico. La estructura de TLB                   ´
                                                      una busqueda mas r´ pida de los datos ya
                                                                                 a
mostrada, apoya el bajo consumo de energ´a        ı                             ´
                                                      que se realiza una busqueda din´ mica.[4] La
                                                                                            a
para procesadores superficiales, utilizando un                   ´                  ´
                                                      reduccion de la disipacion de la potencia active
filtrado selectivo y mecanismos de banco para          es cada vez mas importante para las fuentes de
ofrecer un bajo consumo de energ´a trav´ s de
                                       ı       e      poder de los microprocesadores superficiales ,
un sencillo mecanismo de control v´a hardware
                                       ı                                           ´
                                                      Las t´ cnicas de reduccion aplicadas a los TLB
                                                            e
se puede tener acceso selectivo a los buffers         100 % asociativos as´ como otras estructuras
                                                                              ı
de banco o al banco principal solo con la             asociativas y archivos de registro din´ mico si-
                                                                                                 a
         ´           ´                   ´
utilizacion de la logica. La precision de este        mulaciones de PowerMill de la implementa-
m´ todo es de un 97 % con respecto al total
   e                                                    ´
                                                      cion de microprocesadores de 0.18 micrometros´
de direcciones generados por el CPU. Nuestra          , demuestran un 42 % de ahorro . La gestion        ´
                                 ˜
estructura divide los pequenos filtros en dos          de la unidad de memoria comprende una gran
menores y cuatro bancos principales para re-          parte de la energ´a utilizada por el microproce-
                                                                          ı
ducir el consumo de poder. [3] La tasa de fallo       sador , la mayor parte de esta energ´a se utiliza
                                                                                             ı
                                   ˜
en TLB tiende a ser muy pequena ya que cada           en los TLB(translation Lookaside buffers), Estos
entrada se refiere a una p´ gina de memoria. Sin
                           a                          circuitos son en esencia una ruta critica para la
embargo, un fallo de TLB se acompana de un ˜                          ´
                                                      sincronizacion, por lo que el ahorro de energ´a     ı
manejo a largo latencia, es decir, del orden de       no debe de obtenerse aumentando la demora
decenas a cientos de ciclos. Por lo tanto, un TLB     del circuito, Las caches de direcciones virtuales
completamente asociativo se suele utilizar para                                       ´ ı
                                                      no necesitan de una direccion f´sica para hacer
obtener tasas m´ s bajas de error. Pero un 100 %
                 a                                                      ´
                                                      una comparacion de cache, pero aun necesitan
de asociatividad es costoso en t´ rminos de
                                       e              los permisos determinados ,. Para determinar
consumo de energ´a, para reducir el consumo
                     ı                                la eficiencia del esquema se utilizaron 6 progra-
                       ´
de energ´a en relacion a un TLB asociativo, lo
          ı                                           mas de referencia al realizar la simulacion de ´
que se hace es proceder a dividir el TLB en sub-      la arquitectura, las p´ ginas de acceso se fueron
                                                                             a
TLBs, logrando reducir el consumo de energ´a      ı   registradas para medir el comportamiento del
sin afectar el rendimiento, Existe adem´ s la  a      acceso secuencial , se determino para cada
t´ cnica de micro filtros TLB que tiene un grado
 e                                                    programa el numero de acceso secuenciales
m´ s alto en la estructura jer´ rquica por encima
   a                            a                     , tal como se define el acceso a un ciclo N
de la TLB de nivel 1, en t´ rminos de consumo
                             e                        siendo el mismo acceso el que se genera en
de energ´a es mucho m´ s eficiente en el ahorro
          ı              a                            un ciclo N-1, La energ´a puede ser conservada
                                                                                ı
de energ´a, pero produce un mayor degradado
          ı                                                                 ´
                                                      mediante la deteccion de estos casos y as´ po-   ı
                                     ˜
del rendimiento. Se puede disenar TLB que                                       ´
                                                      der limitar la disipacion de la potencia en los
ayuden a reducir la energ´a que se consume en
                            ı                         accesos secuenciales a la misma p´ gina, si la
                                                                                             a
los procesadores superficiales , ayudados por                  ´
                                                      direccion de la MMU(unidad de gestion de       ´
mecanismos de filtrado y estructuras de bancos         memoria ), esta al comienzo de la pipeline,
, para lograr tiempos de acceso mas r´ pidos a                      ´
                                                      la direccion de la p´ gina virtual puede ser
                                                                               a
y bajos consumos energ´ ticos , la estructura
                           e                          comparada con la accedida con anterioridad,
de una TLBs totalmente asociativa excluye la          esto a su vez permite el paso discriminado en
                           ´
necesidad de cualquier logica de comparacion     ´    el relog de acceso lo que permite el ahorro
externa , pero su tiempo de ingreso es m´ s      a                                   ´
                                                      de energ´a. Una comparacion din´ mica acelera
                                                                  ı                       a
alto que en otras organizaciones , dado que                                            ´
                                                      la puerta cuando la generacion de direcciones
                              ´
la etiqueta de comparacion se lee al mismo            para cargas y generaciones, es decir una ruta de
tiempo que los datos en la SRAM, adem´ s de    a      la memoria de datos, la cual es una ruta de sin-
SISTEMAS OPERATIVOS, ABRIL 2013                                                                           3


           ´
cronizacion cr´tica, cuando la compuerta-reloj
                ı                                     TLB Los procesadores superficiales proporcio-
no es factible. Los m´ todos descritos permiten
                           e                          nan un soporte para los sistemas de memoria
el ahorro de energ´a en los accesos secuenciales
                      ı                                                                       ´
                                                      virtual gracias a unidades de gestion de me-
a la misma p´ gina, pero siempre se sugiere el
               a                                      moria (MMU), las cuales traducen las direc-
                         ´
uso de un menor numero de p´ ginas de mayor
                                     a                ciones virtuales a direcciones f´sicas. Adem´ s
                                                                                          ı              a
      ˜
tamano. A falta de tiempo para pre- comparar          los procesadores son usados ampliamente para
las direcciones de las paginas, la CAM parte          multimedia y aplicaciones de comunicacion, las ´
de las operaciones del TLB es inevitable .Sin         cuales requieren altas velocidades de c´ lculo,
                                                                                                    a
embargo, la energ´a puede ser ahorrada me-
                        ı                             uso de memoria y apoyo efectivo de la me-
                             ´
diante la determinacion del acceso secuencial         moria jer´ rquica, adem´ s de tomar en cuenta
                                                                   a             a
a una misma p´ gina despu´ s del acceso a la
                   a               e                  su consumo de energ´a para su diseno, La
                                                                                 ı                  ˜
CAM, Los errores se deben restablecer para                       ´
                                                      reduccion de consumo de potencia en la etapa
indicar que el procesador ha sido reiniciado en                                  ´
                                                      de desarrollo arquitectonico de las memorias
cada uno de los ciclos. Si el CAM genera una          provoca resultados m´ s significativos que otras
                                                                               a
coincidencia se compara el resultado anterior         t´ cnicas a nivel de circuito Un TLB es una
                                                       e
        ´
operacion de la CAM para cada entrada Los             estructura que almacena las entradas de la
principales consumidores de energ´a son las  ı        tabla de p´ ginas que se han usado recientemen-
                                                                   a
l´neas de descarga y las entradas diferenciales
 ı                                                                                 ´
                                                      te usadas en la traduccion de las direcciones
de las c´ lulas CAM. La c´ lula CAM compara
         e                       e                    virtuales a f´sicas. Las TLB m´ s actuales son
                                                                       ı                 a
los datos entrantes con el valor almacenado,          implementadas en su mayor´a en celdas RAM
                                                                                       ı
la descarga de un operador NOR genera una             est´ ticas para datos, y contenido direccionadle
                                                           a
   ˜
senal de error en el bit de poder ahorrado y se       de memoria (CAMs) por etiquetas.[2] Para
gana en rendimiento mediante la segmentacion     ´    mejorar el rendimiento de la energ´a en los
                                                                                                ı
de los nodos coincidentes y la combinacion       ´    TLBs se utilizan t´ cnicas tales como reducir
                                                                             e
de ellos a trav´ s de una puerta est´ tica para
                  e                          a               ´
                                                      el numero de entradas, aplicar filtros o me-
poner fin a cualquier operador AND.[5] El bit          canismos de bloqueo del buffer o utilizando
             ´
de validacion en cada entrada de la CAM se                                                      ´
                                                      estructuras de banco, al reducir el numero de
compara generalmente con un valor conocido            entradas tambi´ n se reduce el rendimiento ya
                                                                         e
                               ´
que obliga a una revision de errores de entrada       que provoca m´ s ingresos en la tabla los cuales
                                                                         a
no validados.Se representa un sistema de fil-          deber´ n de realizarse en los mismos tiempos de
                                                               a
tro de bancos para buffers de traduccion ade-  ´      microprocesador , la estructura de banco con-
lantada con bajo consumo para procesadores            sume menos energ´a que una estructura 100 %
                                                                             ı
superficiales, el objetivo del TLB es construir        asociativa porque solo la mitad de los ingresos
   ´
multiples bancos con dos pequenos buffers  ˜                               ´
                                                      a la CAM son busquedas en los accesos de la
llamados banco de filtros, que se encuentran           TLB, pero un inconveniente es la degradacion       ´
sobre el banco asociativo. Ya sea un banco de         del rendimiento cuando se produce la p´ rdida e
buffers de filtro, o un banco principal TLB            de un banco especifico. La estructura de TLB
puede tener acceso selectivo basado en los dos        mostrada, apoya el bajo consumo de energ´a          ı
bits que se encuentran en el buffers de banco         para procesadores superficiales, utilizando un
de filtros. El ahorro de energ´a se consigue
                                       ı              filtrado selectivo y mecanismos de banco para
                    ´
reduciendo el numero de acceso en un inter-           ofrecer un bajo consumo de energ´a trav´ s de
                                                                                            ı          e
valo de tiempo, mediante el uso del filtrado y         un sencillo mecanismo de control v´a hardware
                                                                                            ı
los mecanismos de banco. La sobrecarga de la          se puede tener acceso selectivo a los buffers de
TLB propuesta resulta ser insignificante si se         banco o al banco principal solo con la utiliza-
compara con otras estructuras jer´ rquicas. Los
                                         a               ´           ´               ´
                                                      cion de la logica. La precision de este m´ todo es
                                                                                                  e
resultados simulados muestran que la energ´a      ı   de un 97 % con respecto al total de direcciones
consumida puede reducirse alrededor de un             generados por el CPU. Nuestra estructura divi-
88 % comparado con una TLB completamente                               ˜
                                                      de los pequenos filtros en dos menores y cuatro
asociativa 75 % si se compara con una TLB de          bancos principales para reducir el consumo de
filtrado y un 51 % con un banco de filtrado de          poder. La tasa de fallo en TLB tiende a ser
SISTEMAS OPERATIVOS, ABRIL 2013                                                                     4


              ˜
muy pequena ya que cada entrada se refiere            Debe tenerse en cuenta que todas las paginas
a una p´ gina de memoria. Sin embargo, un
          a                                       con una PTE en el TLB se encuentran en la
                           ˜
fallo de TLB se acompana de un manejo a largo     memoria principal, la mayor´a de los sistemas
                                                                                    ı
latencia, es decir, del orden de decenas a cientosmantienen una separada TLB para datos e ins-
de ciclos. Por lo tanto, un TLB completamente     trucciones, con una TLB formando parte del
asociativo se suele utilizar para obtener tasas   procesador , la planificacion del trabajo es :
m´ s bajas de error.[1] Pero un 100 % de aso-
   a                                                  1. El programa solicita un numero de pagina
ciatividad es costoso en t´ rminos de consumo
                              e                            virtual
de energ´a, para reducir el consumo de energ´a
          ı                                      ı                             ´        ´
                                                      2. Realizar la operacion de busqueda en la
            ´
en relacion a un TLB asociativo, lo que se                 TLB
hace es proceder a dividir el TLB en sub-TLBs,        3. Si la PTE se encuentra en la TLB ir a 7
logrando reducir el consumo de energ´a sin  ı                          ´
                                                      4. Realizar la busqueda de la tabla de pagi-
afectar el rendimiento, Existe adem´ s la t´ cnica
                                     a      e              nas
de micro filtros TLB que tiene un grado m´ s     a     5. Si la pagina se encuentra en memoria ir a
alto en la estructura jer´ rquica por encima de
                            a                              7
la TLB de nivel 1, en t´ rminos de consumo de
                          e                           6. Realizar el informe de fallo de pagina
energ´a es mucho m´ s eficiente en el ahorro de
      ı                a                              7. Actualizar la TLB
energ´a, pero produce un mayor degradado del
      ı                                                                      ´
                                                      8. Generar la direccion fisica
                                     ˜
rendimiento.[6] El objetivo es disenar TLB que    [7] El TLB se usa para saber si existe una en-
ayuden a reducir la energ´a que se consume en
                              ı                                    ´
                                                  trada para el numero de p´ gina virtual (Virtual
                                                                                  a
los procesadores superficiales , ayudados por                                                ´
                                                  Page Number, VPN). De ser as´, el numero de
                                                                                      ı
mecanismos de filtrado y estructuras de bancos     la p´ gina f´sica es usado para generar la direc-
                                                        a        ı
, para lograr tiempos de acceso mas r´ pidos
                                           a         ´ ı
                                                  cion f´sica de la p´ gina. Si no existe una entrada
                                                                     a
y bajos consumos energ´ ticos , la estructura
                              e                   para la VPN, se busca en la tabla de p´ ginasa
de una TLBs totalmente asociativa excluye la      en la memoria principal, la tabla de p´ ginasa
                             ´
necesidad de cualquier logica de comparacion    ´ tendr´ una entrada (con un bit valido). En este
                                                          a
externa , pero su tiempo de ingreso es m´ s     a caso la TLB se actualiza con una entrada para
alto que en otras organizaciones , dado que                                             ´
                                                  la p´ gina nueva La actualizacion de TLB se
                                                         a
                                ´
la etiqueta de comparacion se lee al mismo        pude realizar tanto por hardware como por
tiempo que los datos en la SRAM, adem´ s de  a                                ´
                                                  software. La actualizacion de TLB necesita de
tener que cargar todos los accesos de la CAM,     una pol´tica de reemplazo, cuando el TLB se
                                                               ı
y las operaciones de carga y descarga son las                                             ´
                                                  encuentra lleno. Si la actualizacion se realiza
responsables de disipar la mayor parte de la      por software se pueden implementar distin-
energ´a para mantener este en los m´nimos, el
      ı                                ı                                        ´
                                                  tas pol´ticas de sustitucion, sin embargo si se
                                                             ı
      ˜
tamano de las cargas no debe de exceder los       realiza por hardware, la simplicidad toma una
64bits al dividir esto en 4 sub-TLB se realiza    importancia vital. T´picamente se utiliza una
                                                                         ı
        ´
una busqueda mas lapidad e los datos ya que       pol´tica aleatoria o pseudo-LRU (Least recently
                                                       ı
                  ´
se realiza una busqueda din´ mica a               used, menos usada recientemente) es utilizada.
                                                  Para reducir fallas en el TLB la mayor´a de   ı
                                                  sistemas usan un mapa completamente asocia-
2.1. Estructura                                                            ˜
                                                  tivo para TLB pequenas y un mapa conjunto
                    ˜
   La TLB es pequena y es parte del procesador,   asociativo para TLB grandes
t´picamente contiene entre 32 a 256 entradas,
 ı
cada elemento de la tlb contiene:                 2.2. Beneficios
     Un numero de pagina virtual                         Menor consumo de tiempo del procesador
     El numero correspondiente a la pagina               en la busqueda y carga de las paginas de
     f´sica
      ı                                                  memoria que an de ser usadas
     Varios bits de control incluidos los bits de        Menor consumo energetico por parte del
                                  ´
     referencia y los de validacion                      procesador.
SISTEMAS OPERATIVOS, ABRIL 2013                                                                             5


       Mejoran la tasa de aciertos de pagina,        puede reducir el consumo de energ´a eficaz-  ı
       cargando el numero de la pagina, para rea-                                       ´
                                                     mente mediante el uso de la logica de control
       lizar la respectiva traduccion a direccion    de hardware. La estructura tlb propuesta se en-
       de memoria memoria                            cuentra conformada por dos tlb completamente
       Al usar TLBs controladas por software, se     asociativas, una de las cuales realiza el acceso
       tendra siempre el uso de la herustica que                             e                ´
                                                     selectivo de los m´ todos de seleccion din´ mica   a
       generara el menor consumo y el menor          Esto muestra que en el chip el poder de con-
       numero de fallos luego del reemplazo de       sumo de la tlb propuesta logra reducir en un
       los valores del buffer                        42 % el consumo comparado con otras tlb com-
                          ´
       El bit de validacion en cada entrada de       pletamente asociativas con el mismo numero         ´
       la CAM se compara generalmente con un         de entradas. [3] Las t´ cnicas de bajo consumo
                                                                                e
       valor conocido que obliga a una revision´     para sistemas de memoria , pueden ser usados
       de errores de entrada no validados.                                        ˜
                                                     en cualquier nivel de diseno, esto incluyendo
                                                                ´                                 ´
                                                     la seleccion de algoritmos, la integracion de sis-
2.3.     Desventajas                                                 ˜
                                                     temas , diseno de la arquitectura , as´ como en
                                                                                                ı
       Si se utilizan TLBs controladas por Hard-     los niveles m´ s bajos incluyendo los circuitos
                                                                       a
       ware. Al llenarse el TLB se podria recurrir   de puerta de los circuitos y procesos , o de
       a una heuristica de reemplazo que podrian                   ´
                                                     optimizacion de los ingresos y los disenos de     ˜
       borrar losnumeros de paginas que se po-       los circuitos, Debido a que la mayor´a de lası
       drian usar en un futuro, perjudicando asi     estructuras tlb se construyen con tlb totalmente
       la tasa de acierto                            asociativas con celdas CAM, el consumo de
                                                     energ´a en los tlb varia. Linealmente depen-
                                                            ı
       [8] A falta de tiempo para pre- comparar
                                                     diendo del numero de ingresos .En los casos de
       las direcciones de las paginas, la CAM
                                                     los tipos Strong ARM y Strong ARM20T, la po-
       parte de las operaciones del TLB es inevi-
                                                     tencia disipada corresponde a 10 % o 17 % del
       table .Sin embargo, la energ´a puede ser
                                     ı
                                                     consumo de las mismas , aunque el tamano de          ˜
                                           ´
       ahorrada mediante la determinacion del
                                                                         ˜                ´
                                                     la tlb es pequeno en comparacion con la cache
       acceso secuencial a una misma p´ gina des-
                                        a
                                                                  ´
                                                     , su fraccion en el consumo de energ´a es muy
                                                                                                ı
       pu´ s del acceso a la CAM, Los errores
           e
                                                     elevado, En muchas aplicaciones en especial las
       se deben restablecer para indicar que el
                                                     port´ tiles el consumo de energ´a es mucho mas
                                                          a                           ı
       procesador ha sido reiniciado en cada uno
                                                     importante que el rendimiento, en otras colocar
       de los ciclos.
                                                     una micro-tlb sobre la jerarqu´a de las dem´ s,
                                                                                      ı                      a
       Dependiendo de la arquitectura de la TLB      resulta ser incre´blemente efectivo para reducir
                                                                           ı
                  ı                          ´
       esta podr´a generar una mayor emision de      el consumo, para instrucciones tlb de baja tasa
       calor , lo que perjudicar´a el rendimiento
                                ı                    de error , pero en el caso de tlb para datos,
       del procesador al encontrarse el TLB em-                      ˜
                                                     los desempenos se reducen, y esto produce una
       bebido.                                       importante p´ rdida de energ´a. Las otras tlb
                                                                       e              ı
       Al estar embebidos en la estructura del       estudiadas son celdas de memoria con redi-
       procesador, no se puede agrandar el ta-          ˜                              ´
                                                     senos, tales como la modificacion del las celdas
            ˜
       mano del TLB.                                                    ´
                                                     CAM, reduccion de voltaje, y optimizacion de        ´
                ´
       La gestion de la unidad de memoria com-       la estructura tlb. Nuestro objetivo es optimizar
       prende una gran parte de la energ´a uti-
                                           ı         las tlb usando mecanismos b´ sicos . As´ puede
                                                                                    a                ı
       lizada por el microprocesador , la mayor                                                     ´
                                                     lograrse un f´ cil control y construccion utili-
                                                                       a
       parte de esta energ´a se utiliza en los
                             ı                                                              ´
                                                     zando este m´ todo. En conclusion el sistema
                                                                       e
       TLB(translation Lookaside buffers),                    ˜
                                                     de diseno de tlb para estructuras de procesador
                                                     superficial Alto rendimiento y bajo consumo
2.4. Proyectos para mejorar las limitacio-           de energ´a son dos factores importantes para
                                                                ı
nes de los TLB                                                                 ˜
                                                     considerar en el diseno de muchos sistemas de
  Se propone una nueva estructura para los           circuitos superficiales . En esta investigacion se     ´
                            ´
para los buffers de traduccion adelantada que        propone un sistema de TLB nuevo que puede
SISTEMAS OPERATIVOS, ABRIL 2013                                                                          6


reducir el consumo de energ´a de manera eficaz
                               ı                          mediante el uso de una t´ cnica simplificada
                                                                                        e
mediante el uso de control de hardware simple.                  ´             ´
                                                          division arquitectonica que reduce el consumo
El sistema de TLB propuesto consta de dos                 de energ´a en el subsistema de memoria sin
                                                                   ı
TLBs completamente asociativas .A las cuales              comprometer el rendimiento. Esto se logra me-
se acede de manera en la que se a producido el                                  ´           ´
                                                          diante la disociacion de las busquedas de d-
siguiente acceso, para as´ lograr aprovechar de
                           ı                              TLB y los accesos de cach´ de datos, basado en
                                                                                      e
mejor modo la localidad temporal.De acuerdo               las regiones sem´ nticas de nido por lenguajes
                                                                             a
con los resultados de la mejor simulacion y       ´                       ´
                                                          de programacion y software, en subflujos de
an´ lisis de rendimiento, puede lograrse razo-
   a                                                      referencia discretas est´ ticas,. Sus comporta-
                                                                                    a
                                      ´
nablemente mejora en comparacion con las tlb                                                  ´
                                                          mientos acceso y caracter´sticas unicas de loca-
                                                                                      ı
convencionales totalmente asociativas con el              lidades son analizados y explotados. Nuestros
           ´
mismo numero de entradas. Y se demuestra                  resultados muestran que un promedio del 35 %
que en el chip el consumo de energ´a de la   ı            de energ´a se puede reducir en el d-TLB y la
                                                                   ı
TLB propuesta se puede reducir alrededor de               memoria cach´ . Adem´ s, un promedio de 46 %
                                                                        e         a
42 % comparando con la TLB convencional to-               se puede ahorrar de forma selectiva usando la
talmente asociativa con el mismo numero de´               conciencia sem´ ntica d-TLB y cach´ s de datos
                                                                          a                     e
entradas. [9] Ademas se presenta una resumida                              ´
                                                          contra sus homologos monol´ticos.
                                                                                          ı
conciencia sem´ ntica Multilateral (SAM) t´ cni-
                   a                              e
            ˜                          ´
ca de diseno efectiva en la reduccion del consu-
mo de energ´a en la memoria, incluyendo da-
                ı                                         2.5. Aplicaciones de los TLBs
taTLB y cach´ de datos con un impacto m´nimo
                e                              ı            Los TLBs, se encuentran enbebidos en el
en el rendimiento. Debido a las caracter´sticası          procesador de las computadoras, y son de uso
´
unicas de referencia de memoria, el enfoque               generalizado, ya que generan una gran reduc-
SAM reduce la energ´a din´ mica mediante la
                         ı     a                          cion en los consumos de energia y tiempo por
              ´
reorientacion de la mayor´a de accesos a la mu-
                             ı                            parte del procesador para obtener las paginas
                    ˜
cho m´ s pequena SA-TLB, (SAT) y SA-Cache
        a                                                 de memoria con las que ha de trabajar.
(SAC). Se ha encontrado que el numero de ´
entradas de la pila puede ser reducida a 2 para
cubrir casi todas las referencias de la pila. Se          3.             ´
                                                               C ONCLUSI ON
                    ˜           ´
discute un diseno de direccion de datos router                       ´
                                                             La gestion de la unidad de memoria com-
que divide cada acceso a la correspondiente               prende una gran parte de la energ´a utilizada
                                                                                              ı
SAT y SAC. Con esta t´ cnica, se demuestra
                             e                            por el microprocesador , la mayor parte de esta
que un promedio de 35 % de energ´a puede   ı              energ´a se utiliza en los TLB(translation Loo-
                                                                ı
ser reducido en el d-TLB y en la cach´ de         e       kaside buffers), Estos circuitos son en esencia
datos. El efecto de multi-porting SAT y SAC                                                     ´
                                                          una ruta critica para la sincronizacion, por lo
tambi´ n se investiga. Como los experimentos
       e                                                  que el ahorro de energ´a no debe de obtenerse
                                                                                  ı
                           ı         ´
indicaron, tanto la energ´a como area transistor          aumentando la demora del circuito, Las caches
se puede reducir sustancialmente en un 46 %               de direcciones virtuales no necesitan de una
y 41 %, respectivamente, por multipuerto solo       ´             ´
                                                          direccion f´sica para hacer una comparacion
                                                                      ı                                 ´
SAC y SAT en lugar de multi-puerto homologo      ´        de cache, pero aun necesitan los permisos de-
monol´tico. Esta t´ cnica es tambi´ n ortogonal al
        ı              e            e                     terminados . [2] Los accesos TLB presentan
anteriormente mencionados m´ todos de parti-
                                  e                       localidad espacial y temporal, lo cual es clave
  ´
cion vertical y horizontal . Esta t´ cnica se puede
                                   e                      para todo en las operaciones en cache. Los
implementar f´ cilmente en la parte superior del
                  a                                       accesos de memoria secuencial son a menudo
servicio de SAM para proporcionar un mayor                a las mismas p´ ginas, en especial las instruc-
                                                                          a
ahorro de energ´a. [10] El subsistema de me-
                      ı                                                        ´
                                                          ciones de recuperacion. El esquema b´ sico es
                                                                                                  a
moria, incluyendo traducciones de direcciones             para determinar si una p´ gina visitada en un
                                                                                     a
y cach´ accede, consume una parte importante
        e                                                 ciclo N es la misma p´ gina visitada en un ciclo
                                                                                a
de la energia en general en un procesador. Se             N-1, y si las acciones siguientes a la apertu-
aborda en la memoria el tema de la energ´a            ı   ra del gate son esencialmente las mismas, la
SISTEMAS OPERATIVOS, ABRIL 2013                                7


cantidad de accesos que pueden ser cerrados
depende cuanto se anticipe al acceso secuencial
                  ´
y su determinacion. Si el CAM genera una
coincidencia se compara el resultado anterior
        ´
operacion de la CAM para cada entrada Los
principales consumidores de energ´a son las
                                     ı
l´neas de descarga y las entradas diferenciales
 ı
de las c´ lulas CAM.
        e

R EFERENCIAS
[1] Dongrui Fan, Zhimin Tang, Hailin Huang, GuangR.
    Gao, An Energy Efficient TLB Design Methodology ,
    USA ACM, June 2005
[2] Chinnakrishnan S. Ballapuram, Hsien-Hsin S.
    Lee,Milos Prvulovic†, Synonymous Address Compac-
    tion for Energy Reduction in Data TLB, USA ACM,
    July 2010.
[3] Jung-Hoon Lee Yonsei Gi-Ho Park, Sung-Bae Park,
    Shin-Dug Kim, Yonsei University, Shinchon-dong, ,
    A selective filter-bank TLB system,        USA Springer,
    October 2011.
[4] Lawrence T. Clark ,Byungwoo Choi ,Michael Wilker-
    son Reducing Translation Lookaside Buffer Active Power
    , USA ACM, May 2009
[5] Reiley Jeyapaul ,Aviral Shrivastava, B2P2: Bounds
    Based Procedure Placement for Instruction TLB Power
    Reduction in Embedded Systems, USA ACM, February
    2010
[6] Yong Li, Rami Melhem, and Alex K. Jones, PS-
    TLB: Leveraging Page Classification Information for Fast,
    Scalable and Efficient Translation for Future CMPs, USA
    ACM, September 2010
[7] Nadav Amit, Muli Ben-Yehuda, Ben-Ami Yassour,
    IOMMU: Strategies for Mitigating the IOTLB Bottleneck,
    USA Springer, November 2009
[8] Sivarama Dandamudi, Fundamentals of computer or-
    ganization and desing, USA Springer Berlin Heidel-
    berg Hong Kong London Milan Paris Tokio 2009
                        ´
[9] Ruy Luiz Milidiu, Julio Cesar Duarte, C´cero No-
                                                   ı
    gueira dos Santos, Evolutionary TBL Template Genera-
    tion , USA Springer-Verlag Berlin Heidelberg 2011
[10] Reiley Jeyapaul · Aviral Shrivastava, Code Trans-
    formations for TLB Power Reduction , USA Springer-
    Verlag Berlin Heidelberg 2011 [3]

More Related Content

Similar to Sic414 ii-07.04.13-2

Diagrama de bloques de una computadora
Diagrama de bloques de una computadoraDiagrama de bloques de una computadora
Diagrama de bloques de una computadoravixtor
 
Que es la bios kim y erikaa
Que es la bios kim y erikaaQue es la bios kim y erikaa
Que es la bios kim y erikaaocampoerika1
 
Que es la bios kim y erikaa
Que es la bios kim y erikaaQue es la bios kim y erikaa
Que es la bios kim y erikaaocampoerika1
 
Registro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorRegistro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorAnderson Gutierrez
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria VirtualUCC
 
Arquitectura de la computadora power point juan
Arquitectura de la computadora power point juanArquitectura de la computadora power point juan
Arquitectura de la computadora power point juanjadpo
 
Capacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaCapacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaAndresMaica28
 
Herramientas del sistema
Herramientas del sistemaHerramientas del sistema
Herramientas del sistemamimecita
 
tema 3.3.1 y 3.3.2
tema 3.3.1 y 3.3.2tema 3.3.1 y 3.3.2
tema 3.3.1 y 3.3.2dianaYrubi
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoriasirfids
 

Similar to Sic414 ii-07.04.13-2 (20)

Estructuras de hardware y de control.
Estructuras de hardware y de control.Estructuras de hardware y de control.
Estructuras de hardware y de control.
 
Diagrama de bloques de una computadora
Diagrama de bloques de una computadoraDiagrama de bloques de una computadora
Diagrama de bloques de una computadora
 
Que es la bios kim y erikaa
Que es la bios kim y erikaaQue es la bios kim y erikaa
Que es la bios kim y erikaa
 
Que es la bios kim y erikaa
Que es la bios kim y erikaaQue es la bios kim y erikaa
Que es la bios kim y erikaa
 
Registro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorRegistro e intrucciones de microprocesador
Registro e intrucciones de microprocesador
 
13691765(1).ppt
13691765(1).ppt13691765(1).ppt
13691765(1).ppt
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Arquitectura de la computadora power point juan
Arquitectura de la computadora power point juanArquitectura de la computadora power point juan
Arquitectura de la computadora power point juan
 
Capacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaCapacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maica
 
Ec7
Ec7Ec7
Ec7
 
U1S2: El Microprocesador (Aspectos Generales)
U1S2:  El Microprocesador (Aspectos Generales)U1S2:  El Microprocesador (Aspectos Generales)
U1S2: El Microprocesador (Aspectos Generales)
 
Herramientas del sistema
Herramientas del sistemaHerramientas del sistema
Herramientas del sistema
 
Actividad 3
Actividad 3 Actividad 3
Actividad 3
 
Actividad 3 naye
Actividad 3 nayeActividad 3 naye
Actividad 3 naye
 
Memorias
MemoriasMemorias
Memorias
 
tema 3.3.1 y 3.3.2
tema 3.3.1 y 3.3.2tema 3.3.1 y 3.3.2
tema 3.3.1 y 3.3.2
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoria
 
memoria virtual
memoria virtualmemoria virtual
memoria virtual
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Arqui de comp
Arqui de  compArqui de  comp
Arqui de comp
 

More from Alex Pin

Configuracion de redes vlan
Configuracion de redes vlanConfiguracion de redes vlan
Configuracion de redes vlanAlex Pin
 
Agenda de Datos Personales en LISP
Agenda de Datos Personales en LISPAgenda de Datos Personales en LISP
Agenda de Datos Personales en LISPAlex Pin
 
ingeniera social
ingeniera socialingeniera social
ingeniera socialAlex Pin
 
Ingeniera social carlosbiscione
Ingeniera social carlosbiscioneIngeniera social carlosbiscione
Ingeniera social carlosbiscioneAlex Pin
 
programación en prolog
programación en prologprogramación en prolog
programación en prologAlex Pin
 
seguridad informática
seguridad informáticaseguridad informática
seguridad informáticaAlex Pin
 
Administración de sistemas linux
Administración de sistemas linuxAdministración de sistemas linux
Administración de sistemas linuxAlex Pin
 
Introducción a la_neuro_computación
Introducción a la_neuro_computaciónIntroducción a la_neuro_computación
Introducción a la_neuro_computaciónAlex Pin
 
Catedral y bazar una visión analítica de la técnica de desarrollo open source
Catedral y bazar una visión analítica de la técnica de desarrollo open source Catedral y bazar una visión analítica de la técnica de desarrollo open source
Catedral y bazar una visión analítica de la técnica de desarrollo open source Alex Pin
 
Analisis y-modelado-de-amenazas
Analisis y-modelado-de-amenazasAnalisis y-modelado-de-amenazas
Analisis y-modelado-de-amenazasAlex Pin
 
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Alex Pin
 
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRSDescripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRSAlex Pin
 
Trabajo symbian
Trabajo symbianTrabajo symbian
Trabajo symbianAlex Pin
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoiAlex Pin
 
manufactura inteligente
manufactura inteligentemanufactura inteligente
manufactura inteligenteAlex Pin
 
Arboles avl
Arboles avlArboles avl
Arboles avlAlex Pin
 
Tutorial perl en linux
Tutorial perl en linuxTutorial perl en linux
Tutorial perl en linuxAlex Pin
 
Informe minishell
Informe minishellInforme minishell
Informe minishellAlex Pin
 

More from Alex Pin (20)

Configuracion de redes vlan
Configuracion de redes vlanConfiguracion de redes vlan
Configuracion de redes vlan
 
Agenda de Datos Personales en LISP
Agenda de Datos Personales en LISPAgenda de Datos Personales en LISP
Agenda de Datos Personales en LISP
 
ingeniera social
ingeniera socialingeniera social
ingeniera social
 
Ingeniera social carlosbiscione
Ingeniera social carlosbiscioneIngeniera social carlosbiscione
Ingeniera social carlosbiscione
 
programación en prolog
programación en prologprogramación en prolog
programación en prolog
 
seguridad informática
seguridad informáticaseguridad informática
seguridad informática
 
Administración de sistemas linux
Administración de sistemas linuxAdministración de sistemas linux
Administración de sistemas linux
 
LISP
LISP LISP
LISP
 
Introducción a la_neuro_computación
Introducción a la_neuro_computaciónIntroducción a la_neuro_computación
Introducción a la_neuro_computación
 
Catedral y bazar una visión analítica de la técnica de desarrollo open source
Catedral y bazar una visión analítica de la técnica de desarrollo open source Catedral y bazar una visión analítica de la técnica de desarrollo open source
Catedral y bazar una visión analítica de la técnica de desarrollo open source
 
Analisis y-modelado-de-amenazas
Analisis y-modelado-de-amenazasAnalisis y-modelado-de-amenazas
Analisis y-modelado-de-amenazas
 
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
 
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRSDescripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
 
Trabajo symbian
Trabajo symbianTrabajo symbian
Trabajo symbian
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
manufactura inteligente
manufactura inteligentemanufactura inteligente
manufactura inteligente
 
Arboles avl
Arboles avlArboles avl
Arboles avl
 
NASM
NASM NASM
NASM
 
Tutorial perl en linux
Tutorial perl en linuxTutorial perl en linux
Tutorial perl en linux
 
Informe minishell
Informe minishellInforme minishell
Informe minishell
 

Sic414 ii-07.04.13-2

  • 1. SISTEMAS OPERATIVOS, ABRIL 2013 1 ´ Analisis de art´culos relacionados con el bufer ı ´ ´ de traduccion anticipada (Translation Lookaside Buffer,TLB) Alexander Pinchao Facultad de Ingenier´a en Sistemas ı ´ Escuela Politecnica Nacional alexander.pinchao@gmail.com Resumen— ´ ´ El bufer de traduccion anticipada de instrucciones o Translation Lookaside Buffer (TLB), es un cache de CPU ´ ´ que emplea el hardware de administracion de memoria (MMU) para mejorar la velocidad de traduccion de ´ direcciones virtuales. Dada una direccion ´ virtual, el procesador examina el bufer TLB. Si se encuentra la ´ ´ ´ entrada de la tabla de pagina (hit), se lee el numero del marco y se forma la direccion real. Si no se encuentra ´ ´ ´ la entrada de la tabla de pagina (miss), el numero de la pagina se usa como ´ndice en la tabla de pagina ´ ı ´ del proceso. Actualmente lo mayor´a de los procesadores de computadoras utilizan un TLB para mapear ı espacios de direcciones f´sicas y virtuales. El TLB normalmente es implementado como una memoria de ı ´ ´ contenido direccionadle (CAM).[1] Si la direccion requerida esta presente en el TLB, entonces el CAM ´ ´ ı lo encuentra rapidamente y recibe la direccion f´sica que puede ser utilizada para acceder a memoria. ´ ´ ´ Basicamente el bufer de traduccion anticipada (TLB) contiene partes de la tabla de paginacion, es decir, ´ relaciones entre direcciones virtuales y reales. Posee un numero fijo de entradas y se utiliza para obtener ´ ´ ´ la traduccion rapida de direcciones. ´ Index Terms— TLB, Cache , bufer de traduccion anticipada. ! 1. ´ I NTRODUCCI ON temente en la memoria cache . L O s anteriores sistemas operativos con pe- ˜ quenos espacios de memoria pod´an man- ´ ı tener una tabla de traduccion en el hardware. 2. A N ALISIS DE LOS ART´CULOS ´ I Un TLB es una estructura que almacena las ˜ Sin embargo al crecer el tamano de las direc- entradas de la tabla de p´ ginas que se han usa- a ciones de memoria soportados por los sistemas do recientemente usadas en la traduccion de´ ´ operativos actuales, la tabla de traduccion de las direcciones virtuales a f´sicas. Las TLB m´ s ı a memoria se debe de almacenar en el espacio actuales son implementadas en su mayor´a en ı de direcciones virtuales.[2] Esto quiere decir celdas RAM est´ ticas para datos, y contenido a ´ que para cada direccion virtual generada por el direccionadle de memoria (CAMs) por etique- procesador, se deben de realizar necesariamen- tas. Para mejorar el rendimiento de la energ´a ı te dos accesos a memoria; uno para obtener en los TLBs se utilizan t´ cnicas tales como e ´ el numero de p´ gina f´sica que le corresponde a ı ´ reducir el numero de entradas, aplicar filtros o a una p´ gina virtual y otro para acceder a a mecanismos de bloqueo del buffer o utilizando ´ la ubicacion del proceso en la memoria. Para ´ estructuras de banco, al reducir el numero de reducir la inherente sobrecarga , el procesador entradas tambi´ n se reduce el rendimiento ya e ´ mantiene las entradas de la tabla de paginacion que provoca m´ s ingresos en la tabla los cuales a (Page Table Entry, PTE), utilizadas mas recien- deber´ n de realizarse en los mismos tiempos de a
  • 2. SISTEMAS OPERATIVOS, ABRIL 2013 2 microprocesador , la estructura de banco con- tener que cargar todos los accesos de la CAM, sume menos energ´a que una estructura 100 % ı y las operaciones de carga y descarga son las asociativa porque solo la mitad de los ingresos responsables de disipar la mayor parte de la ´ a la CAM son busquedas en los accesos de la energ´a para mantener este en los m´nimos, el ı ı TLB, pero un inconveniente es la degradacion ´ ˜ tamano de las cargas no debe de exceder los del rendimiento cuando se produce la p´ rdidae 64bits al dividir esto en 4 sub-TLB se realiza de un banco especifico. La estructura de TLB ´ una busqueda mas r´ pida de los datos ya a mostrada, apoya el bajo consumo de energ´a ı ´ que se realiza una busqueda din´ mica.[4] La a para procesadores superficiales, utilizando un ´ ´ reduccion de la disipacion de la potencia active filtrado selectivo y mecanismos de banco para es cada vez mas importante para las fuentes de ofrecer un bajo consumo de energ´a trav´ s de ı e poder de los microprocesadores superficiales , un sencillo mecanismo de control v´a hardware ı ´ Las t´ cnicas de reduccion aplicadas a los TLB e se puede tener acceso selectivo a los buffers 100 % asociativos as´ como otras estructuras ı de banco o al banco principal solo con la asociativas y archivos de registro din´ mico si- a ´ ´ ´ utilizacion de la logica. La precision de este mulaciones de PowerMill de la implementa- m´ todo es de un 97 % con respecto al total e ´ cion de microprocesadores de 0.18 micrometros´ de direcciones generados por el CPU. Nuestra , demuestran un 42 % de ahorro . La gestion ´ ˜ estructura divide los pequenos filtros en dos de la unidad de memoria comprende una gran menores y cuatro bancos principales para re- parte de la energ´a utilizada por el microproce- ı ducir el consumo de poder. [3] La tasa de fallo sador , la mayor parte de esta energ´a se utiliza ı ˜ en TLB tiende a ser muy pequena ya que cada en los TLB(translation Lookaside buffers), Estos entrada se refiere a una p´ gina de memoria. Sin a circuitos son en esencia una ruta critica para la embargo, un fallo de TLB se acompana de un ˜ ´ sincronizacion, por lo que el ahorro de energ´a ı manejo a largo latencia, es decir, del orden de no debe de obtenerse aumentando la demora decenas a cientos de ciclos. Por lo tanto, un TLB del circuito, Las caches de direcciones virtuales completamente asociativo se suele utilizar para ´ ı no necesitan de una direccion f´sica para hacer obtener tasas m´ s bajas de error. Pero un 100 % a ´ una comparacion de cache, pero aun necesitan de asociatividad es costoso en t´ rminos de e los permisos determinados ,. Para determinar consumo de energ´a, para reducir el consumo ı la eficiencia del esquema se utilizaron 6 progra- ´ de energ´a en relacion a un TLB asociativo, lo ı mas de referencia al realizar la simulacion de ´ que se hace es proceder a dividir el TLB en sub- la arquitectura, las p´ ginas de acceso se fueron a TLBs, logrando reducir el consumo de energ´a ı registradas para medir el comportamiento del sin afectar el rendimiento, Existe adem´ s la a acceso secuencial , se determino para cada t´ cnica de micro filtros TLB que tiene un grado e programa el numero de acceso secuenciales m´ s alto en la estructura jer´ rquica por encima a a , tal como se define el acceso a un ciclo N de la TLB de nivel 1, en t´ rminos de consumo e siendo el mismo acceso el que se genera en de energ´a es mucho m´ s eficiente en el ahorro ı a un ciclo N-1, La energ´a puede ser conservada ı de energ´a, pero produce un mayor degradado ı ´ mediante la deteccion de estos casos y as´ po- ı ˜ del rendimiento. Se puede disenar TLB que ´ der limitar la disipacion de la potencia en los ayuden a reducir la energ´a que se consume en ı accesos secuenciales a la misma p´ gina, si la a los procesadores superficiales , ayudados por ´ direccion de la MMU(unidad de gestion de ´ mecanismos de filtrado y estructuras de bancos memoria ), esta al comienzo de la pipeline, , para lograr tiempos de acceso mas r´ pidos a ´ la direccion de la p´ gina virtual puede ser a y bajos consumos energ´ ticos , la estructura e comparada con la accedida con anterioridad, de una TLBs totalmente asociativa excluye la esto a su vez permite el paso discriminado en ´ necesidad de cualquier logica de comparacion ´ el relog de acceso lo que permite el ahorro externa , pero su tiempo de ingreso es m´ s a ´ de energ´a. Una comparacion din´ mica acelera ı a alto que en otras organizaciones , dado que ´ la puerta cuando la generacion de direcciones ´ la etiqueta de comparacion se lee al mismo para cargas y generaciones, es decir una ruta de tiempo que los datos en la SRAM, adem´ s de a la memoria de datos, la cual es una ruta de sin-
  • 3. SISTEMAS OPERATIVOS, ABRIL 2013 3 ´ cronizacion cr´tica, cuando la compuerta-reloj ı TLB Los procesadores superficiales proporcio- no es factible. Los m´ todos descritos permiten e nan un soporte para los sistemas de memoria el ahorro de energ´a en los accesos secuenciales ı ´ virtual gracias a unidades de gestion de me- a la misma p´ gina, pero siempre se sugiere el a moria (MMU), las cuales traducen las direc- ´ uso de un menor numero de p´ ginas de mayor a ciones virtuales a direcciones f´sicas. Adem´ s ı a ˜ tamano. A falta de tiempo para pre- comparar los procesadores son usados ampliamente para las direcciones de las paginas, la CAM parte multimedia y aplicaciones de comunicacion, las ´ de las operaciones del TLB es inevitable .Sin cuales requieren altas velocidades de c´ lculo, a embargo, la energ´a puede ser ahorrada me- ı uso de memoria y apoyo efectivo de la me- ´ diante la determinacion del acceso secuencial moria jer´ rquica, adem´ s de tomar en cuenta a a a una misma p´ gina despu´ s del acceso a la a e su consumo de energ´a para su diseno, La ı ˜ CAM, Los errores se deben restablecer para ´ reduccion de consumo de potencia en la etapa indicar que el procesador ha sido reiniciado en ´ de desarrollo arquitectonico de las memorias cada uno de los ciclos. Si el CAM genera una provoca resultados m´ s significativos que otras a coincidencia se compara el resultado anterior t´ cnicas a nivel de circuito Un TLB es una e ´ operacion de la CAM para cada entrada Los estructura que almacena las entradas de la principales consumidores de energ´a son las ı tabla de p´ ginas que se han usado recientemen- a l´neas de descarga y las entradas diferenciales ı ´ te usadas en la traduccion de las direcciones de las c´ lulas CAM. La c´ lula CAM compara e e virtuales a f´sicas. Las TLB m´ s actuales son ı a los datos entrantes con el valor almacenado, implementadas en su mayor´a en celdas RAM ı la descarga de un operador NOR genera una est´ ticas para datos, y contenido direccionadle a ˜ senal de error en el bit de poder ahorrado y se de memoria (CAMs) por etiquetas.[2] Para gana en rendimiento mediante la segmentacion ´ mejorar el rendimiento de la energ´a en los ı de los nodos coincidentes y la combinacion ´ TLBs se utilizan t´ cnicas tales como reducir e de ellos a trav´ s de una puerta est´ tica para e a ´ el numero de entradas, aplicar filtros o me- poner fin a cualquier operador AND.[5] El bit canismos de bloqueo del buffer o utilizando ´ de validacion en cada entrada de la CAM se ´ estructuras de banco, al reducir el numero de compara generalmente con un valor conocido entradas tambi´ n se reduce el rendimiento ya e ´ que obliga a una revision de errores de entrada que provoca m´ s ingresos en la tabla los cuales a no validados.Se representa un sistema de fil- deber´ n de realizarse en los mismos tiempos de a tro de bancos para buffers de traduccion ade- ´ microprocesador , la estructura de banco con- lantada con bajo consumo para procesadores sume menos energ´a que una estructura 100 % ı superficiales, el objetivo del TLB es construir asociativa porque solo la mitad de los ingresos ´ multiples bancos con dos pequenos buffers ˜ ´ a la CAM son busquedas en los accesos de la llamados banco de filtros, que se encuentran TLB, pero un inconveniente es la degradacion ´ sobre el banco asociativo. Ya sea un banco de del rendimiento cuando se produce la p´ rdida e buffers de filtro, o un banco principal TLB de un banco especifico. La estructura de TLB puede tener acceso selectivo basado en los dos mostrada, apoya el bajo consumo de energ´a ı bits que se encuentran en el buffers de banco para procesadores superficiales, utilizando un de filtros. El ahorro de energ´a se consigue ı filtrado selectivo y mecanismos de banco para ´ reduciendo el numero de acceso en un inter- ofrecer un bajo consumo de energ´a trav´ s de ı e valo de tiempo, mediante el uso del filtrado y un sencillo mecanismo de control v´a hardware ı los mecanismos de banco. La sobrecarga de la se puede tener acceso selectivo a los buffers de TLB propuesta resulta ser insignificante si se banco o al banco principal solo con la utiliza- compara con otras estructuras jer´ rquicas. Los a ´ ´ ´ cion de la logica. La precision de este m´ todo es e resultados simulados muestran que la energ´a ı de un 97 % con respecto al total de direcciones consumida puede reducirse alrededor de un generados por el CPU. Nuestra estructura divi- 88 % comparado con una TLB completamente ˜ de los pequenos filtros en dos menores y cuatro asociativa 75 % si se compara con una TLB de bancos principales para reducir el consumo de filtrado y un 51 % con un banco de filtrado de poder. La tasa de fallo en TLB tiende a ser
  • 4. SISTEMAS OPERATIVOS, ABRIL 2013 4 ˜ muy pequena ya que cada entrada se refiere Debe tenerse en cuenta que todas las paginas a una p´ gina de memoria. Sin embargo, un a con una PTE en el TLB se encuentran en la ˜ fallo de TLB se acompana de un manejo a largo memoria principal, la mayor´a de los sistemas ı latencia, es decir, del orden de decenas a cientosmantienen una separada TLB para datos e ins- de ciclos. Por lo tanto, un TLB completamente trucciones, con una TLB formando parte del asociativo se suele utilizar para obtener tasas procesador , la planificacion del trabajo es : m´ s bajas de error.[1] Pero un 100 % de aso- a 1. El programa solicita un numero de pagina ciatividad es costoso en t´ rminos de consumo e virtual de energ´a, para reducir el consumo de energ´a ı ı ´ ´ 2. Realizar la operacion de busqueda en la ´ en relacion a un TLB asociativo, lo que se TLB hace es proceder a dividir el TLB en sub-TLBs, 3. Si la PTE se encuentra en la TLB ir a 7 logrando reducir el consumo de energ´a sin ı ´ 4. Realizar la busqueda de la tabla de pagi- afectar el rendimiento, Existe adem´ s la t´ cnica a e nas de micro filtros TLB que tiene un grado m´ s a 5. Si la pagina se encuentra en memoria ir a alto en la estructura jer´ rquica por encima de a 7 la TLB de nivel 1, en t´ rminos de consumo de e 6. Realizar el informe de fallo de pagina energ´a es mucho m´ s eficiente en el ahorro de ı a 7. Actualizar la TLB energ´a, pero produce un mayor degradado del ı ´ 8. Generar la direccion fisica ˜ rendimiento.[6] El objetivo es disenar TLB que [7] El TLB se usa para saber si existe una en- ayuden a reducir la energ´a que se consume en ı ´ trada para el numero de p´ gina virtual (Virtual a los procesadores superficiales , ayudados por ´ Page Number, VPN). De ser as´, el numero de ı mecanismos de filtrado y estructuras de bancos la p´ gina f´sica es usado para generar la direc- a ı , para lograr tiempos de acceso mas r´ pidos a ´ ı cion f´sica de la p´ gina. Si no existe una entrada a y bajos consumos energ´ ticos , la estructura e para la VPN, se busca en la tabla de p´ ginasa de una TLBs totalmente asociativa excluye la en la memoria principal, la tabla de p´ ginasa ´ necesidad de cualquier logica de comparacion ´ tendr´ una entrada (con un bit valido). En este a externa , pero su tiempo de ingreso es m´ s a caso la TLB se actualiza con una entrada para alto que en otras organizaciones , dado que ´ la p´ gina nueva La actualizacion de TLB se a ´ la etiqueta de comparacion se lee al mismo pude realizar tanto por hardware como por tiempo que los datos en la SRAM, adem´ s de a ´ software. La actualizacion de TLB necesita de tener que cargar todos los accesos de la CAM, una pol´tica de reemplazo, cuando el TLB se ı y las operaciones de carga y descarga son las ´ encuentra lleno. Si la actualizacion se realiza responsables de disipar la mayor parte de la por software se pueden implementar distin- energ´a para mantener este en los m´nimos, el ı ı ´ tas pol´ticas de sustitucion, sin embargo si se ı ˜ tamano de las cargas no debe de exceder los realiza por hardware, la simplicidad toma una 64bits al dividir esto en 4 sub-TLB se realiza importancia vital. T´picamente se utiliza una ı ´ una busqueda mas lapidad e los datos ya que pol´tica aleatoria o pseudo-LRU (Least recently ı ´ se realiza una busqueda din´ mica a used, menos usada recientemente) es utilizada. Para reducir fallas en el TLB la mayor´a de ı sistemas usan un mapa completamente asocia- 2.1. Estructura ˜ tivo para TLB pequenas y un mapa conjunto ˜ La TLB es pequena y es parte del procesador, asociativo para TLB grandes t´picamente contiene entre 32 a 256 entradas, ı cada elemento de la tlb contiene: 2.2. Beneficios Un numero de pagina virtual Menor consumo de tiempo del procesador El numero correspondiente a la pagina en la busqueda y carga de las paginas de f´sica ı memoria que an de ser usadas Varios bits de control incluidos los bits de Menor consumo energetico por parte del ´ referencia y los de validacion procesador.
  • 5. SISTEMAS OPERATIVOS, ABRIL 2013 5 Mejoran la tasa de aciertos de pagina, puede reducir el consumo de energ´a eficaz- ı cargando el numero de la pagina, para rea- ´ mente mediante el uso de la logica de control lizar la respectiva traduccion a direccion de hardware. La estructura tlb propuesta se en- de memoria memoria cuentra conformada por dos tlb completamente Al usar TLBs controladas por software, se asociativas, una de las cuales realiza el acceso tendra siempre el uso de la herustica que e ´ selectivo de los m´ todos de seleccion din´ mica a generara el menor consumo y el menor Esto muestra que en el chip el poder de con- numero de fallos luego del reemplazo de sumo de la tlb propuesta logra reducir en un los valores del buffer 42 % el consumo comparado con otras tlb com- ´ El bit de validacion en cada entrada de pletamente asociativas con el mismo numero ´ la CAM se compara generalmente con un de entradas. [3] Las t´ cnicas de bajo consumo e valor conocido que obliga a una revision´ para sistemas de memoria , pueden ser usados de errores de entrada no validados. ˜ en cualquier nivel de diseno, esto incluyendo ´ ´ la seleccion de algoritmos, la integracion de sis- 2.3. Desventajas ˜ temas , diseno de la arquitectura , as´ como en ı Si se utilizan TLBs controladas por Hard- los niveles m´ s bajos incluyendo los circuitos a ware. Al llenarse el TLB se podria recurrir de puerta de los circuitos y procesos , o de a una heuristica de reemplazo que podrian ´ optimizacion de los ingresos y los disenos de ˜ borrar losnumeros de paginas que se po- los circuitos, Debido a que la mayor´a de lası drian usar en un futuro, perjudicando asi estructuras tlb se construyen con tlb totalmente la tasa de acierto asociativas con celdas CAM, el consumo de energ´a en los tlb varia. Linealmente depen- ı [8] A falta de tiempo para pre- comparar diendo del numero de ingresos .En los casos de las direcciones de las paginas, la CAM los tipos Strong ARM y Strong ARM20T, la po- parte de las operaciones del TLB es inevi- tencia disipada corresponde a 10 % o 17 % del table .Sin embargo, la energ´a puede ser ı consumo de las mismas , aunque el tamano de ˜ ´ ahorrada mediante la determinacion del ˜ ´ la tlb es pequeno en comparacion con la cache acceso secuencial a una misma p´ gina des- a ´ , su fraccion en el consumo de energ´a es muy ı pu´ s del acceso a la CAM, Los errores e elevado, En muchas aplicaciones en especial las se deben restablecer para indicar que el port´ tiles el consumo de energ´a es mucho mas a ı procesador ha sido reiniciado en cada uno importante que el rendimiento, en otras colocar de los ciclos. una micro-tlb sobre la jerarqu´a de las dem´ s, ı a Dependiendo de la arquitectura de la TLB resulta ser incre´blemente efectivo para reducir ı ı ´ esta podr´a generar una mayor emision de el consumo, para instrucciones tlb de baja tasa calor , lo que perjudicar´a el rendimiento ı de error , pero en el caso de tlb para datos, del procesador al encontrarse el TLB em- ˜ los desempenos se reducen, y esto produce una bebido. importante p´ rdida de energ´a. Las otras tlb e ı Al estar embebidos en la estructura del estudiadas son celdas de memoria con redi- procesador, no se puede agrandar el ta- ˜ ´ senos, tales como la modificacion del las celdas ˜ mano del TLB. ´ CAM, reduccion de voltaje, y optimizacion de ´ ´ La gestion de la unidad de memoria com- la estructura tlb. Nuestro objetivo es optimizar prende una gran parte de la energ´a uti- ı las tlb usando mecanismos b´ sicos . As´ puede a ı lizada por el microprocesador , la mayor ´ lograrse un f´ cil control y construccion utili- a parte de esta energ´a se utiliza en los ı ´ zando este m´ todo. En conclusion el sistema e TLB(translation Lookaside buffers), ˜ de diseno de tlb para estructuras de procesador superficial Alto rendimiento y bajo consumo 2.4. Proyectos para mejorar las limitacio- de energ´a son dos factores importantes para ı nes de los TLB ˜ considerar en el diseno de muchos sistemas de Se propone una nueva estructura para los circuitos superficiales . En esta investigacion se ´ ´ para los buffers de traduccion adelantada que propone un sistema de TLB nuevo que puede
  • 6. SISTEMAS OPERATIVOS, ABRIL 2013 6 reducir el consumo de energ´a de manera eficaz ı mediante el uso de una t´ cnica simplificada e mediante el uso de control de hardware simple. ´ ´ division arquitectonica que reduce el consumo El sistema de TLB propuesto consta de dos de energ´a en el subsistema de memoria sin ı TLBs completamente asociativas .A las cuales comprometer el rendimiento. Esto se logra me- se acede de manera en la que se a producido el ´ ´ diante la disociacion de las busquedas de d- siguiente acceso, para as´ lograr aprovechar de ı TLB y los accesos de cach´ de datos, basado en e mejor modo la localidad temporal.De acuerdo las regiones sem´ nticas de nido por lenguajes a con los resultados de la mejor simulacion y ´ ´ de programacion y software, en subflujos de an´ lisis de rendimiento, puede lograrse razo- a referencia discretas est´ ticas,. Sus comporta- a ´ nablemente mejora en comparacion con las tlb ´ mientos acceso y caracter´sticas unicas de loca- ı convencionales totalmente asociativas con el lidades son analizados y explotados. Nuestros ´ mismo numero de entradas. Y se demuestra resultados muestran que un promedio del 35 % que en el chip el consumo de energ´a de la ı de energ´a se puede reducir en el d-TLB y la ı TLB propuesta se puede reducir alrededor de memoria cach´ . Adem´ s, un promedio de 46 % e a 42 % comparando con la TLB convencional to- se puede ahorrar de forma selectiva usando la talmente asociativa con el mismo numero de´ conciencia sem´ ntica d-TLB y cach´ s de datos a e entradas. [9] Ademas se presenta una resumida ´ contra sus homologos monol´ticos. ı conciencia sem´ ntica Multilateral (SAM) t´ cni- a e ˜ ´ ca de diseno efectiva en la reduccion del consu- mo de energ´a en la memoria, incluyendo da- ı 2.5. Aplicaciones de los TLBs taTLB y cach´ de datos con un impacto m´nimo e ı Los TLBs, se encuentran enbebidos en el en el rendimiento. Debido a las caracter´sticası procesador de las computadoras, y son de uso ´ unicas de referencia de memoria, el enfoque generalizado, ya que generan una gran reduc- SAM reduce la energ´a din´ mica mediante la ı a cion en los consumos de energia y tiempo por ´ reorientacion de la mayor´a de accesos a la mu- ı parte del procesador para obtener las paginas ˜ cho m´ s pequena SA-TLB, (SAT) y SA-Cache a de memoria con las que ha de trabajar. (SAC). Se ha encontrado que el numero de ´ entradas de la pila puede ser reducida a 2 para cubrir casi todas las referencias de la pila. Se 3. ´ C ONCLUSI ON ˜ ´ discute un diseno de direccion de datos router ´ La gestion de la unidad de memoria com- que divide cada acceso a la correspondiente prende una gran parte de la energ´a utilizada ı SAT y SAC. Con esta t´ cnica, se demuestra e por el microprocesador , la mayor parte de esta que un promedio de 35 % de energ´a puede ı energ´a se utiliza en los TLB(translation Loo- ı ser reducido en el d-TLB y en la cach´ de e kaside buffers), Estos circuitos son en esencia datos. El efecto de multi-porting SAT y SAC ´ una ruta critica para la sincronizacion, por lo tambi´ n se investiga. Como los experimentos e que el ahorro de energ´a no debe de obtenerse ı ı ´ indicaron, tanto la energ´a como area transistor aumentando la demora del circuito, Las caches se puede reducir sustancialmente en un 46 % de direcciones virtuales no necesitan de una y 41 %, respectivamente, por multipuerto solo ´ ´ direccion f´sica para hacer una comparacion ı ´ SAC y SAT en lugar de multi-puerto homologo ´ de cache, pero aun necesitan los permisos de- monol´tico. Esta t´ cnica es tambi´ n ortogonal al ı e e terminados . [2] Los accesos TLB presentan anteriormente mencionados m´ todos de parti- e localidad espacial y temporal, lo cual es clave ´ cion vertical y horizontal . Esta t´ cnica se puede e para todo en las operaciones en cache. Los implementar f´ cilmente en la parte superior del a accesos de memoria secuencial son a menudo servicio de SAM para proporcionar un mayor a las mismas p´ ginas, en especial las instruc- a ahorro de energ´a. [10] El subsistema de me- ı ´ ciones de recuperacion. El esquema b´ sico es a moria, incluyendo traducciones de direcciones para determinar si una p´ gina visitada en un a y cach´ accede, consume una parte importante e ciclo N es la misma p´ gina visitada en un ciclo a de la energia en general en un procesador. Se N-1, y si las acciones siguientes a la apertu- aborda en la memoria el tema de la energ´a ı ra del gate son esencialmente las mismas, la
  • 7. SISTEMAS OPERATIVOS, ABRIL 2013 7 cantidad de accesos que pueden ser cerrados depende cuanto se anticipe al acceso secuencial ´ y su determinacion. Si el CAM genera una coincidencia se compara el resultado anterior ´ operacion de la CAM para cada entrada Los principales consumidores de energ´a son las ı l´neas de descarga y las entradas diferenciales ı de las c´ lulas CAM. e R EFERENCIAS [1] Dongrui Fan, Zhimin Tang, Hailin Huang, GuangR. Gao, An Energy Efficient TLB Design Methodology , USA ACM, June 2005 [2] Chinnakrishnan S. Ballapuram, Hsien-Hsin S. Lee,Milos Prvulovic†, Synonymous Address Compac- tion for Energy Reduction in Data TLB, USA ACM, July 2010. [3] Jung-Hoon Lee Yonsei Gi-Ho Park, Sung-Bae Park, Shin-Dug Kim, Yonsei University, Shinchon-dong, , A selective filter-bank TLB system, USA Springer, October 2011. [4] Lawrence T. Clark ,Byungwoo Choi ,Michael Wilker- son Reducing Translation Lookaside Buffer Active Power , USA ACM, May 2009 [5] Reiley Jeyapaul ,Aviral Shrivastava, B2P2: Bounds Based Procedure Placement for Instruction TLB Power Reduction in Embedded Systems, USA ACM, February 2010 [6] Yong Li, Rami Melhem, and Alex K. Jones, PS- TLB: Leveraging Page Classification Information for Fast, Scalable and Efficient Translation for Future CMPs, USA ACM, September 2010 [7] Nadav Amit, Muli Ben-Yehuda, Ben-Ami Yassour, IOMMU: Strategies for Mitigating the IOTLB Bottleneck, USA Springer, November 2009 [8] Sivarama Dandamudi, Fundamentals of computer or- ganization and desing, USA Springer Berlin Heidel- berg Hong Kong London Milan Paris Tokio 2009 ´ [9] Ruy Luiz Milidiu, Julio Cesar Duarte, C´cero No- ı gueira dos Santos, Evolutionary TBL Template Genera- tion , USA Springer-Verlag Berlin Heidelberg 2011 [10] Reiley Jeyapaul · Aviral Shrivastava, Code Trans- formations for TLB Power Reduction , USA Springer- Verlag Berlin Heidelberg 2011 [3]