Está en la página 1de 26

Arquitectura de la Computadora

Unidad Número 1:

-)Los sistemas numéricos de distintas bases.

Un sistema de numeración es un conjunto de símbolos y reglas de generación que permiten construir


todos los numeros validos.

Sistema Decimal: 0,1,2,3,4,5,6,7,8,9...(B=10)


Sistema Octal: 0,1,2,3,4,5,6,7,10,11,12,13,14,15...(B=8)
Sistema Hexadecimal: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10...(B16)
Sistema Binario: 0,1,10,11,100,101,110,111,1000,1001....(B=2)

El sistema binario, en ciencias e informática, es un sistema de numeración en el que los números se


representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras,
debido a que trabajan internamente con dos niveles de voltaje, por lo cual su sistema de numeración
natural es el sistema binario (encendido 1, apagado 0).

-)Converciones de sistemas de numeracion:

1) Decimal a binario: (metodo de diviciones sucesivas)

2) Decimal Fraccionario a binario:

3)Binario a decimal:

1
4) Decimal a Octal:

5) Octal a Binario:

6) Decimal a Hexa:

7) Hexadecimal a Decimal:

8) Hexadecimal a Binario:

2
F51(16) combertir
a base (2)
F=1111
5=0101
1=0001

Resultado:
111101010001 (2)

-) Sistemas de codificacion:

1) BCD (sistema ponderado)

En sistemas de computación, Binary-Coded Decimal (BCD) o Decimal codificado en binario es un


estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es
codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos decimales en el
sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división
de números en representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes
en que normalmente se incurre con las conversiones de decimal a binario puro y de binario puro a
decimal. La conversión de los números decimales a BCD y viceversa es muy sencilla, pero los cálculos
en BCD se llevan más tiempo y son algo más complicados que con números binarios puros.

8 4 2 1
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7

3
1 0 0 0 8
1 0 0 1 9
2) AIKEN (sistema ponderado)

2 4 2 1
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4

1 0 1 1 5
1 1 0 0 6
1 1 0 1 7
1 1 1 0 8
1 1 1 1 9

3) Exeso de 3 (sistema ponderado)

0 0 1 1 0
0 1 0 0 1
0 1 0 1 2
0 1 1 0 3
0 1 1 1 4
1 0 0 0 5
1 0 0 1 6
1 0 1 0 7
1 0 1 1 8
1 1 0 0 9

4) Progresivo Ciclico: (No ponderado)

0 0 1 0 0
0 1 1 0 1
0 1 1 1 2
0 1 0 1 3

4
0 1 0 0 4
1 1 0 0 5
1 1 0 1 6
1 1 1 1 7
1 1 1 0 8
1 0 1 0 9
5) Biquinario (Sistema ponderado)
este codigo tiene cantidad constante de unos, como motodo para detectar errores.

5 0 4 3 2 1 0

0 0 1 0 0 0 0 1

1 0 1 0 0 0 1 0

2 0 1 0 0 1 0 0

3 0 1 0 1 0 0 0

4 0 1 1 0 0 0 0

5 1 0 0 0 0 0 1

6 1 0 0 0 0 1 0

7 1 0 0 0 1 0 0

8 1 0 0 1 0 0 0

9 1 0 1 0 0 0 0

-) Complemento a la base:

Los complementos son muy usados en los sistemas digitales al momento de realizar operaciones de
resta. Existen dos tipos de complemento. El complemento a b y el complemento a b-1 donde b es la
base. Es decir, para los números binarios existen los complementos a 2 y a 1. En base octal serían
complemento a 8 y a 7, etc. El complemento a b se define de la siguiente forma:

Complemento a Base
Teniendo un número N de n dígitos enteros, el complemento a b de N = (bn - N) si N ≠ 0 y será 0 si
N=0. Esto se cumple para todos los números N positivos incluso con fracción decimal. El único caso
especial a considerar es cuando la parte entera es cero. Esto se interpreta como que n = 0.

Veamos algunos ejemplos: ¿Cuál es el complemento a 10 de (987)10? En este caso N = 987 y n = 3,


entonces:
10^3 - 987 = 1000 - 987 = 13
complemento a 10 de (987,125)10? N= 987,125 y n = 3, por lo tanto:
10^3 - 987,125 = 1000 - 987,125 = 12,875

5
complemento a 2 de (10101100)2 tenemos que n=8, entonces:
(28)^10 - (10101100)2 = (256)10 - (10101100)2 = (100000000 - 10101100)2 = (01010100)2

complemento a 2 de (1010)2 es
(10000 - 1010)2 = (0110)2
Obsérvese que para calcular el complemento a 2 de un número binario sólo basta con revisar todos
los dígitos desde el menos significativo hacia el más significativo y mientras se consiga un cero,
dejarlo igual, al conseguir el primer número 1, dejarlo igual para luego cambiar el resto de ellos hasta
llegar al más significativo. Así podemos decir rápidamente que el complemento a 2 de (10100000)
2 es (01100000)2, que el complemento a 2 de (111)2 es (001)2, etc. Otra forma muy sencilla de
hallar el complemento a 2 de un número binario es invirtiendo todos los dígitos (que como veremos
a continuación es lo que se conoce como complemento a 1) y sumándole uno al resultado obtenido.
Pruébenlo.

