Tema 4: Fudametos de computadores José Mauel Medías Cuadros Dpto. Arquitectura de Computadores y Automática Uiversidad Complutese de Madrid
versió 2/9/4 2 Decodificador. Multiplexor. Bus. Codificador. ROM (Read Oy Memory). Sumador/Restador. Comparador. ALU (Arithmetic Logic Uit). Trasparecias basadas e los libros: R. Hermida, F. Sáchez y E. del Corral. Fudametos de computadores. D. Gajsky. Pricipios de diseño digital.
versió 2/9/4 E x etradas de datos z 2 salidas de datos 2 - z 2 - E etrada de capacitació (op) x - x... -... z Decodificador a 2 si la etrada toma la cofiguració biaria p, la salida (p) ésima se activa z i = si E= y (x) = i e caso cotrario z i = E m i (x) 3
versió 2/9/4 4 x x E Implemetació directa Decodificador 2 a 4 z z z 2 z 3
versió 2/9/4 x x Implemetació e árbol Decodificador 4 a 6 x 2 x 3 2 3 E 2 3 2 3 2 3 2 3 z z z 2 z 3 z 4 z 5 z 6 z 7 z 8 z 9 z z z 2 z 3 z 4 z 5 5
versió 2/9/4 Aplicacioes al diseño:. Habilitar selectivamete de subcompoetes cada uo asociado a u ídice (direcció) biaria. 2. Implemetar directamete SPC usado puertas OR adicioales (que sume cada uos de los mitérmios de la ). x x 2 3 2 6 x x x x
versió 2/9/4 E x 2 etradas de datos s etradas de cotrol x 2-2 - E z etrada de capacitació (op) salida de datos x... -... s - s Multiplexor 2 a z si la etrada de cotrol toma la cofiguració biaria p, la salida equivale a la etrada (p) ésima z = x i si E= y (s) = i e caso cotrario z = E ( x i m i (s) ) 7
versió 2/9/4 8 x x x 2 x 3 s s E Implemetació directa Multiplexor 4 a z
versió 2/9/4 9 x 7 x 6 x 5 x 4 z x 3 Implemetació e árbol Multiplexor 8 a x 2 x x s s s 2
versió 2/9/4 Aplicacioes al diseño:. Coectar selectivamete varias etradas ua misma salida. 2. Implemetar directamete que tega el mismo úmero de variables que etradas de cotrol (trascribiedo su tabla de verdad). 3. Implemetar fucioes de maera que las EC a simplificar tega meos variables. 2 3 x x x x x x 2 3 3 2 4 5 7 6 2 3 5 4 8 9 2 x x 3 f f f 3 f 2 x 3 x 2 f f f 2 f 3 2 3 x x f
versió 2/9/4 E x 2 etradas de datos de kbits s etradas de cotrol x 2 - x k k... 2 - -... s - s Multiplexor 2 a de k bits k z E z etrada de capacitació (op) salida de datos de kbits si la etrada de cotrol toma la cofiguració biaria p, la salida equivale a la etrada (p) ésima z= x i si E= y (s) = i e caso cotrario z j = E ( x ij m i (s) )
versió 2/9/4 2 a b 4 4 s z 4 Multiplexor 2 a de 4 bits a 3 b 3 a 2 b 2 a b a b s z 3 z 2 z z
versió 2/9/4 3 b a 8 8 s 8 z a C2 43 9 7D b AB 77 A8 68 s z C2 43 AB 77 A8 9 7D retardo propagació
versió 2/9/4 s - s... - x s 2 etradas de datos de kbits etradas de cotrol x x 2-2 -... k k... k z z salida de datos de kbits si la etrada de cotrol toma la cofiguració biaria p, la salida equivale a la etrada (p) ésima 4
versió 2/9/4 E x z 2 etradas de datos salidas de datos x 2-2 E A etrada de capacitació (op) salida de actividad 5 x... A Codificador 2 a z -... z z= A = si se activa la etrada p ésima y solo esa, la salida codifica p e biario (i) 2 si E= y x i = y j, j i, x j = e caso cotrario si E= y i, x i = e caso cotrario z i = E ( x j ) co j { (a -...a ) 2 / a i = } A = E ( x i )
versió 2/9/4 Implemetació directa Codificador 8 a 3 x 7 x E 6 etrada activada z 2 z z x x x 2 x 3 x 4 x 5 x 6 x 7 z z z 2 A
versió 2/9/4 E i x z 2 etradas de datos salidas de datos E i etrada de capacitació (op) x 2 2 - E o salida de capacitació (op) - z A salida de actividad 7 x... A E o Codificador de prioridad 2 a... z z= A = E o = la salida codifica e biario la etrada activa de más peso (i) 2 si E i = y x i = y j, j>i, x j = e caso cotrario si E i = y i, x i = e caso cotrario si E i = y j, x j = e caso cotrario
versió 2/9/4 8 x 2 - x x v 2 - v 2 - Ei E A - z - z z Eo A Resolució de prioridades v v i = x i ( x j ) co j > x i
versió 2/9/4 9 x 3 x 2 x x Implemetació directa Resolució de prioridades Codificador 4 a 2 v 3 v 2 v v
versió 2/9/4 x 5 x 4 x 3 3 2 x 2 x x x 9 x 8 3 2 x 7 x 6 x 5 x 4 3 2 x 3 x 2 x x 3 2 A A A A A A 3 2 2 2 2 2 3 2 Implemetació e árbol Codificador 6 a 4 2 z 3 z 2 z z
versió 2/9/4 x 5 x 4 x 3 x 2 x 7 6 5 4 x x 9 x 8 3 2 x 7 x 6 x 5 x 4 7 6 5 4 x 3 x 2 x x 3 2 E E i E o E i E o A 2 A 2 Implemetació e cascada Codificador 6 a 4 z 3 A z 2 z z 2
versió 2/9/4 Aplicacioes al diseño:. Asociar u código a cada compoete de u vector de etrada. SW R Teclado lieal SW SW2 SW3 R R R 2 3 A código de la tecla pulsada idica si hay algua tecla pulsada 22
versió 2/9/4 23 a a k k CE OE ROM ROM 2 k (2 k palabras de bits) d Array de 2 k puertas AND de k etradas fijas a d CE OE etrada de direcció de k bits salida de datos de bits etrada de capacitació (op) etrada de capacitació de lectura (op) dispositivo programable capaz de implemetar de k variables almaceado sus tablas de verdad memoria o volátil de capaz de almacear 2 k palabras de bits cada ua 2 k Array de puertas OR de 2 k etradas programables d
versió 2/9/4 24 ROM 4 3 OE a a CE Array de puertas AND fija programable Array de puertas OR d 2 d d
versió 2/9/4 25 ROM 4 3 a a Decodificador 2 a 4 fija programable 2 3 d 2 d d
versió 2/9/4 Aplicacioes al diseño: o Implemetar directamete almaceado su tabla de verdad. 26 a a d 2 d d 2 3 d 2 = a + a d = a + a d = a a a a a 2 a 3 d 2 d d ROM d 2 d d
versió 2/9/4 27 Mask Programmable ROM o Se programa durate la fabricació del chip. o No puede borrarse/reprogramarse. PROM (Programmable ROM) o Se programa eléctricamete usado u programador. o No puede borrarse/reprogramarse. EPROM (Erasable Programmable ROM) o Se programa eléctricamete usado u progamador. o Se borra (chip completo) expoiédola a luz ultravioleta. EEPROM (Electrically Erasable Programmable ROM) o Se programa/borra (palabra) eléctricamete usado u programador. Flash memory o Se programa/borra (bloque) eléctricamete si requerir programador.
versió 2/9/4 28 La capacidad de las memorias se mide e bytes (8 bits) o Cuado el úmero de bytes es alto, se utiliza prefijos. Históricamete, los prefijos idica catidades potecias de 2 Kilobyte (KB) = 2 bytes =.24 bytes Megabyte (MB) = 2 2 bytes =.48.576 bytes Gigabyte (GB) = 2 3 bytes =.73.74.824 bytes Si embargo, desde hace alguos años su sigificado se ha homogeeizado co el defiido e el Sistema Iteracioal de uidades (potecias de ) Kilobyte (kb) = 3 bytes =. bytes Megabyte (MB) = 6 bytes =.. bytes Gigabyte (GB) = 9 bytes =... bytes o Y se ha defiido uevos prefijos para idicar las potecias de 2 Kibibyte (KiB) = 2 bytes =.24 bytes Mebibyte (MiB) = 2 2 bytes =.48.576 bytes Gibibyte (GiB) = 2 3 bytes =.73.74.824 bytes o No obstate, todavía o está geeralizado el uso de los uevos prefijos.
versió 2/9/4 Varias ROM se puede compoer para comportarse como ua ROM de mayor achura de palabra. 29 a ROM 2 8 8 ROM 2 8 Implemetació multimódulo ROM 2 32 (4 KiB) usado 4 ROM 2 8 ( KiB) 8 d 32 ROM 2 8 8 ROM 2 8 8
versió 2/9/4 Varias ROM se puede compoer para comportarse como ua ROM de mayor profudidad. a.. 2 3 2 3 a 9.. bus OE OE OE OE ROM 2 8 8 ROM 2 8 Implemetació multimódulo ROM 2 2 8 (4 KiB) usado 4 ROM 2 8 ( KiB) 8 ROM 2 8 8 d 8 ROM 2 8 8
versió 2/9/4 3 PLA PAL ROM itercoexioes (re)programables CPLD
versió 2/9/4 a b a, b 2 etradas de datos de bits c i etrada de acarreo s salida de datos de bits c o salida de acarreo c o + s c i realiza la suma biaria de a+ b+ c i s= (a + b+ c i ) mod 2 (a+ b+ c i ) 2 c o = e caso cotrario 32
versió 2/9/4 c o a 3 FA b 3 a 2 FA b 2 a FA b a FA b c i Implemetació co propagació de acarreos Sumador de 4 bits a i b i s 3 s 2 s s 33 c i a i b i c o s i s i = (a i b i ) c i c o c o = a i b i + a i c i + b i c i = a i b i + (a i b i ) c i (*) FA (*) a b + a c + b c = a b + (a b c + a b c) + (a b c + a b c) = = a b + a b c + a b c = a b + (a b + a b) c s i c i
versió 2/9/4 Varios sumadores se puede compoer e serie para para comportarse como u sumador de mayor achura. a 7..4 b 7..4 a 3.. b 3.. 4 4 4 4 c O + s 7..4 Implemetació serie 4 + s 3.. 4 c i Sumador de 8 bits 34
versió 2/9/4 a b a, b 2 etradas de datos de bits c i etrada de acarreo r salida de datos de bits c o salida de acarreo c o - r c i realiza la resta biaria de a b c i s= (a b c i ) mod 2 (a b c i ) < c o = e caso cotrario 35
versió 2/9/4 c o a 3 FS b 3 a 2 FS b 2 a FS b a FS b c i Implemetació co propagació de acarreos Restador de 4 bits a i b i s 3 s 2 s s c i a i b i c o r i c o r i = (a i b i ) c i c o = a i b i + a i c i + b i c i = a i b i + (a i b i ) c i FS c i 36 s i
versió 2/9/4 Varios restadores se puede compoer e serie para para comportarse como u restador de mayor achura. a 7..4 b 7..4 a 3.. b 3.. 4 4 4 4 c O - s 7..4 Implemetació serie 4 - s 3.. 4 c i Restador de 8 bits 37
versió 2/9/4 a b a, b 2 etradas de datos de bits G i, L i 2 etrada de acarreo =/</> G i L i G o, L o 2 salidas de comparació G o L o a> b a b compara 2 úmeros biarios si (a>b) o (a=b y G i >L i ) G o = e caso cotrario si (a<b) o (a=b y G i <L i ) L o = e caso cotrario 38 a= b a< b
versió 2/9/4 39 a i b i G i L i G o L o G o L o CMP a i b i G i L i
versió 2/9/4 G o L o a 3 b 3 CMP a 2 b 2 CMP a b CMP a b Implemetació e serie Comparador de 4 bits G o L o CMP a 3 b 3 CMP a 2 b 2 a b a b CMP Implemetació e árbol Comparador de 4 bits 4
versió 2/9/4 a b a, b 2 etradas de datos de bits op etrada de selecció de operació ov +/- op s ov salida de datos de bits salida de overflow 4 s s= ov = a+ b si op = a+ b+ si op = realiza la suma/resta e ay b (iterpretados e C2) a b= a+ ( b) = C2 a+ C2(b) = a+ C(b) + = a+ b+ (b op)= y a = y s = ó (b op)= y a = y s = e caso cotrario = a+ (b op) + op
versió 2/9/4 a 3 b 3 a 2 b 2 a b a b op 42 ov FA s 3 FA s 2 FA s FA s Implemetació co propagació de acarreos Sumador/restador de 4 bits
versió 2/9/4 a 3 b 3 a 2 b 2 a b a b op ov FA s 3 FA s 2 FA s FA s Implemetació co propagació de acarreos Sumador/restador de 4 bits 43
versió 2/9/4 44 c v z a ALU s b 2 operacioes lógicas m op op z m op ot(a) ad( a, b) a or(a, b) a, b 2 etradas de datos de bits m op s c v z etrada de selecció de modo etrada de selecció de operació salida de datos de bits salida de acarreo salida de overflow salida de detecció de cero salida de detecció de egativo operacioes aritméticas m op op z a+ b a = a+ ( ) = C2 a+ a b a+ = a ( ) = C2 a
versió 2/9/4 45 op op m 2 3 z = s - a b op ov c +/- op s
versió 2/9/4 Los módulos preseta alguas características iteresates: o Tiee estructuras geéricas fácilmete escalables. o Procesa palabras de datos y o solo bits idividuales. o Puede realizar distitas fucioes segú el valor de ciertas etradas de cotrol. o Tiee fucioalidades abstractas que permite diseñar/describir de maera estructurada sistemas complejos si teer recurrir a EC/: Basta co itercoectarlos si crear realimetacioes Y usar discrecioalmete puertas (glue logic) para adaptar señales. 46
versió 2/9/4 E muchos casos es posible obteer directamete ua red de módulos combiacioales desde u euciado. x x 47 z= abs( x) = valor absoluto de u úmero e C2 z x si x x si x < z= abs( x) = C2 x si x = C2(x) = ot(x)+ si x = - z +
Biblioteca de celdas: CMOS 9 m versió 2/9/4 Módulo Área ( m 2 ) Retardo (ps) Cosumo estático (W) Cosumo diámico (W/MHz) fuete: Syopsys (SAED EDK 9 m).592 223 84 8639 23.4 25 63 569 29.492 29.492 9 (z ) 89 (z ) 32 (z 2 ) 27 (z 3 ) 25 (s) 226 (c) 23 543 59 5374 (s) 73 (c) 48
versió 2/9/4 Licecia CC (Creative Commos) o Ofrece alguos derechos a terceras persoas bajo ciertas codicioes. Este documeto tiee establecidas las siguietes: Recoocimieto (Attributio): E cualquier explotació de la obra autorizada por la licecia hará falta recoocer la autoría. 49 No comercial (No commercial): La explotació de la obra queda limitada a usos o comerciales. Compartir igual (Share alike): La explotació autorizada icluye la creació de obras derivadas siempre que matega la misma licecia al ser divulgadas. Más iformació: https://creativecommos.org/liceses/by c sa/4./