0% encontró este documento útil (0 votos)
77 vistas47 páginas

Bloques y Funciones en Arquitectura de Computadoras

La computadora funciona mediante la ejecución secuencial de instrucciones almacenadas en la memoria principal. La unidad de control ordena la obtención de instrucciones de la memoria principal y su decodificación. Luego, coordina la obtención de datos, la operación de la unidad aritmético lógica, y el almacenamiento de resultados, repitiendo este proceso para cada instrucción del programa.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
77 vistas47 páginas

Bloques y Funciones en Arquitectura de Computadoras

La computadora funciona mediante la ejecución secuencial de instrucciones almacenadas en la memoria principal. La unidad de control ordena la obtención de instrucciones de la memoria principal y su decodificación. Luego, coordina la obtención de datos, la operación de la unidad aritmético lógica, y el almacenamiento de resultados, repitiendo este proceso para cada instrucción del programa.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

INSTITUTO SUPERIOR TECNOLOGICO

EMPRESARIAL ARGENTINO

Arquitectura de las
Computadoras

1
2
¿ Cuáles son los bloques que constituyen el
hardware de una computadora
y qué funciones cumplen ?
Comprender las funciones que cumple cada una de las partes que
conforman el proceso de datos, nos permitirá entender cómo funciona en
esencia cualquier computadora.

Cada trabajo que realiza una computadora siempre es un proceso de


datos, que tiene la particularidad de ser automático.
3
Subprocesos

4
5
I = Interfaces

6
programa

Una por vez

RI: Registro de Instrucción


AX: Registro Acumulador

7
Acciones que forman parte de una
secuencia repetitiva:
1. Obtener de la memoria la próxima
instrucción que corresponde ejecutar.
2. Localizar los datos a operar (en la
memoria principal, o en un registro
como AX u otro, según se ordene)
3. Ordenarle a la Unidad Aritmética que
realice la operación indicada con los
datos.
4. Guardar el resultado en un registro
acumulador o en memoria principal

8
Definimos:

La UC tiene a su cargo el secuenciamiento de las acciones necesarias que


deben realizar los circuitos involucrados en la ejecución de cada
instrucción, según el código de la misma; y también tiene a su cuidado el
orden de ejecución de las instrucciones de un programa, conforme como
éste fue establecido.

La calculadora la dividimos en dos porciones:

1. una que contiene los circuitos de cálculo,


que denominaremos Unidad Aritmética
Lógica (UAL o ALU en inglés),

2. y otra constituida por el registro


acumulador designado AX, para datos y
resultados.

9
Entonces:

 La UC ordenará mediante señales eléctricas transmitidas por cables,


las operaciones (suma, resta, multiplicación, etc,) que debe realizar la
UAL.
 Esta forma de control electrónico directo reemplaza a las lentas teclas
de una calculadora.

 El hecho de tener un registro separado, permite a la UC entrar al


mismo, datos a operar en forma electrónica directa, mediante cables
que llegan a él, sin que tampoco se requiere teclas para ello.

La UAL sirve para realizar las operaciones aritméticas o lógicas que le


ordena la UC, siendo auxiliada por registros acumuladores para guardar
transitoriamente datos y resultados.

10
operaciones de lectura-escritura
Se encarga de registros y de memoria
UC
de ordenar
las operaciones que debe realizar la UAL

emitir orden alguna


ejecutar instrucciones
No puede
ordenar las operaciones correspondientes a los
pasos que requiere la ejecución una instrucción
UAL
Sólo realiza uno de ellos, la operación aritmética
Puede o lógica que la instrucción ordena, cuando así lo
requiere la UC.

No debe perderse nunca de vista que el conjunto UAL- Acumulador


forman de hecho una calculadora con funciones semejantes a una de
bolsillo, siendo la UC la encargada de manejarla, según la operación
ordenada.
11
Se denomina Unidad Central de Proceso (UCP o CPU en inglés)
al conjunto formado por:
 la Unidad de Control
 la Unidad Aritmético-Lógica
 los Registros (como el AX, RI y otros) usados
durante la ejecución de cada instrucción.

La CPU de una computadora está contenida en el chip denominado


microprocesador central.

Los términos CPU, microprocesador y procesador suelen ser


sinónimos.

12
La memoria principal o central o interna almacena materia prima
(datos), instrucciones, y los resultados del proceso realizado en
circuitos electrónicos.