#)Complemento a b-1
Teniendo un número positivo N en base b con n dígitos enteros y m dígitos en la fracción decimal, se
conoce como complemento a b-1 de N a
b^n - b-m - N
Veamos entonces. Para el complemento a 9 de (987)10 tenemos que N = 987, n = 3 y m = 0, por lo tanto
10^3 - 100 - 987 = 1000 - 1 - 987 = 12
Para el complemento a 9 de (0,125)10 tenemos que N = 0,125 y n = 0 y m = 3, entonces
100 - 10-3 - 0,25 = 1 - 0,001 - 0,125 = 0,999 - 0,125 = 0,874
Y ¿qué hay del complemento a 9 de (987,125)10? En ese caso N= 987,125 ; n = 3 y m = 3, por lo tanto
10^3 - 10-3 - 987,125 = 1000 - 0,001 - 987,125 = 999,999 - 987,125 = 12,874
Observen que en este caso sí es lo mismo calcular el complemento de la parte entera y el de la fracción
decimal por separado y juntar ó sumar los resultados.
Algunos ejemplos en binario. Para el complemento a 1 de (10101100)2 sabemos que n=8 y m=0 =>
(28)10 -1 - (10101100)2 = (256)10 - 1 - (10101100)2 = (100000000 - 1 - 10101100)2 = (01010011)2
y que el complemento a 1 de (1010)2 es
(10000 - 1 - 1010)2 = (0101)2
En estos dos últimos ejemplos se puede observar que para conseguir el complemento a 1 de un número
binario basta con tan solo invertir todos los dígitos (esto quiere decir cambiar 0 por 1 y viceversa). Es por
esto que les comenté anteriormente que otra forma de calcular el complemento a 2 de un número binario
es hallando el complemento a 1 (o sea invertir todos los digitos) y sumarle 1.

#)Resta por complemento a b:


Si queremos realizar una resta basándonos en el complemento a b (base) lo que hacemos es sumar al
minuendo el complemento a b del sustraendo. Si la suma acarrea 1, éste se descarta. En caso contrario
se dice que el número es negativo y será el complemento a b del resultado de la suma.
Veamos un ejemplo con números: (123 - 023)10 ; aquí el complemento a 10 de 23 es 977, entonces:
123
+ 977
-------------------------
1 100
El primer 1 es el acarreo por lo que la respuesta es 100. OJO: al usar este método debe considerar
todos los números con la misma cantidad de dígitos.

#)Resta por complemento a b-1:

6
Este caso es muy similar al caso anterior con la diferencia del acarreo. Aquí, en el caso de haber un
acarreo, éste no es descartado sino que el mismo es sumado al resultado de la suma para obtener el
resultado final. En caso de no tener acarreo, al igual que antes, se procede a realizar el complemento del
resultado de la suma y agregarle un signo negativo.
Veamos algunos ejemplos: (123 - 023)10 ; el complemento a 9 de 23 es 976 , entonces
123
+ 976
--------------
1 099
+1
--------------
100
Veamos algunos casos con números binarios. Realizar la resta por complemento a 2 y por complemento
a 1 de: (10101110 – 110010)2

Por el método de complemento a 2 tenemos: El complemento a 2 de 110010 (recordando que debe tener
8 dígitos) es 11001110 entonces
10101110
+ 11001110
-------------------
1 01111100
de lo que se concluye que (10101110 - 110010)2 = (1111100)2

Veámoslo ahora por el método de complemento a 1. Aquí tendríamos que complemento a 1 de 110010
es 11001101, entonces
10101110
+ 11001101
-------------------
1 01111011
por lo que tenemos que hacer (01111011 + 1)2 resultando (01111100)2.

¿Por qué haríamos una resta con complemento? La suma es mucho más sencilla de implementar en los
sistemas digitales; y por otro lado, aunque en base 10 no tenemos problemas para realizar una resta,
hacer el mismo proceso para otras bases no nos será tan intuitivo por lo que estos métodos facilitarían el
proceso del cálculo.
Como comentario final me gustaría acotar que las computadoras trabajan los números negativos a través
del complemento a dos. Para ellas, el primer bit del byte indica el signo. Si este es uno (1) querrá decir
que el número es negativo.

Unidad Numero 2:

-)Sistema Combinacional:
se denomina sistema combinacional o lógica combinacional a todo sistema digital en el que sus
salidas son función exclusiva del valor de sus entradas, en la electrónica digital la lógica combinacional
esta formada por ecuaciones simples a partir de ecuaciones del álgebra de boole.

Pasos para resolver un Sistema Secuencial:

7
1. definir variables de entrada y salida.
2. confeccionar tabla de verdad.
3. obtener funciones canónicas que representen el problema.
4. simplificar ecuaciones, con metodo de Karnaugh o algebra de boole.
5. implementar deacuerdo con la tecnologia propuesta.

-)Mapas de Karnaugh:
Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado
como Mapa-K o Mapa-KV) es un diagrama utilizado para la simplificación de funciones algebraicas
Booleanas. El mapa de Karnaugh fue inventado en 1950 por Maurice Karnaugh, un físico y
matemático de los laboratorios Bell.
Los mapas de Karnaugh reducen la necesidad de hacer cálculos extensos para la simplificación de
expresiones booleanas, aprovechando la capacidad del cerebro humano para el reconocimiento de
patrones y otras formas de expresión analítica, permitiendo así identificar y eliminar condiciones muy
inmensas.

#)Reglas, pasos para la simplificacion:


1. se pasan los ”1”, los “0” y las “x” de la funcion al mapa.
2. los los casilleros que tiene lados en comun, “fisicamente adyasentes” corresponden
corresponden a terminos canonicos.
3. agrupar los “1” y los “0” en forma separadas teniendo en cuanta las sigientes reglas:
a) se toman todos los “1” y “0” que no se puededan convinar
b) se forman los grupos de 2 que no pueden formar un grupo de 4
c) se forman los grupos de 4 que no pueden formar un grupo de 8
d) cuando se allan obtenido todos los terminos el proceso termina.
!el numero de terminos canonicos adyasentes deve ser potencia de 2!
!las X se pueden agarrar como 0 o como 1!
!los 1 y 0 se puden reutilizar!

-)Compuertas logicas:

AND: realiza la función boleana del producto:

0 0 0

8
0 1 0

1 0 0

1 1 1

OR: realiza la operacion boleana de la suma.

0 0 0

0 1 1

1 0 1

1 1 1

XOR, o or-exclusiva: realiza la función booleana A'B+AB'. Su símbolo :

0 0 0

