Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Circuito lógico para operaciones aritméticas y lógicas en 16 bits - Prof. Cruz Díaz, Monografías, Ensayos de Introducción a los Ordenadores

Un circuito integrado que permite realizar operaciones aritméticas y lógicas en 16 bits. La operación a realizar se selecciona mediante un input de 3 bits y dos inputs de 16 bits x e y. Las operaciones posibles son and, or, xor, cmplt, cmple, cmpltu, cmpleu, cmplt(signed), cmple(signed), cmpltu(unsigned), cmpleu(unsigned), not, add y sub. Además, el circuito permite realizar desplazamientos aritméticos a la izquierda o derecha de hasta 16 bits. La documentación incluye detalles de la implementación del circuito y ejemplos de uso.

Tipo: Monografías, Ensayos

2016/2017

Subido el 25/11/2017

showmyy
showmyy 🇪🇸

2.4

(8)

2 documentos

1 / 52

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Digit@Lib
Juan J. Navarro
Toni Juan
Primera versión: 13-04-2004
Versión actual: 1-04-2005
Departament d´Arquitectura de Computadors
Facultat d´Informàtica de Barcelona
Universitat Politècnica de Catalunya
Z
0
1
D
Q
AND
X
0123
4567
89AB
CDEF
X · y
01
Mx NOT OR
z
sc
Ha
LdREG
sc
Fa +1
0123
0
1MUX 2
01234567
0
1MUX
2
ADD ADD
c
vREGFILE
D
A
@B
B
@D
@A
WrD
SUB
-
+
SUB
-
+c
v
REG
00
1
e
Dec
0
0
1
e3
21
Dec
0
0
1
e
3
2
1
24
5
6
7
Dec
MUX
01 0123
0
1Mx 2
01234567
0
1Mx
3
5
6
8
3
6
8
SL-1 SL-2 SL-4 SL-8 SRA-1 SRA-2 SRA-4 SRA-8
SHA SHL
SRL-1 SRL-2 SRL-4 SRL-8
XY
AL FXY
CMP F
XY
ALU
zF
Cmp/Al
XOR
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34

Vista previa parcial del texto

¡Descarga Circuito lógico para operaciones aritméticas y lógicas en 16 bits - Prof. Cruz Díaz y más Monografías, Ensayos en PDF de Introducción a los Ordenadores solo en Docsity!

Digit@Lib

Juan J. Navarro

Toni Juan

Primera versión: 13-04-

Versión actual: 1-04-

Departament d´Arquitectura de Computadors

Facultat d´Informàtica de Barcelona

Universitat Politècnica de Catalunya

Z

(^10) D

Q

AND

X

0 1 2 3 4 5 6 7 8 9 A B C D E F

X · y

10 Mx NOT^ OR

s c z

Ha

Ld REG c s

Fa +

03210 (^1) MUX (^) 2

076543210 1 2 MUX

ADD ADD

c v

REGFILE

D

A

@B B

@D

@A

WrD

SUB

+^ - SUB

c+^ - v

0 01^ REG e

Dec

0

0 1

e

3

1 2

Dec 0

0 1

e

3

2 1 (^2 ) 6 7

Dec

MUX

1 0 03210 (^1) Mx (^) 2

076543210 1 Mx

(^3568368)

SL-1 SL-2 SL-4 SL-8 SRA-1 SRA-2 SRA-4 SRA-

SHA SHL

SRL-1 SRL-2 SRL-4 SRL-

X Y AL F^

X Y CMP F

X Y

ALU

z (^) F

Cmp/Al

XOR

2 Introducción a los Computadores

4 Introducción a los Computadores

Se han numerado las patillas, tanto de entrada como de salida, en los dispositivos en que estas no son intercambiables, como

los decodificadores y multiplexores. En el caso del restador SUB se han etiquetado con el símbolo + y - las entradas para

diferenciar cuál es el minuendo y cuál es el sustraendo.

Aunque no aparezca el nombre de una patilla en el símbolo de un dispositivo por razones de espacio y estéticas, todas las

patillas debentener un nombre, para poder expresar con claridad la funcionalidad del dispositivo. En la parte superior

derecha de la ficha de descripción de cada dispositivo se incluye su símbolo y en el exterior de cada patilla se indica su

nombre. El nombre de cada patilla coincide con el del PortConnector correspondiente a esa patilla en el circuito interno del

dispositivo.

