<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>David y su bitácora</title>
	<atom:link href="http://david.blog.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://david.blog.com</link>
	<description>Ideas pequeñas útiles o inútiles, para mejorar... o no.</description>
	<lastBuildDate>Tue, 01 May 2012 10:16:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2-bleeding</generator>
	<atom:link rel='hub' href='http://david.blog.com/?pushpress=hub'/>
		<item>
		<title>Tema 1: Procesadores segmentados de IC2</title>
		<link>http://david.blog.com/?p=93</link>
		<comments>http://david.blog.com/?p=93#comments</comments>
		<pubDate>Tue, 01 May 2012 10:16:02 +0000</pubDate>
		<dc:creator>David S. J.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://david.blog.com/?p=93</guid>
		<description><![CDATA[PROCESADORES SEGMENTADOS: Puede procesar varias instrucciones a la vez, aunque cada una este en una etapa distinta. Es una técnica que usa la segmentación para aumentar su rendimiento. Antes: procesadores CISC (Complex Instruction set Computer):  Alto coste en la memoria -&#62; hay que aumentar las operaciones en el microcódigo. 1 instrucción compleja que contiene muchas [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline">PROCESADORES SEGMENTADOS</span></strong>:<br />
Puede procesar varias instrucciones a la vez, aunque cada una este en una etapa<br />
distinta. Es una técnica que usa la segmentación para aumentar su rendimiento.</p>
<ul>
<li><span style="text-decoration: underline">Antes</span>: procesadores CISC (Complex Instruction set Computer):  Alto coste en la memoria -&gt; hay que aumentar las operaciones en el microcódigo. 1 instrucción compleja que contiene muchas microinstrucciones.</li>
<li><span style="text-decoration: underline">Ahora</span>: RISC (Reduced Instruction Set Computer): Disminuyendo accesos a memoria, ya el procesador ahora es mucho + rápido que la memoria. <span style="text-decoration: underline">Ventajas</span>:</li>
<ul>
<li> Reduce tamaño CPU,</li>
<li> lógica de control simple, fácil diseño.</li>
<li> Máquinas con menos consumo al reducirse CPU</li>
<li> Segmentación de instrucción (pipeline) al ser más sencillas y de formatos fijos.</li>
<li> Reduce accesos a memoria, ya que se usan más los registros.</li>
</ul>
<li>Riesgo: Aparece cuando 2 o + instrucciones entran en conflicto.</li>
</ul>
<p>Las operaciones complejas en el código fuente, es el compilador que las descompone,<br />
en operaciones sencillas RISC, con criterio, para actuar en el microprocesador.</p>
<p><span style="text-decoration: underline"><strong>Paralelismo:  Dos líneas para implementarlo:</strong></span></p>
<p>a) Replicación de elementos como unidades funcionales (se usa en multiprocesadores, superescalares, VLIW y vectoriales. Por ejemplo tener dos registros en lugar de uno</p>
<p>b) Segmentación: segmentación de cauce, pipelining: una unidad funcional se divide en etapas que funcionan de forma independiente (en superescalares, VLIW). Por ejemplo dividir el código en trozos y que cada parte la vaya haciendo algún elemento o unidad funcional.</p>
<p>Michael Flynn clasifica computadores en:</p>
<ul>
<li>SISD: 1 flujo de instr.  1 flujo de datos. Una UC (unidad de control) y una UP (unidad procesamiento)</li>
<li>SIMD: 1 flujo de instr. Muchos flujos de datos (una instrucción opera sobre varias<br />
operaciones IGUALES)</li>
<li>MIMD: Muchos flujos de instr. Muchos flujos de datos</li>
<li>MISD: Muchos flujos de instr. Un flujo de datos (no existe específicamente)</li>
</ul>
<p>Hay dos tipos de paralelismo:</p>
<p>- Paralelismo de datos: 1 instr. Se ejecuta varias veces en paralelo sobre datos distintos<br />
SIMD</p>
<p>- Paralelismo funcional: Instr. distintas se ejecutan en paralelo. Hay varios niveles (MIMD y MISD)</p>
<ul>
<li>ILP de instr.: Bajo nivel, lo hace vía HW. Granularidad fina. Flynn no la<br />
considera.</li>
<li>De bucle: En paralelo diferentes iteraciones de un bucle. Granularidad fina-media</li>
<li>De funciones: Procedimientos simultáneos. Granularidad media.</li>
<li>De programas: En paralelo, programas diferentes. Granularidad gruesa.</li>
</ul>
<p><strong><span style="text-decoration: underline">Medidas para evaluar el rendimiento</span></strong></p>
<p>Tiempo<br />
de respuesta: Tiempo que tarda el procesador en procesar una entrada, programa<br />
o instr.</p>
<p>Productividad:<br />
Nº de entradas procesadas / unidad de tiempo</p>
<p>Funcionabilidad:<br />
Tipos de entradas &lt;&gt; que puede procesar</p>
<p>CPI:<br />
Ciclos que tarda en ejecutarse cada tipo de instrucción.</p>
<p>NI:<br />
Nº de instrucciones que procesa</p>
<p>f:<br />
Frecuencia de reloj</p>
<p>T<sub>ciclo</sub>:<br />
Periodo del reloj (inverso de la frecuencia)</p>
<p>T<sub>cpu</sub>:<br />
Tiempo de cpu de un programa                     T<sub>cpu</sub><br />
= NI * CPI * T<sub>ciclo</sub></p>
<p>Ganancia<br />
(speedup): Rendimiento de la máquina mejorada / rendimiento original</p>
<p>Ley<br />
de Amdahl: Ganancia se puede obtener está limitada a:</p>
<p>Sp<br />
&lt; p/ [1+f(p-1)]</p>
<p>f:<br />
Fracción de tiempo en la que no se puede utilizar la mejora</p>
<p>p:<br />
Factor de mejora</p>
<p>Etapas<br />
de una instrucción</p>
<ol>
<li>IF:<br />
Lectura de la instr. De la caché</li>
<li>ID:<br />
Decodifica la instr. Y lee los operandos</li>
<li>EX:<br />
Ejecución de las operaciones, cálculo de la dirección de salto…</li>
<li>MEM:<br />
Accede a la caché</li>
<li>WB:<br />
Escribe el resultado en el registro</li>
</ol>
<p>Riesgos<br />
de la segmentación pag30</p>
<p>-<br />
Estructurales:<br />
Conflictos por los recursos que tiene la máquina</p>
<p>-<br />
Por<br />
dependencia de datos: Una instr. Necesita resultados de una instr. Anterior</p>
<ul>
<li>RAW:<br />
Verdadera. Se da en ASG</li>
<li>WAR:<br />
Antidependencia</li>
<li>WAW:<br />
De salida</li>
<li>RAR:<br />
No es riesgo.</li>
</ul>
<p>-<br />
De<br />
control:</p>
<p>Riesgo<br />
estructural</p>
]]></content:encoded>
			<wfw:commentRss>http://david.blog.com/?feed=rss2&#038;p=93</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apuntes del libro &#8220;Lenguajes de programación&#8221;</title>
		<link>http://david.blog.com/?p=91</link>
		<comments>http://david.blog.com/?p=91#comments</comments>
		<pubDate>Sun, 29 Apr 2012 14:38:43 +0000</pubDate>
		<dc:creator>David S. J.</dc:creator>
				<category><![CDATA[Infomática]]></category>

		<guid isPermaLink="false">http://david.blog.com/?p=91</guid>
		<description><![CDATA[El autor es Kennetch C. Louden (este portal de venta me ha gustado mucho, por eso os pongo el enlace en el autor) Algunas definiciones son extraidas tal cual, siempre he considerado que la definión es algo que se ha pensado y repensado muy bien, como para ponerme yo a hacer mi propia interpretación, meuda [...]]]></description>
			<content:encoded><![CDATA[<p>El autor es <a title="Kenneth C. Louden" href="http://www.iberlibro.com/servlet/SearchResults?kn=kenneth+louden&amp;sts=t&amp;x=0&amp;y=0">Kennetch C. Louden</a> (este portal de venta me ha gustado mucho, por eso os pongo el enlace en el autor)</p>
<p>Algunas definiciones son extraidas tal cual, siempre he considerado que la definión es algo que se ha pensado y repensado muy bien, como para ponerme yo a hacer mi propia interpretación, meuda osadia, por mi parte <img src='http://david.blog.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong><span style="text-decoration: underline">Lenguaje de programación</span></strong>: Sistema notacional para describir computaciones en una forma legible, tanto para la máquina como para las personas.</p>
<p><span style="text-decoration: underline"><strong>Computación</strong></span>: Es cualquier tipo de procesamiento en una computadora.</p>
<ul>
<li>Debe ser legible por la máquina: La estructura de un lenguaje de programación, se restringe al nivel de las lenguajes libres de contexto.</li>
<li>Debe ser legible por la persona: Se requiere de:</li>
<ul>
<li>a) Abstracciones: De lo que hace la computadora y sea fácil de comprender.</li>
<li>b) Entorno de desarrollo Software: Obliga a una metodología de diseño de SW, ya que cada vez hace falta más personas. Por tanto el lenguaje de programación forma parte del estudio de la Ingeniería del Software.</li>
</ul>
</ul>
<p>Hay tipos de abstracciones: Por clases y por niveles.</p>
<ul>
<li>Abstracciones por clases: Tenemos</li>
<ul>
<li>Abnstracciones por datos: resume las propiedades de los datos.</li>
<li>Abstracciones por control: Resume propiedades de la transferencia de control</li>
</ul>
<li>Abtracciones por niveles:</li>
<ul>
<li>Básica: Información de la máquina</li>
<li>Estructurada: Información de la estructura del programa</li>
<li>Unitaria: Parte completa de un programa</li>
</ul>
</ul>
<p>[Aquí me quedo un poco atascado]</p>
]]></content:encoded>
			<wfw:commentRss>http://david.blog.com/?feed=rss2&#038;p=91</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Los peques hacen lo que te ven hacer a TI, da ejemplo</title>
		<link>http://david.blog.com/?p=90</link>
		<comments>http://david.blog.com/?p=90#comments</comments>
		<pubDate>Fri, 03 Feb 2012 15:26:39 +0000</pubDate>
		<dc:creator>David S. J.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://david.blog.com/?p=90</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://diainternetsegura.com" target="_blank"><img class="aligncenter" src="http://diainternetsegura.com/banners/baner.gif" alt="Pulsar para ir a la web internetsegura.com en ventana nueva" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://david.blog.com/?feed=rss2&#038;p=90</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