0 1 1

1 0 1

1 1 0

NAND realiza la operación de producto lógico negado:

0 0 1

0 1 1

1 0 1

9
1 1 0

NOR realiza la operación de suma lógica negada:

0 0 1

0 1 0

1 0 0

1 1 0

NOT realiza la función booleana de inversión o negación de una variable lógica:

0 1

1 0

Circuitos Lógicos combinacionales(MSI): mediana escala de integración.


son bloques completos que ejecutan una función específica, internamente están hechos con muchas
compuertas básicas y universales con una rango aproximado de 12 a 99 compuertas discretas.

-)Un codificador:
es un circuito combinacional con 2N entradas y N salidas, cuya misión es presentar en la salida el
código binariocorrespondiente a la entrada activada.
Existen dos tipos fundamentales de codificadores: codificadores sin prioridad y codificadores con
prioridad. En el caso de codificadores sin prioridad, puede darse el caso de salidas cuya entrada no
pueda ser conocida: por ejemplo, la salida 0 podría indicar que no hay ninguna entrada activada o
que se ha activado la entrada número 0. Además, ciertas entradas pueden hacer que en la salida
se presente la suma lógica de dichas entradas, ocasionando mayor confusión. Por ello, este tipo de
codificadores es usado únicamente cuando el rango de datos de entrada está correctamente acotado y
su funcionamiento garantizado.

Para evitar los problemas anteriormente comentados, se diseñan los codificadores con prioridad.

10
En estos sistemas, cuando existe más de una señal activa, la salida codifica la de mayor prioridad
(generalmente correspondiente al valor decimal más alto). Adicionalmente, se codifican dos salidas
más: una indica que ninguna entrada está activa, y la otra que alguna entrada está activa. Esta medida
permite discernir entre los supuestos de que el circuito estuviera deshabilitado por la no activación de
la señal de capacitación, que el circuito no tuviera ninguna entrada activa, o que la entrada número 0
estuviera activada.

-)Un decodificador
o descodificador es un circuito combinacional, cuya función es inversa a la del codificador, esto es,
convierte un código binario de entrada (natural, BCD, etc.) de N bits de entrada y M líneas de salida (N
puede ser cualquier entero y M es un entero menor o igual a 2N), tales que cada línea de salida será
activada para una sola de las combinaciones posibles de entrada. Estos circuitos, normalmente, se
suelen encontrar como decodificador / demultiplexor. Esto es debido a que un demultiplexor puede
comportarse como un decodificador.
Si por ejemplo tenemos un decodificador de 2 entradas con 22=4 salidas, en el que las entradas, su
funcionamiento sería el que se indica en la siguiente tabla, donde se ha considerado que las salidas se
activen con un "uno" lógico: esto es parte fundamental de la vida del devenir

A B D3 D2 D1 D0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0

-)Multiplexores:
son circuitos combinacionales con varias entradas y una única salida de datos, están dotados de
entradas de control capaces de seleccionar una, y sólo una, de las entradas de datos para permitir su
transmisión desde la entrada seleccionada hacia dicha salida.
En el campo de la electrónica el multiplexor se utiliza como dispositivo que puede recibir varias
entradas y transmitirlas por un medio de transmisión compartido. Para ello lo que hace es dividir el
medio de transmisión en múltiples canales, para que varios nodos puedan comunicarse al mismo
tiempo.

Estos circuitos combinacionales poseen líneas de entrada de datos, una línea de salida y n
entradas de selección. Las entradas de selección indican cuál de estas líneas de entrada de datos es
la que proporciona el valor a la línea de salida.
También se pueden construir multiplexores con mayor número de entradas utilizando multiplexores de
menos entradas, utilizando la composición de multiplexores.
En electrónica digital, es usado para el control de un flujo de información que equivale a un

11
conmutador. En su forma más básica se compone de dos entradas de datos (A y B), una salida de
datos y una entrada de control. Cuando la entrada de control se pone a 0 lógico, la señal de datos A es
conectada a la salida; cuando la entrada de control se pone a 1 lógico, la señal de datos B es la que se
conecta a la salida.
El multiplexor es una aplicación particular de los decodificadores, tal que existe una entrada de
habilitación (EN) por cada puerta ANDy al final se hace un OR entre todas las salidas de las puertas
AND.
La función de un multiplexor da lugar a diversas aplicaciones:
1. Selector de entradas.
2. Serializador: Convierte datos desde el formato paralelo al formato serie.
3. Transmisión multiplexada: Utilizando las mismas líneas de conexión, se transmiten
diferentes datos de distinta procedencia.
4. Realización de funciones lógicas: Utilizando inversores y conectando a 0 o 1 las entradas
según interese, se consigue diseñar funciones complejas, de un modo más compacto que
con las tradicionales puertas lógicas.

-)Demultiplexor:
es un circuito combinacional que tiene una entrada de información de datos d y n entradas de control
que sirven para seleccionar una de las 2n salidas, por la que ha de salir el dato que presente en la
entrada. Esto se consigue aplicando a las entradas de control la combinación binaria correspondiente
a la salida que se desea seleccionar. Por ejemplo, si queremos que la información que tenemos en la
entrada d, salga por la salida S4, en la entrada de control se ha de poner, de acuerdo con el peso de la
mísma, el valor 100, que es el 4 en binario.
En el campo de las telecomunicaciones el demultiplexor es un dispositivo que puede recibir a través de
un medio de transmisión compartido una señal compleja multiplexada y separar las distintas señales
integrantes de la misma encaminándolas a las salidas correspondientes.
La señal compleja puede ser tanto analógica como digital y estar multiplexada en cualquiera de las
distintas formas posibles para cada una de ellas.