Las patillas de un dispositivo pueden ser de un bit (binary input, binary output o 1-bit input, 1-bit output) o buses de n bits --

vectores de n bits-- (n-bit input, n-bit output). Este aspecto se ve reflejado en el nombre de la patilla/PortConnector.

- 1-bit: se nombran con una letra minúscula (v.g.: x) o con una letra minúscula seguida de un número (por ejemplo, x1) o

con una secuencia de letras en las que la primera letra tiene que ser mayúscula, pero no pueden ser todas mayúsculas (v.g:

Ld, WrRd). En un circuito, la señal de selección de un multiplexor-2-1 (tanto de buses como de bits) se suele nombrar

con una secuencia de caracteres que hace referencia a la entrada o a la acción seleccionada cuando la señal de selección

vale 1 (v.g.: TknBr). También se puede nombrar con dos nombres separados por el símbolo /. El primer nombre hace

referencia a la entrada seleccionada por el valor 1 y el segundo a la entrada seleccionada por un 0 (v.g.: In/Ld)

- n-bits: En el nombre no se ve el valor de n (que siempre es mayor que 1 y en la mayoría de los casos en esta librería vale

16, aunque hay casos en que vale 6 y 3). Se nombran con una o varias letras mayúsculas que pueden ir seguidas de un

número (v.g.: A, D0, DATAIN).

3 Sobre las señales/buses y los mnemotécnicos

Las mismas normas que se aplican a las patillas de un dispositivos (y PortConnectors de su circuito interno) se aplican a las

señales binarias (1-bit) o a los buses (n-bits) que conectan patillas de dispositivos en un circuito. Además, estas mismas

reglas se siguen para los mnemotécnicos y nombres de los dispositivos, de acuerdo con el número de bits de sus salidas. Por

ejemplo: AND es el mnemotécnico y el nombre del 16 Bit-wise And Operator, MUX-2-1 es el nombre del 16 Bit-wide 2-to-

1 Multiplexer mientras que Mx-2-1 es el nombre del 2-to-1 Multiplexer.

En LogicWorks, para obtener las señales binarias contenidas en un bus de n bits se usa un Breakout, como se muestra en la

siguiente figura. Sea cual sea el nombre de un bus, en todos los circuitos internos de esta librería, las señales binarias que lo

forman se nombran siempre como (ver figura):

bn-1, ....b2, b1, b

La letra b hace referencia a bit. Necesitamos poner una letra ya que si una señal de un bus se llama 0 o 1, el valor de esa señal

se fija siempre a 0 o 1, y eso no es lo que queremos. Esto es muy importante ya que si las señales que forman un bus no

tienen estos nombres, los PortConectors de la librería no pueden funcionar correctamente. Por supuesto que buses distintos

tienen que tener nombres distintos, pero sus señales internas siempre se deben llamar bn-1, ....b2, b1, b0.

4 Interpretación de la información representada en un bus o patilla de n-bits

Por último definimos un convenio que usamos a menudo en las fichas descriptivas de los dispositivos para indicar el valor

que representa un vector de n bits.

Para hacer referencia a un bit concreto de un bus, o de un PortConnector de n-bits, usaremos el nombre del bus seguido del

nombre del bit entre paréntesis. Por ejemplo, si el bus se denomina ALUOUT, denotamos el bit 0 como ALUOUT(b0). Para

Digit@Lib 5

referirnos a un subvector de bits denotamos entre paréntesis el rango de bits indicando primero el nombre del bit de mayor

peso seguido del símbolo ’:’ y a continuación el nombre del bit de menor peso. Por ejemplo, ALUOUT(b5:b0).

Un bus, una patilla de n-bits, o un PortConector de n-bits, es un vector de n bits que puede codificar cualquier tipo de

información. El significado de cada una de las posibles codificaciones del vector de bits se especificará mediante una tabla

para describir la funcionalidad del dispositivo. En caso de que la interpretación sea de un número natural codificado en

binario (unsigned integer) o de un número entero codificado en complemento a 2 (signed integer) se usa la siguiente

convención. Para referirnos al valor numérico que representa el vector de bits se usa el mismo nombre del bus/patilla

seguido de la letra minúscula u, para el valor interpretado como natural (unsigned), o bien seguido de la letra minúscula s

para la interpretación como entero (signed). Así pues, dado el bus/patilla X,

Fe de erratas

- En el dispositivo Flip-Flop, la Entrada D y la salida Q son de 1 bit y por ello, siguiendo con nuestra propia norma

