{"id":112398,"date":"2018-03-11T10:39:20","date_gmt":"2018-03-11T10:39:20","guid":{"rendered":"https:\/\/www.deberes.net\/tesis\/sin-categoria\/code-optimizations-for-narrow-bitwidth-architectures\/"},"modified":"2018-03-11T10:39:20","modified_gmt":"2018-03-11T10:39:20","slug":"code-optimizations-for-narrow-bitwidth-architectures","status":"publish","type":"post","link":"https:\/\/www.deberes.net\/tesis\/ciencia-de-los-ordenadores\/code-optimizations-for-narrow-bitwidth-architectures\/","title":{"rendered":"Code optimizations for narrow bitwidth architectures"},"content":{"rendered":"<h2>Tesis doctoral de <strong> Indu Bhagat <\/strong><\/h2>\n<p>Esta tesis deriva su motivaci\u00f3n en la inherente ineficiencia computacional de los procesadores actuales: a pesar de que muchas aplicaciones contempor\u00e1neas tienen unos requisitos de ancho de bits estrechos (aplicaciones de enteros, de red y multimedia), el hardware acaba utilizando el camino de datos completo, utilizando m\u00e1s recursos de los necesarios y consumiendo m\u00e1s energ\u00eda. esta tesis utiliza una aproximaci\u00f3n hw\/sw para atacar, de forma \u00edntegra, el problema de la ineficiencia computacional. El hardware se ha redise\u00f1ado para restringir el ancho de bits del camino de datos a s\u00f3lo 16 bits (\u00fanicamente el de enteros) y ofrecer as\u00ed un n\u00facleo de ejecuci\u00f3n simple, de bajo consumo y baja complejidad, el cual est\u00e1 dise\u00f1ado para ejecutar de forma eficiente el caso com\u00fan.  El redise\u00f1o, llamado en esta tesis arquitectura de ancho de bits estrecho (narrow bitwidth en ingl\u00e9s), es \u00fanico en el sentido que aunque el camino de datos se ha estrechado a 16 bits, el sistema contin\u00faa ofreciendo las ventajas de direccionar grandes cantidades de memoria tal como procesadores con caminos de datos m\u00e1s anchos (64 bits actualmente).  Su interface con el mundo exterior se denomina isa estrecho. En nuestra propuesta el software es responsable de mapear eficientemente la actual pila software de las aplicaciones de 64 bits en el hardware de 16 bits.  Sin embargo, esta aproximaci\u00f3n hw\/sw introduce penalizaciones no despreciables tanto en el tama\u00f1o del c\u00f3digo din\u00e1mico como en el rendimiento, incluso con un traductor de c\u00f3digo inteligente que mapea las aplicaciones de 64 bits en el procesador de 16 bits. el objetivo de esta tesis es el de dise\u00f1ar una capa software que aproveche la capacidad de las optimizaciones para reducir el efecto negativo en el rendimiento del isa estrecho.  Concretamente, esta tesis se centra en optimizaciones que tratan el problema de como compilar programas de 64 bits para una m\u00e1quina de 16 bits desde la perspectiva de las m\u00ednimas computaciones requeridas (mrc en ingl\u00e9s).  Dado un programa, la noci\u00f3n de mrc intenta deducir la cantidad de c\u00f3mputo que realmente se necesita para generar la misma (correcta) salida que el programa original. aproximarse al mrc perfecto es una meta intr\u00ednsecamente ambiciosa y que requiere predicciones perfectas de comportamiento del programa.  Con este fin, la tesis propone tres heur\u00edsticas basadas en optimizaciones que tratan de inferir el mrc.  La utilizaci\u00f3n de mrc se desarrolla en la definici\u00f3n de productividad: si un c\u00e1lculo no altera el dato que ya hab\u00eda almacenado, entonces no es productivo y por lo tanto, no es necesario llevarlo a cabo.  se han propuesto tres optimizaciones del c\u00f3digo basadas en profile: 1. Propagaci\u00f3n global de la productividad (gpp en ingl\u00e9s) aplica el concepto de productividad a la granularidad de funci\u00f3n. 2. Poda local de productividad (lpp en ingl\u00e9s) aplica el mismo concepto pero a una granularidad mucho m\u00e1s fina, la de una \u00fanica instrucci\u00f3n. 3. Computaci\u00f3n m\u00ednima del salto (mbc en ingl\u00e9s) es una t\u00e9cnica de reordenaci\u00f3n de c\u00f3digo que aplica los principios de mrc a los saltos condicionales. el objetivo principal de todas esta t\u00e9cnicas es el de reducir el tama\u00f1o din\u00e1mico del c\u00f3digo estrecho. Las primeras dos optimizaciones (gpp y lpp) realizan la tarea de podar especulativamente las computaciones no productivas (innecesarias) utilizando profiles. Adem\u00e1s, estas dos optimizaciones realizan un recorrido hacia atr\u00e1s de las regiones a optimizar para a\u00f1adir chequeos en el c\u00f3digo no especulativo, haciendo de esta forma la t\u00e9cnica autosuficiente para detectar, din\u00e1micamente, los casos de fallo en la especulaci\u00f3n. la idea de la optimizaci\u00f3n mbc es reordenar las instrucciones que generan el salto condicional tal que las m\u00ednimas computaciones que general la misma (correcta) salida se ejecuten en la mayor\u00eda de los casos; el resto de las computaciones se ejecutar\u00e1n s\u00f3lo cuando sea necesario.<\/p>\n<p>&nbsp;<\/p>\n<h3>Datos acad\u00e9micos de la tesis doctoral \u00ab<strong>Code optimizations for narrow bitwidth architectures<\/strong>\u00ab<\/h3>\n<ul>\n<li><strong>T\u00edtulo de la tesis:<\/strong>\u00a0 Code optimizations for narrow bitwidth architectures <\/li>\n<li><strong>Autor:<\/strong>\u00a0 Indu Bhagat <\/li>\n<li><strong>Universidad:<\/strong>\u00a0 Polit\u00e9cnica de catalunya<\/li>\n<li><strong>Fecha de lectura de la tesis:<\/strong>\u00a0 23\/02\/2012<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Direcci\u00f3n y tribunal<\/h3>\n<ul>\n<li><strong>Director de la tesis<\/strong>\n<ul>\n<li>Antonio Gonzalez Colas<\/li>\n<\/ul>\n<\/li>\n<li><strong>Tribunal<\/strong>\n<ul>\n<li>Presidente del tribunal: emilio Luque fadon <\/li>\n<li>Jos\u00e9 Mar\u00eda Codina vi\u00f1as (vocal)<\/li>\n<li>polychronis Xekalakis (vocal)<\/li>\n<li>ram\u00f3n Canal corretger (vocal)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tesis doctoral de Indu Bhagat Esta tesis deriva su motivaci\u00f3n en la inherente ineficiencia computacional de los procesadores actuales: a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"categories":[4810,1890,13880,15596],"tags":[44267,2539,223632,141162,223633,86203],"class_list":["post-112398","post","type-post","status-publish","format-standard","hentry","category-arquitectura-de-ordenadores","category-ciencia-de-los-ordenadores","category-informatica","category-politecnica-de-catalunya","tag-antonio-gonzalez-colas","tag-emilio-luque-fadon","tag-indu-bhagat","tag-jose-maria-codina-vinas","tag-polychronis-xekalakis","tag-ramon-canal-corretger"],"_links":{"self":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts\/112398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/comments?post=112398"}],"version-history":[{"count":0,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts\/112398\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/media?parent=112398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/categories?post=112398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/tags?post=112398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}