-)sumador:
es un circuito lógico que calcula la operación suma. En loscomputadores modernos se encuentra en
lo que se denomina Unidad aritmético lógica(ALU). Generalmente realizan las operaciones aritméticas
en código binario decimal o BCD exceso 3, por regla general los sumadores emplean el sistema
binario. En los casos en los que se esté empleando un complemento a dos para representar números
negativos el sumador se convertirá en un sumador-substractor (Adder-subtracter).
Las entradas son A,B,Cin que son la entradas de bits A y B, y Cin es la entrada de acarreo. Por otra
parte, la salida es S y Cout es la salida de acarreo.

12
En la siguiente tabla muestra los resultados de este circuito.

Ent Sal

0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

la forma de las funciones para el acarreo y la suma respectivamente son:


S = a'b'Ci + a'bCi' + ab'Ci' + abCi
Co = a'bCi + ab'Ci + abCi' + abCi
Co = a'bCi + ab'Ci + ab

También se puede poner la salida S en función de Co:


S = CiCo' + bCo' + aCo' + abCo
Además, como lo único que se hace para incluir el acarreo en la suma es añadirlo a la operación, este
mismo circuito se puede formar anidando dos semisumadores, de manera que, la salida S del primer
semisumador se conecte a una de las entradas del segundo semisumador, la entrada Ci se conecte
con la otra entrada del semisumador, las salidas de acarreo se conectan a un or para proporcionar
la salida del acarreo total de la suma (Co) y la salida S del segundo semisumador se queda como
resultado total de la operación.

-)Generador de paridad:

13
En los generadores de paridad la paridad puede ser par o impar. El bit de paridad se utiliza para
detectar posibles errores en la transmisión del dato transmitido, mediante un comprobador de paridad
que recepciona la información con el fin de validarla.

Paridad par
El bit de paridad será un 0 si el número total de 1 a transmitir es par.La suma de los bits que son unos,
contando datos y bit de paridad dará siempre como resultado un número par de unos.

Dato Paridad

0000 0001 1

0101 0001 1

0101 0101 0

0000 0000 0

Paridad impar
El bit de paridad será un 1 si el número total de 1 es impar, el número de unos (datos + paridad)
siempre debe ser impar.

Dato Paridad

0000 0001 0

0101 0001 0

0101 0101 1

0000 0000 1

-)Biestable:
Un biestable (flip-flop o LATCH en inglés), es un multivibrador capaz de permanecer en uno de dos
estados posibles durante un tiempo indefinido en ausencia de Perturbaciones.1 Esta característica es
ampliamente utilizada en electrónica digital para memorizar información. El paso de un estado a otro se
realiza variando sus entradas. Dependiendo del tipo de dichas entradas los biestables se dividen en:

14
● Asíncronos: sólo tienen entradas de control. El más empleado es el biestable RS.
● Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj. Si las
entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario
asíncronas. Por lo general, las entradas de control asíncronas prevalecen sobre las síncronas.
La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de subida o de bajada).
Dentro de los biestables síncronos activados por nivel están los tipos RS y D, y dentro de los activos por
flancos los tipos JK, T y D.
Los biestables síncronos activos por flanco (flip-flop) se crearon para eliminar las deficiencias de los
latches (biestables asíncronos o sincronizados por nivel).

#)Flip-Flop SR:

Tabla de transición:
Qt Qt+1 S R

0 0 0 x

0 1 1 0

1 0 0 1

1 1 x 0

#)Flip-Flop JK:

j k q ¬q s r qt+1

0 0 0 1 0 0 0

0 0 1 0 0 0 1

15
0 1 0 1 0 0 0

0 1 1 0 0 1 0

1 0 0 1 1 0 1

1 0 1 0 0 0 1

1 1 0 1 1 0 1

1 1 1 0 0 1 0

tabla de transición:

Qt Qt+1 J K

0 0 0 X

0 1 1 X

1 0 X 1

1 1 X 0

#)Flip-Flop D: (delay)

Tabla de transición:
D qt+1

0 0

1 1

#)Flip-Flop T: (Toggle)

Tabla de transición:

T Q Q+1

0 0 0

0 1 1

1 0 1

16
1 1 0

-) sistemas Secuenciales:
A diferencia de los sistemas combinacionales, en los sistemas secuenciales, los valores de las salidas,
en un momento dado, no dependen exclusivamente de los valores de las entradas en dicho momento,
sino también dependen del estado anterior o estado interno.

#) pasos para resolver un problema de un circuito secuancial:

1. definir y codificar variables de entrada y salida.


2. confeccionar diagrama de estados, es un diagrama para mostrar o diagramar el razonamiento o
funcionamiento de una maquina.
3. definir la memoria necesaria
4. confeccionar tabla de verdad
5. obtener ecuaciones simplificadas
6. Implementar circuito digital.

Unidad Numero 3:

-)Memoria del Sistema:

La memoria de sólo lectura, conocida también como ROM (acrónimo en inglés de read-only memory),
es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite sólo
la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente
de energía.
Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera rápida o
fácil. Se utiliza principalmente para contener el firmware(programa que está estrechamente ligado a
hardware específico, y es poco probable que requiera actualizaciones frecuentes) u otro contenido
vital para el funcionamiento del dispositivo, como los programas que ponen en marcha el ordenador y
realizan los diagnósticos.
Fue desarrollada por toshiba, nasio para remplasar los discos duros que para la fecha eran cosas
opcionales en un pc, en 1980 venia el completo SO dentro de la memora ROM, años mas tarde
alcanso su funcion actual como metodo de almasenamiento no volatil de algunos programas y tablas
necesarias para el funcionamiento de la pc, dentro de la ROM se encuantra el sistema de arranque , la
BIOS.

Static Random Access Memory (SRAM), o Memoria Estática de Acceso Aleatorio es un tipo de
memoria basada en semiconductores que a diferencia de la memoria DRAM, es capaz de mantener
los datos, mientras esté alimentada, sin necesidad de circuito de refresco. Sin embargo, sí son
memorias volátiles, es decir que pierden la información si se les interrumpe la alimentación eléctrica.

Modos de operación de una SRAM