deberían llamarde d y q (con minúsculas) respectivamente.

Agradecimientos

Deseamos agradecer a Ramón Canal, Llorenç Cruz, Anna del Corral, Eduard Lara,Víctor Muntés y Oscar Palomar, por la

ayuda recibida en la revisión del documento y por la propuesta de sugerencias para mejorarlo.

Xu X bi ( ) 2

i

×

i = 0

n – 1

Xs – X ( bn – 1 ) 2

n – 1

× X bi ( ) 2

i

×

i = 0

n – 2

8 Introducción a los Computadores

10 Introducción a los Computadores

Description: The 16-bit output W is the result of an arithmetic/logic operation or a comparison applied to the 16-bit inputs X and Y. The type of operation is selected by the 3-bit input F and by the binary input Cmp/Al according to the table:

OP Cmp/Al = 1 Cmp/Al = 0


000 CMPLT(X, Y) AND(X, Y) 001 CMPLE(X, Y) OR(X, Y) 010 --- XOR(X,Y) 011 CMPEQ(X, Y) NOT(X) 100 CMPLTU(X, Y) ADD(X, Y) 101 CMPLEU(X, Y) SUB(X, Y) 110 --- SHA(X ,Y) 111 --- SHL(X, Y)

If the ALU performs a comparison the result can be true or false. If the result is true then W(b0) = 1 else W(b0) = 0. Moreover, W(bi) = 0 for i = 1 to 15. The 1-bit output z indicates when the output W is a vector of 16 zeroes.

F

16 Bit-wide ALU ALUupg

W

Cmp/Al

X Y

z

MUX

z

X Y

Cmp/Al

W

z

X Y

ALU

z (^) F

Cmp/Al

3 F

X Y

AL

F

X Y

CMP

F

Digit@Lib 13

Implementations Details:

F CMPxxx Logic Function


000 CMPLT(X, Y) n ^ v 001 CMPLE(X, Y) (n ^ v) + z 010 --- 0 011 CMPEQ(X, Y) z 100 CMPLTU(X, Y) c 101 CMPLEU(X, Y) c + z 110 --- 0 111 --- 0

Description: The 16-bit output W has only two posible values as the result of a comparison: true or false. True is coded as W(b0) = 1 and false as W(b0) = 0. For all the cases W(bi) = 0 for i = 1 to 15. The type of comparison and the consideration of the 16-bit inputs X and Y as signed or as unsigned integers is chosen by the 3-bit selection input F according to the next table:

F W CMPxx(X, Y) Name


000 Xs < Ys CMPLT(X, Y) Less Than (Signed) 001 Xs <= Ys CMPLE(X, Y) Less than or Equal (Signed) 010 --- --- 011 X ==Y CMPEQ(X, Y) Equal 100 Xu < Yu CMPLTU(X, Y) Less Than Unsigned 101 Xu <= Yu CMPLEU(X, Y) Less than or Equal Unsigned 110 --- --- 111 --- ---

F

c v (^) z

16 Bit-wide Signed and Unsigned Comparator CMP

W

n

X Y

X Y

W

b

b15 b14 b13b12 b11 b10b9 b8 b7 b6 b5 b4 b3 b2 b1 b

b0b1b

z

SUB

c+^ - v

Mx

F 3

X Y

CMP

F

14 Introducción a los Computadores

16 Introducción a los Computadores

  • ADD Contents
  • ADDwCinCV
  • AL
  • ALUupg
  • AND
  • And-4
  • CMP
  • Dec-1-2
  • Dec-2-4
  • Dec-3-8
  • Fa
  • Ha
  • INC
  • MULBIT
  • MUX-2-1
  • MUX-4-1
  • MUX-8-1
  • Mx-2-1
  • Mx-4-1
  • Mx-8-1
  • NOT
  • OR
  • Or-4
  • REG
  • REGFILE
  • REGwLd
  • SHA
  • SHL
  • SL-1
  • SL-2
  • SL-4
  • SL-8
  • SRA-1
  • SRA-2
  • SRA-4
  • SRA-8
  • SRL-1
  • SRL-2
  • SRL-4
  • SRL-8
  • SUB
  • SUBwCV
  • XOR
  • Xor-2
  • Zero
  • Digit@Lib
  • Digit@Lib
  • Digit@Lib
  • Digit@Lib
  • Digit@Lib

20 Introducción a los Computadores