La Memoria Principal (MP) almacena instrucciones de programas, que


próximamente serán ejecutadas en la CPU, y los datos que ellas ordenan
procesar (operar); así como resultados intermedios y finales de
operaciones sobre datos recientemente llevadas a cabo en la CPU .

13
Decimos que:

 Los datos que se procesan y el programa que se ejecuta para


ese proceso deben estar en MP.

 Cada programa comparte la MP con sus datos, pero las


instrucciones están en una zona y los datos en otra.

 La información queda almacenada temporariamente mientras se


opera con ella; pudiendo ser luego reemplazada por otras
instrucciones a ejecutar, y datos que éstas procesan

 Existen programas que residen en MP en forma permanente,


como los del sistema operativo, que facilitan el uso de una
computadora y cuya ejecución se alterna con la de programas
de los usuarios.

14
En una Operación de Entrada, la MP es el destino de las instrucciones y
datos provenientes del exterior (que ingresan a través de unidades de
discos, pendrives, teclado, mouse, etc.).

En una Operación de Salida, la MP es el origen de resultados que


deben salir al exterior (a través del monitor, impresora, unidades de
discos, pendrives, etc.).

Los dispositivos que se encargan de entrar desde el exterior datos e


instrucciones hacia la computadora, o dar salida de resultados de la
computadora al exterior, se denominan PERIFÉRICOS O UNIDADES DE
ENTRADA/SALIDA.

Su función principal es convertir datos externos en internos, en las


operaciones de entrada, o a la inversa en las operaciones de salida
15
La denominación “Periféricos" proviene de su posición, vinculada al
mundo exterior en relación con la porción central o interna, constituida
por el microprocesador (CPU) y la memoria principal.

Un periférico no se conecta directamente a la porción central,


sino por intermedio de una INTERFAZ, que en una PC en general está
contenida en una plaqueta que se inserta en un zócalo apropiado.

Periféricos de Entrada Teclado, Mouse, Scanner, Micrófono, Cámara Web

Periféricos de Salida Monitor, Impresora, Ploter, Parlantes

Periféricos de Entrada/Salida Unidades de Discos, Pendrives, Memorias SSD

16
Los circuitos de una computadora se comunican entre sí mediante un
conjunto de conductores (cables o líneas) que interconectan
eléctricamente las patas de los chips que contienen dichos circuitos

Las líneas conductoras de electricidad que unen patas del chip de un


microprocesador, con patas de chips de memoria, para transmitir
direcciones, instrucciones, datos y resultados, y para suministrar
tensión eléctrica de alimentación (como ser 0 volts y 5 volts),
constituyen el "BUS LOCAL".

Un BUS de una computadora es una estructura de interconexión para la


comunicación selectiva entre dos o más módulos de la misma, a fin de
poder transmitir información entre dos módulos por vez.

17
BUS

LÍNEAS DE DIRECCIÓN, conducen de la CPU a MP cada


combinación de unos y ceros que indica dónde localizar
instrucciones o datos en MP. Es unidireccional

LÍNEAS DE DATOS, en cada lectura de MP conducen de ésta


hacia la CPU tanto, datos a operar como instrucciones; y en
una escritura conducen desde la CPU hacia MP datos
resultantes. Son líneas bidirecionales

LÍNEAS DE CONTROL, son unidireccionales individuales


para que la CPU dé órdenes (cómo leer o escribir en MP) y
para que ella reciba señales (como la que origina la MP para
indicar lectura efectivizada)
18
¿ Cómo podemos resumir el funcionamiento
básico de una computadora ?

1°) Los datos y las


instrucciones del
programa que los
procesará, deben llegar
a MP desde periféricos.
Cada instrucción está
codificada mediante
una combinación de
unos y ceros, que
constituye su código.

19
2°) La UC localiza en
MP la instrucción que
debe ser ejecutada,
para que su código
llegue a la CPU, donde
la UC determinará que
ordena ese código.

20
3°) Dicho código permite:
 localizar los datos que
operará la UAL
 la operación que debe
realizar la UAL
 dónde guardar el
resultado y
 donde localizar la
próxima instrucción en
MP.
Para realizar esto, la UC
ordenará una secuencia
de operaciones de lectura
escritura sobre MP o
registros de la CPU, así
como la operación a
realizar por la UAL. .
21
A la UAL van los datos a
operar, y desde ella se
generan los resultados
que van a MP, para
luego encaminarse
hacia el exterior a través
de un periférico.
4°) Se vuelve al paso 1°.