Una memoria SRAM tiene tres estados distintos de operación: standby, en el cual el circuito está en
reposo, reading o en fase de lectura, durante el cual los datos son leídos desde la memoria, y writing o
en fase de escritura, durante el cual se actualizan los datos almacenados en la memoria.

17
Reposo
Si bus de control (WL) no está activado, los transistores de acceso M5 y M6 desconectan la celda de
los buses de datos. Los dos biestables formados por M1 – M4 mantendrán los datos almacenados, en
tanto dure la alimentación eléctrica.

Lectura
Se asume que el contenido de la memoria es 1, y está almacenado en Q. El ciclo de lectura comienza
cargando los buses de datos con el 1 lógico, y luego activa WL y los transistores de control. A
continuación, los valores almacenados en Q y Q se transfieren a los buses de datos, dejando BL en
su valor previo, y ajustando BL a través de M1 y M5 al 0 lógico. En el caso que el dato contenido en la
memoria fuera 0, se produce el efecto contrario: BL será ajustado a 1 y BL a 0.

Escritura
El ciclo de escritura se inicia aplicando el valor a escribir en el bus de datos. Si se trata de escribir un
0, se ajusta BL a 1 y BL a 0, mientras que para un 1, basta con invertir los valores de los buses. Una
vez hecho esto, se activa el bus WL, y el dato queda almacenado.

DRAM (Dynamic Random Access Memory) es un tipo de memoria dinámica deacceso aleatorio que se
usa principalmente en los módulos de memoria RAM y en otros dispositivos, como memoria principal
del sistema. Se denomina dinámica, ya que para mantener almacenado un dato, se requiere revisar el
mismo y recargarlo, cada cierto período, en un ciclo de refresco. Su principal ventaja es la posibilidad
de construir memorias con una gran densidad de posiciones y que todavía funcionen a una velocidad
alta: en la actualidad se fabrican integrados con millones de posiciones y velocidades de acceso
medidos en millones de bit por segundo. Es una memoria volátil, es decir cuando no hay alimentación
eléctrica, la memoria no guarda la información. Inventada a finales de los 60, es una de las memorias
más usadas en la actualidad.
La memoria dinámica fue desarrollada en los laboratorios de IBM pasando por un proceso evolutivo
que la llevó de usar 6 transistores a sólo un condensador y un transistor, como la memoria DRAM
que conocemos hoy. La invención de esta última la hizo Robert Dennard1 quien obtuvo una patente
norteamericana en 19682por una memoria fabricada con un solo transistor de efecto de campo y un
condensador.
Los esfuerzos de IBM estaban encaminados a mejorar sus equipos de cómputo como por ejemplo la
línea System 360: el modelo 25 en 1968 ya incluía unScratchPad (una especie de Caché) en forma
de integrados 5 veces más rápidos que la memoria principal basada en núcleos de ferrita.3 Dado el
modelo de negocios de IBM que consistía en vender o arrendar computadores,4 un negocio rentable,
para IBM el uso de DRAM se reducía a ser el complemento de la memoria principal basada en núcleos
magnéticos. No hubo interés en comercializar ese tipo de memorias para otros fabricantes ni tampoco
se pensó en usar las tecnologías de estado sólido tipo SRAM o DRAM para construir la memoria
principal. La empresa Intel fue creada para aprovechar esa oportunidad de negocios: Gordon Moore,
observaba que hace tiempo la industria de los semiconductores se había estancado, a pesar de existir
potenciales usos de los integrados de silicio como la fabricación de memorias SRAM y DRAM.5.
Aunque Intel se inició con memorias SRAM como la i1101 y la i3101, el primer producto rentable fue el
integrado de memoria DRAM i1103 de 1024 bits. El i1103 lanzado en 1970 estaba formado por celdas
de memoria con 3 transistores tipo PMOS y un condensador,6estaba organizado en un arreglo de 32
filas y 32 columnas, empacado en un encapsulado de 18 pines y con un costo de 1 centavo por bit era
un fuerte competidor para las memorias de núcleo.

Funcionamiento:
La celda de memoria es la unidad básica de cualquier memoria, capaz de almacenar un Bit en los

18
sistemas digitales. La construcción de la celda define el funcionamiento de la misma, en el caso de
la DRAM moderna, consiste en un transistor de efecto de campo y un condensador. El principio de
funcionamiento básico, es sencillo: una carga se almacena en el condensador significando un 1 y sin
carga un 0. El transistor funciona como un interruptor que conecta y desconecta al condensador. Este
mecanismo puede implementarse con dispositivos discretos y de hecho muchas memorias anteriores a
la época de los semiconductores, se basaban en arreglos de celdas transistor-condensador.
Las celdas en cualquier sistema de memoria, se organizan en la forma de matrices de dos
dimensiones, a las cuales se accede por medio de las filas y las columnas. En la DRAM estas
estructuras contienen millones de celdas y se fabrican sobre la superficie de la pastilla de silicio
formando áreas que son visibles a simple vista. En el ejemplo tenemos un arreglo de 4x4 celdas, en el
cual las líneas horizontales conectadas a las compuertas de los transistores son las llamadas filas y
las líneas verticales conectadas a los canales de los FET son las columnas.
Para acceder a una posición de memoria se necesita una dirección de 4 bits, pero en las DRAM las
direcciones están multiplexadas en tiempo, es decir se envían por mitades. Las entradas marcadas
como a0 y a1 son el bus de direcciones y por el mismo entra la dirección de la fila y después la de la
columna. Las direcciones se diferencian por medio de señales de sincronización llamadas RAS (del
inglés Row Address Strobe) y CAS (Column Address Strobe) que indican la entrada de cada parte de
la dirección.
Los pasos principales para una lectura son:
● Las columnas son precargadas a un voltaje igual a la mitad del voltaje de 1 lógico. Esto es
posible ya que las líneas se comportan como grandes condensadores, dada su longitud tienen
un valor más alto que la de los condensadores en las celdas.
● Una fila es energizada por medio del decodificador de filas que recibe la dirección y la señal
de RAS. Esto hace que los transistores conectados a una fila conduzcan y permitiendo la
conexión electrica entre las líneas de columna y una fila de condensadores. El efecto es
el mismo que se produce al conectar dos condensadores, uno cargado y otro de carga
desconocida: se produce un balance de que deja a los dos con un voltaje muy similar,
compartiendo las cargas. El resultado final depende del valor de carga en el condensador de
la celda conectada a cada columna. El cambio es pequeño, ya que la línea de columna es un
condensador más grande que el de la celda.
● El cambio es medido y amplificado por una sección que contiene circuitos derealimentación
positiva: si el valor a medir es menor que el la mitad del voltaje de 1 lógico, la salida será un 0,
si es mayor, la salida se regenera a un 1. Funciona como un redondeo.
● La lectura se realiza en todas las posiciones de una fila de manera que al llegar la segunda
parte de la dirección, se decide cual es la celda deseada. Esto sucede con la señal CAS. El
dato es entregado al bus de datos por medio de la lineo D.O. y las celdas involucradas en el
proceso son reescritas, ya que la lectura de la DRAM es destructiva.