22
Una secuencia sencilla de operaciones ordenadas y que denominamos instrucciones,
podría ser la siguiente:
I1: Registrar en el visor de la calculadora el número que está en el renglón 5000 ( o sea
1020).
I : Sumarle al número del visor el número que está en el renglón 5000 (nuevamente 1020)
2

I3: Restarle al número del visor el número que está en el renglón 5006 ( o sea 2040).

I4: Escribir el resultado que totaliza el visor en el renglón 5010 (o sea el 0000 irá en el
renglón 5010)
I5: Copiar en la planilla auxiliar el valor que indica el renglón 5010.

23
¿CÓMO SE PREPARA EL PROCESO DE DATOS EN LA COMPUTADORA
Y COMO SE LE ORDENA QUE DEBE HACER?

Para ejecutar estas instrucciones en una computadora lo que tenemos


que hacer es CODIFICARLAS.

Podemos sintetizar las 5 instrucciones en la siguiente operación:

R=P+P–Q

y supondremos que los datos son:


P = 1020H
Q = 2040H
24
0200 A1
1 00 I1
2 50
1°) CODIFICACION DE LOS DATOS
0203 03

Escribimos en memoria estos datos: 4 06


5 00
I2
P = 1020H = 00010000 00100000b 6 50
ZONA DE
PROGRAMA
Q= 2040H = 00100000 01000000b 0207 2B
8 06
9 06 I3
y le asignamos arbitrariamente las siguientes A 50

direcciones en memoria: 020B A3

P = direcciones 5000H y 5001H C 10 I4


D 50
Q = direcciones 5006H y 5007H
20
5000
1
10 P

Al resultado R = P + P – Q 5006 40 ZONA DE


7 20 Q DATOS
le asignamos las direcciones 5010H y 5011H
5010
11
R

MEMORIA
25
PRINCIPAL
2°) CODIFICACION DE LAS INSTRUCCIONES

Conociendo en que direcciones de memoria se guardaron los datos estamos en


condiciones de codificar y escribir las instrucciones sin antes mencionar que:

“La combinación binaria que codifica una instrucción constituye su


“código de instrucción” o “código de máquina”, en el sentido que es
el código que entiende la máquina”, los circuitos de la Unidad de Control

Este código comprende un código de operación ordenada (transferir, sumar,


restar, dividir, saltar a otra instrucción, etc...), si el dato a operar está en
memoria, al código de operación le sigue una dirección que indica donde este se
encuentra o donde memorizar un resultado que está en un registro de la CPU, si
se ordena una escritura.

En general, una INSTRUCCIÓN ordena una operación y en relación


con ésta permite ubicar un dato a operar y también indica donde
guardar el resultado de dicha operación.

Formato Código de Operación Dirección del Dato


26
0200 A1
1 00 I1
2 50
LAS INSTRUCCIÓNES 03
0203
4 06
I1: Registrar en el visor de la calculadora el 5 00
I2
ZONA DE
número que está en el renglón 5000 ( o sea 6 50 PROGRAMA
1020). 0207 2B
8 06
9 06 I3
A 50

020B A3

Adaptada para una PC, ordenaría la C 10 I4


operación de transferir (mover) hacia D 50

el registro acumulador AX una copia 20


del número que esta en la dirección 5000
10 P
1
de memoria que indican los dos
últimos bytes de la instrucción, en 5006 40 ZONA DE
Q DATOS
este caso 5000H. 7 20

5010
11
R
AX M5000 y 5001
MEMORIA
27
PRINCIPAL
0200 A1
1 00 I1
2 50
Para un procesador 80x86 (Intel o AMD) el
03
código de operación 0203
4 06
5 00
I2
A1H = 10100001 6 50
ZONA DE
PROGRAMA
0207 2B
8 06
Código de Máquina de I1 9 06 I3
A 50

020B A3
Código de Operación + Dirección del Dato a Operar C 10 I4
D 50

20
5000
A10050H = 10100001 00000000 01010000
1
10 P

5006 40 ZONA DE
7 20 Q DATOS

I1 consta de 24 bits = 3 bytes


5010
R
y ocupará tres posiciones consecutivas en 11

memoria.
MEMORIA
28
PRINCIPAL
0200 A1 MEMORIA
I2: Sumarle al número del visor el número 1 00 I1 PRINCIPAL