-)Disco duro:
En informática, un disco duro o disco rígido (en inglés Hard Disk Drive, HDD) es undispositivo de
almacenamiento de datos no volátil que emplea un sistema de grabación magnética para almacenar
datos digitales. Se compone de uno o más platos o discos rígidos, unidos por un mismo eje que gira
a gran velocidad dentro de una caja metálica sellada. Sobre cada plato, y en cada una de sus caras,
se sitúa un cabezal de lectura/escritura que flota sobre una delgada lámina de aire generada por la
rotación de los discos.

El primer disco duro, aparecido en 1956, fue el Ramac I, presentado con la computadora IBM 350:
pesaba una tonelada y su capacidad era de 5 MB. Más grande que una nevera actual, este disco duro
trabajaba todavía con válvulas de vacío y requería una consola separada para su manejo.

A lo largo de los años, los discos duros han disminuido su precio al mismo tiempo que han

19
multiplicado su capacidad, siendo la principal opción de almacenamiento secundario para PC desde
su aparición en los años 1960.1 Los discos duros han mantenido su posición dominante gracias a los
constantes incrementos en la densidad de grabación, que se ha mantenido a la par de las necesidades
de almacenamiento secundario.1
Los tamaños también han variado mucho, desde los primeros discos IBM hasta los formatos
estandarizados actualmente: 3,5 " los modelos para PC y servidores, 2,5 " los modelos para
dispositivos portátiles. Todos se comunican con la computadora a través del controlador de disco,
empleando una interfaz estandarizado. Los más comunes hasta los años 2000 han sido IDE (también
llamado ATA o PATA), SCSI (generalmente usado en servidores yestaciones de trabajo). Desde
el 2000 en adelante ha ido masificándose el uso de los Serial ATA. Existe además FC (empleado
exclusivamente en servidores).
Para poder utilizar un disco duro, un sistema operativo debe aplicar un formato de bajo nivelque
defina una o más particiones. La operación de formateo requiere el uso de una fracción del espacio
disponible en el disco, que dependerá del formato empleado

Características de un disco duro:


Las características que se deben tener en cuenta en un disco duro son:
● Tiempo medio de acceso: Tiempo medio que tarda la aguja en situarse en la pista y el sector
deseado; es la suma del Tiempo medio de búsqueda (situarse en la pista), Tiempo de
lectura/escritura y la Latencia media (situarse en el sector).
● Tiempo medio de búsqueda: Tiempo medio que tarda la aguja en situarse en la pista
deseada; es la mitad del tiempo empleado por la aguja en ir desde la pista más periférica
hasta la más central del disco.
● Tiempo de lectura/escritura: Tiempo medio que tarda el disco en leer o escribir nueva
información: Depende de la cantidad de información que se quiere leer o escribir, el tamaño de
bloque, el número de cabezales, el tiempo por vuelta y la cantidad de sectores por pista.
● Latencia media: Tiempo medio que tarda la aguja en situarse en el sector deseado; es la
mitad del tiempo empleado en una rotación completa del disco.
● Velocidad de rotación: Revoluciones por minuto de los platos. A mayor velocidad de rotación,
menor latencia media.
● Tasa de transferencia: Velocidad a la que puede transferir la información a la computadora
una vez la aguja está situada en la pista y sector correctos. Puede ser velocidad sostenida o
de pico.
● Caché de pista: Es una memoria tipo Flash dentro del disco duro.
● Interfaz: Medio de comunicación entre el disco duro y la computadora. Puede ser IDE/ATA,
SCSI, SATA, USB, Firewire, Serial Attached SCSI
● Landz: Zona sobre las que aparcan las cabezas una vez se apaga la computadora.

Direccionamiento

20
Pista (A), Sector (B), Sector de una pista (C), Clúster (D)
Hay varios conceptos para referirse a zonas del disco:
● Plato: cada uno de los discos que hay dentro del disco duro.
● Cara: cada uno de los dos lados de un plato.
● Cabeza: número de cabezales.
● Pistas: una circunferencia dentro de una cara; la pista 0 está en el borde exterior.
● Cilindro: conjunto de varias pistas; son todas las circunferencias que están alineadas
verticalmente (una de cada cara).
● Sector : cada una de las divisiones de una pista. El tamaño del sector no es fijo, siendo el
estándar actual 512 bytes, aunque próximamente serán 4 KiB. Antiguamente el número de
sectores por pista era fijo, lo cual desaprovechaba el espacio significativamente, ya que en
las pistas exteriores pueden almacenarse más sectores que en las interiores. Así, apareció
la tecnología ZBR (grabación de bits por zonas) que aumenta el número de sectores en
las pistas exteriores, y utiliza más eficientemente el disco duro. Así las pistas se agrupan en
zonas de pistas de igual cantidad de sectores. Cuanto más lejos del centro de cada plato se
encuentra una zona, ésta contiene una mayor cantidad de sectores en sus pistas. Además
mediante ZBR, cuando se leen sectores de cilindros más externos la tasa de transferencia de
bits por segundo es mayor; por tener la misma velocidad angular que cilindros internos pero
mayor cantidad de sectores.3

-) Dispositivos de Entrada Salida:


Impresora Láser:
Descripcion de la tecnologia de la impresora laser:
El dispositivo central que utiliza este tipo de impresión es un material fotosensible que se descarga con
luz, denominado cilindro o tambor fotorreceptor. Cuando es enviado un documento a la impresora,
este tambor es cargado positivamente por una corriente eléctrica que corre a lo largo de un filamento y
que es regulada mediante una rejilla; a este componente se le denomina corona de carga. Entonces,
el cilindro gira a una velocidad igual a la de un pequeño rayo láser, controlado en dirección por un
motor con espejos ubicados de manera poligonal en la parte interna de la unidad láser; este pequeño
rayo se encarga de descargar (o cargar negativamente) diminutas partes del cilindro, con lo cual se
forma la imagen electrostática no visible de nuestro documento a imprimir sobre este fotorreceptor.
Posteriormente el cilindro es bañado por un polvo muy fino de color negro, el cual posee carga positiva
y por lo tanto es adherido a las partes que se encuentran con carga negativa en el cilindro. Esto se
debe a la ley de cargas, la cual enuncia que cargas iguales se repelen y cargas diferentes se atraen.

21
Las partes cargadas positivamente repelen este polvo llamado tóner —del inglés toner (tinta seca)—
con lo cual queda formada la imagen visible sobre el tambor.
En seguida, esta imagen formada en el tambor es transferida al papel por medio de una carga
negativa mayor a la que posee el cilindro; esta carga es producida por otra corona denominada de
transferencia.
A continuación, el toner que se transfirió al papel es adherido a éste por medio de un par de rodillos,
uno encargado de generar calor y el otro con el objetivo de presionar la hoja sobre el anterior; a esta
unidad se le denomina de fijado y es el paso final de la impresión láser.
Para regresar al estado inicial, el toner restante en el cilindro es limpiado por medio de una lámina
plástica y al mismo tiempo se incide luz sobre el cilindro para dejarlo completamente descargado.

Unidad Numero 4:

-) Arquitectura de Von Neumann

Es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento


tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard).
La mayoría de computadoras modernas están basadas en esta arquitectura, aunque pueden incluir otros
dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de dispositivos externos como
ratón, teclado, etc).

Origen

22
El nacimiento u origen de la arquitectura Von Neumann surge a raíz de una colaboración en el proyecto
ENIAC del matemático de origen húngaro, John Von Neumann. Este trabajaba en 1945 en el Laboratorio
Nacional Los Álamos cuando se encontró con uno de los constructores de la ENIAC. Compañero de
Albert Einstein, Kurt Gödel y Alan Turing en Princeton, Von Neumann se interesó por el problema de la
necesidad de recablear la máquina para cada nueva tarea.
En 1949 había encontrado y desarrollado la solución a este problema, consistente en poner la
información sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribiéndola
de la misma forma, es decir en código binario. Su "EDVAC" fue el modelo de las computadoras de este
tipo construidas a continuación. Se habla desde entonces de la arquitectura de Von Neumann, aunque
también diseñó otras formas de construcción. El primer computador comercial construido en esta forma
fue el UNIVAC I, fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo
de Estados Unidos.

Organización
Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica o ALU, la
unidad de control, la memoria, undispositivo de entrada/salida y el bus de datos que proporciona un
medio de transporte de los datos entre las distintas partes.

Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:
1. Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección
indicada por el contador de programay la guarda en el registro de instrucción.
2. Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.
3. Decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto
de componentes del ordenador para realizar una función determinada.
4. Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa,
permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se
cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones',
que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica
anteriores.

-)Unidad de control
La unidad de control (UC) es uno de los tres bloques funcionales principales en los que se divide una
unidad central de procesamiento (CPU). Los otros dos bloques son la unidad de proceso y el bus de
entrada/salida.
Su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y
ejecutarlas, empleando para ello launidad de proceso.
Existen dos tipos de unidades de control, las cableadas, usadas generalmente en máquinas sencillas,
y las microprogramadas, propias de máquinas más complejas. En el primer caso, los componentes
principales son el circuito de lógica secuencial, el de control de estado, el de lógica combinacional y
el de emisión de reconocimiento de señales de control. En el segundo caso, la microprogramación de
la unidad de control se encuentra almacenada en una micromemoria, a la cual se accede de manera
secuencial para posteriormente ir ejecutando cada una de las microinstrucciones. Estructura del
computador: Unidad aritmético-lógica (UAL o ALU por su nombre en inglés, Arithmetic Logic Unit): aquí
se llevan a cabo las operaciones aritméticas y lógicas.
Por otra parte esta la unidad de control, que fue históricamente definida como una parte distinta
del modelo de referencia de 1946 de laArquitectura de von Neumann. En diseños modernos de
computadores, la unidad de control es típicamente una parte interna del CPU y fue conocida

23
primeramente como arquitectura Eckert-Mauchly. Memoria: que almacena datos y programas.
Dispositivos de entrada y salida: alimentan la memoria con datos e instrucciones y entregan los
resultados del cómputo almacenados en memori. Buses: proporcionan un medio para transportar los
datos e instrucciones entre las distintos y pequeños que la memoria principal (los registros), constituyen
la unidad central de procesamiento (UCP o CPU por su nombre en inglés: Central Processing Unit)