que está en el renglón 5000 (nuevamente 2 50

1020) 0203 03
4 06 I2
5 00 ZONA DE
6 50 PROGRAMA
Para I2 ”sumar al número contenido en el 0207 2B
registro acumulador AX, una copia del 8 06
I3
9 06
número que esta en la dirección de memoria A 50
A3
que indican los dos últimos bytes de la 020B
I4
C 10
instrucción. (P+P)” D 50

20
5000 P
10
1
AX AX + M5000 y 5001 ZONA DE
5006 40 DATOS
Q
7 20

5010 R
11
29
Código de Operación de I2
0200 A1 MEMORIA
00 I1 PRINCIPAL
1
0306H = 00000011 00000110 2 50

0203 03
4 06
Código de Máquina de I2 5
I2
ZONA DE
00
6 50 PROGRAMA
0207 2B
Código de Operación + Dirección del Dato a Operar 8 06
I3
9 06
A 50

020B A3
I4
C 10
0306 0050H = 00000011 00000110 00000000 01010000 D 50

20
5000 P
10
I2 consta de 32 bits = 4 bytes 1
ZONA DE
5006 40 DATOS
y ocupará cuatro posiciones consecutivas en 20
Q
7
memoria.
5010 R
11
30
0200 A1 MEMORIA
00 I1 PRINCIPAL
1
I3: Restarle al número del visor el 2 50

número que está en el renglón 5006 0203 03


4 06
( o sea 2040). I2
5 00 ZONA DE
6 50 PROGRAMA
0207 2B
Para I3 ”restar al número contenido en 8 06
I3
06
AX una copia del número que esta en 9
50
A
la dirección de memoria que indican 020B A3
I4
los dos últimos bytes de la instrucción C 10

D 50
(P+P)-Q”
20
5000 P
10
1
AX AX - M5006 y 5007 ZONA DE
5006 40 DATOS
Q
7 20

5010 R
11

31
Código de Operación de I3
0200 A1 MEMORIA
00 I1 PRINCIPAL
1
2B06H = 00101011 00000110 2 50

0203 03
4 06
Código de Máquina de I3 5
I2
ZONA DE
00
6 50 PROGRAMA
0207 2B
Código de Operación + Dirección del Dato a Operar 8 06
I3
9 06
A 50

020B A3
I4
C 10
2B06 0650H = 00000011 00000110 00000110 01010000 D 50

20
5000 P
10
I3 consta de 32 bits = 4 bytes 1
ZONA DE
5006 40 DATOS
y ocupará cuatro posiciones consecutivas en 20
Q
7
memoria.
5010 R
11
32
0200 A1 MEMORIA
I4: Escribir el resultado que totaliza el 1 00 I1 PRINCIPAL

visor en el renglón 5010 (o sea el 0000 2 50

irá en el renglón 5010) 0203 03


4 06 I2
5 00 ZONA DE
6 50 PROGRAMA
Para I4 ” ”trasferir hacia la posición de 0207 2B
memoria cuya dirección indican los 8 06
I3
9 06
dos últimos bytes de la instrucción (en A 50
A3
este caso 5010) una copia del número 020B
I4
C 10
que esta en el registro AX”. 50
D

20
5000 P
10
1
M5010 y 5011 AX ZONA DE
5006 40 DATOS
Q
7 20

5010 R
11

33
Código de Operación de I4
0200 A1 MEMORIA
00 I1 PRINCIPAL
1
A3H = 10100011 2 50

0203 03
4 06
Código de Máquina de I4 5
I2
ZONA DE
00
6 50 PROGRAMA
0207 2B
Código de Operación + Dirección del Dato a Operar 8 06
I3
9 06
A 50

020B A3
I4
C 10

D 50
A31050H = 10100011 00010000 01010000
20
5000 P
10
I4 consta de 24 bits = 3 bytes 1
ZONA DE
5006 40 DATOS
y ocupará 3 posiciones consecutivas en 20
Q
7
memoria.
5010 R
11
34
MEMORIA
0200 A1 I1 PRINCIPAL
1 00 AX M5000/5001
2 50 (AX = P)

0203 03
I2
4 06 AX AX + M5000/5001
5 00 (AX = P + P)
ZONA DE
6 50
PROGRAMA
0207 2B
06 I3
8
06 AX AX - M5006/5007
9
(AX = P + P - Q)
A 50
020B A3
I4
C 10 M5010/5011 AX
D 50

20
5000 P
10
1

5006 40 ZONA DE
Q
7 20 DATOS

5010 00 R
11 00 35
Utilizando el Programa Debug para escribir
los Datos e Instrucciones en Memoria

Por ejemplo si queremos saber el contenido de las posiciones de memoria


a partir de la dirección 5000H

Escribimos: -e 5000 (Enter) (Examinar memoria)

5000 5001…. 5006 5007

36
ESCRITURA DE LOS DATOS:
Volviendo a nuestro caso de ejemplo
I1: Registrar en el visor de la calculadora el número que
está en el renglón 5000 ( o sea 1020).
escribimos:
 en 5000 y 5001 los contenidos 20 y 10, que corresponde a P=1020H
 en 5006 y 5007, los contenidos 40 y 20, correspondientes a Q=2040H

5000 5001…. 5006 5007

P=1020H Q=2040H

37
ESCRITURA DE LOS DATOS:

Para corroborar los valores recién escritos.

Escribimos: -e 5000 (Enter) (Examinar memoria)

P=1020H Q=2040H

38
ESCRITURA DE LAS INSTRUCCIONES:

De la misma manera que se escriben los datos, se escriben en memoria


los códigos de máquina de instrucciones, pero a partir de una dirección
elegida, para nuestro caso: 0200H.

I1 = A10050H I1: Registrar en el visor de la calculadora el número que está en el renglón 5000 ( o sea 1020)

I2 = 03060050H I2: Sumarle al número del visor el número que está en el renglón 5000 (nuevamente 1020)

I3 = 2B060650H I3: Restarle al número del visor el número que está en el renglón 5006 ( o sea 2040).

I4 = A31050H I4: Escribir el resultado que totaliza el visor en el renglón 5010 (o sea el 0000 irá en el renglón 5010)

I1 = A10050H

200 201 202


39
ESCRITURA DE LAS INSTRUCCIONES:

Para corroborar los valores recién escritos.

Escribimos: -e 200 (Enter) (Examinar memoria)

I1 = A10050H

40
El registro que tiene la función de indicar la dirección de memoria
donde se encuentra la próxima instrucción a ejecutar es el
Puntero de Instrucción (IP)

Tenemos que cargar en el IP la dirección de la primer instrucción a


ejecutar, que como se estableció es la 0200H,

Escribimos: -r ip (Enter) (Examinar registros),


y al lado de los dos puntos escribimos 0200 (Enter)

De esta manera el registro IP tiene la dirección de I1 para ejecutar la


secuencia de instrucciones escritas.

41
¿Cómo visualizo mediante el Debug la forma en que se
van procesando los datos, al ejecutarse las
instrucciones en una PC?

Antes de ejecutar las instrucciones cargadas anteriormente, es


conveniente examinar los registros de la CPU.

Escribimos: -R (Enter) (Examinar registros)

Los dos primeros renglones indican el estado de los registros


de la CPU, de estos solamente nos importan AX e IP.

El tercer renglón se refiere a la memoria principal, el valor 0200


(igual al de IP) corrobora la dirección donde empieza la próxima
instrucción a ejecutar, y al lado del mismo el código de máquina
de la instrucción I1. 42
Para ejecutar la instrucción I1= = A10050H

Escribimos: -T (Enter)

Para ejecutar la instrucción I2 = 03060050H

Escribimos: -T (Enter)

43
Para ejecutar la instrucción I3= = 2B060650H
Escribimos: -T (Enter)

Para ejecutar la instrucción I4= = A31050H


Escribimos: -t (Enter)

44
Para verificar que en las direcciones 5010 y 5011 se escribió el
resultado que esta en el registro AX.

Escribimos: -e 5010 (Enter)

5010 5011

45
Si quisiéramos ejecutar las instrucciones I1, I2, I3 e I4, de manera
automática tenemos que hacer lo siguiente:

1. (Escribimos: -R (Enter), y vemos que el puntero IP esta en la


dirección 0100, que no es la correcta.

2) Escribimos: -R IP (Enter), y al lado de los dos puntos escribimos 0200


(Enter)

46
Escribimos: -R (Enter)

Escribimos: -G =0200 020E (Enter), y ejecutamos todas las instrucciones,


de manera automática

47

También podría gustarte