Control cableado
En un tiempo, las unidades de control para los CPU eran lógica ad hoc, y eran difíciles de diseñar. Éstas
pueden identificarse como la parte principal del computador y del dispositivo principal que ayuda al
computador a funcionar de una manera apropiada. Es construida de puertas lógicas, circuitos biestables,
circuitos codificadores, circuitos decodificadores, contadores digitales y otros circuitos digitales. Su
control está basado en una arquitectura fija, es decir, que requiere cambios en el cableado si el conjunto
de instruccioneses modificado o cambiado. Esta arquitectura es preferida en los computadores RISC
pues consiste en un conjunto de instrucciones más pequeño.
Las unidades de control usadas para invocar esas respuestas. Estas instrucciones son evidentes en el
diseño de la arquitectura, pero también pueden ser representadas de otras maneras.

Unidad de control microprogramada


La idea de microprogramación fue introducida por M.V. Wilkes en 1951 como un nivel intermediario para
ejecutar instrucciones de programa de computadora (ver también: microcódigo). Los microprogramas
fueron organizados como una secuencia de microinstrucciones y almacenados en una memoria del
control especial. El algoritmo para la unidad de control microprogramada es usualmente especificado por
la descripción de un diagrama de flujo.1 La ventaja principal de la unidad de control microprogramada
es la simplicidad de su estructura. Las salidas del controlador son organizadas en microinstrucciones y
pueden ser reemplazadas fácilmente.

-)Unidad aritmético lógica:

A y B son operandos; R es la salida; F es la entrada de la unidad


de control; D es un estado de la salida.

Introducción práctica

24
La ALU se compone básicamente de: Circuito Operacional,Registros de Entradas, Registro Acumulador
y un Registro de Estados, conjunto de registros que hacen posible la realización de cada una de las
operaciones.
La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de los
registros del procesador. Estos datos son procesados y los resultados de esta operación se almacenan
en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos registros y la
memoria.2
Una unidad de control controla a la ALU, al ajustar los circuitos que le señala a la ALU qué operaciones
realizar.

Buses Internos:

Bus de Control:
Gobierna el uso y acceso a las líneas de datos y de direcciones. Como éstas líneas están compartidas
por todos los componentes, tiene que proveerse de determinados mecanismos que controlen su
utilización. Las señales de control transmiten tanto órdenes como información de temporización entre los
módulos. Mejor dicho, es el que permite que no haya colisión de información en elsistema.

Bus De Direcciones:
Es un canal del microprocesador totalmente independiente del bus de datos donde se establece la
dirección de memoria del dato en tránsito.
El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección.
La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el
bus de direcciones, siendo 2n el tamaño máximo en bits del banco de memoria que se podrá direccionar
con n líneas. Por ejemplo, para direccionar una memoria de 256 bits, son necesarias al menos 8 líneas,
pues 28 = 256. Adicionalmente pueden ser necesarias líneas de control para señalar cuando la dirección
está disponible en el bus. Esto depende del diseño del propio bus.

Bus de Datos:
El bus es la vía de comunicación para los datos y señales de control en la estructura de un computador,
entre la cpu y los diferentes órganos que se le deben poner si se tratan de las pistas o cintas de cobre
impresas en la placa principal se llama bus del sistema.

El acceso directo a memoria (DMA, del inglés direct memory access) permite a cierto tipo
de componentes de una computadoraacceder a la memoria del sistema para leer o escribir
independientemente de la unidad central de procesamiento (CPU) principal. Muchos sistemas
hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas
de sonido. DMA es una característica esencial en todos los ordenadores modernos, ya que permite
a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de
interrupciones.
Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a
otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador
DMA. Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna

25
más rápida. Tal operación no ocupa al procesador y, por ende, éste puede efectuar otras tareas.
Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran
muchos recursos.

Secuencia de eventos detallada


1. El procesador inicializa el DMAC programando AR y WC.
2. El dispositivo de E/S realiza una petición de DMA al DMAC.
3. El DMAC le responde con una señal de aceptación.
4. El DMAC activa la línea de petición de DMA al procesador.
5. Al final del ciclo del bus en curso, el procesador pone las líneas del bus del sistema en alta
impedancia y activa la cesión de DMA.
6. El DMAC asume el control del bus.
7. El dispositivo de E/S transmite una nueva palabra de datos al registro intermedio de datos
del DMAC.
8. El DMAC ejecuta un ciclo de escritura en memoria para transferir el contenido del registro
intermedio a la posición M[AR].
9. El DMAC decrementa WC e incrementa AR.
10. El DMAC libera el bus y desactiva la línea de petición de DMA.
11. El DMAC compara WC con 0:

Interrupción: Es una señal recibida por elprocesador de un ordenador, indicando que


debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta
situación.
Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar
una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa
(generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se
reanuda la ejecución del programa.
Tipos de interrupciones
En este subapartado vamos a hacer una clasificación de las distintas clases de interrupciones que nos
podemos encontrar atendiendo a la fuente que las produce. Por un lado distinguiremos si se producen
por causas internas o externas al procesador y remarcaremos que este hecho está íntimamente ligado
con que las interrupciones sean síncronas o asíncronas:
● Interrupciones de hardware. Estas son asíncronas a la ejecución del procesador, es decir, se
pueden producir en cualquier momento independientemente de lo que esté haciendo el CPU
en ese momento. Las causas que lo producen son externas al procesador y a menudo suelen
estar ligadas con distintos dispositivos de E/S.
● Traps. Normalmente son causadas al realizarse operaciones no permitidas tales como la
división por 0, el desbordamiento, el acceso a una posición de memoria no permitida, etc.
● Interrupciones por software. Las interrupciones por software son generadas por el programa
en ejecución. Para generarla, existen distintas instrucciones en el código máquina que
permiten al programador producir una interrupción, suelen tener nemotécnicos tales como
INT. Suelen ser de vital importancia ya que a partir de estas interrupciones se solicita al
sistema operativo realizar determinadas funciones, para ello. Por ejemplo, en DOS se realiza
la instrucción INT 0x21 y en Unix se utiliza INT 0x80 para hacer llamadas de sistema.

26

También podría gustarte