• No se han encontrado resultados

tr hardware

N/A
N/A
Protected

Academic year: 2020

Share "tr hardware"

Copied!
10
0
0

Texto completo

(1)

Componentes de un ordenador

Contenido del tema

8.1. Componente física (hardware)

8.1.1. Arquitectura von Neumann 8.1.2. Unidad central de proceso 8.1.3. Buses

8.1.4. Memoria

8.1.5. Subsistema de E/S

8.2. Lenguaje ensamblador

8.3. Componente lógica (software)

8.3.1. Clasificación del software 8.3.2. Sistemas operativos 8.3.3. Gramáticas y compiladores

T

E

M

A

8

T

E

M

A

8

Introducción a los Computadores

Componentes básicos

Componente física o

Componente física o

hardware

hardware

¤ Elementos tangibles del ordenador:

• Unidad central de proceso • Buses

• Memoria

• Subsistema de entrada/salida: teclado, ratón, monitor...

Componente lógica o

Componente lógica o

software

software

¤ Programas que ejecuta el ordenador.

• Programas del sistema: sistema operativo, compiladores, programas de comunicaciones, bibliotecas estándares. • Programas de usuario: bases de datos, navegadores, hojas de

cálculo, procesadores de texto, juegos, ...

Componentes físicos

• Arquitectura

von

von

Neumann

Neumann

(1)Programa almacenado

(2)Lógica binaria (George Boole)

(3)División en UCP, memoria y E/S (Charles Babbage)

John von Neumann

John von Neumann, 1945

First Draft of a Report on the EDVAC

Subsistema de E/S

Memoria

(datos+instrucciones) Unidad de

procesamiento

Buses

Unidad de procesamiento

Bus sistema direcciones

Registros

A.L.U.

Acum.

U.C.P.

Unidad de control

Almacén temporal

(muy rápido) datos

control

Procesamiento

aritmético-lógico

Señales del control al resto del sistema

reloj

estado

Parámetros:

Velocidad (MIPS o MFLOPS)

Longitud de palabra

Número de registros

(2)

Introducción a los Computadores

Unidad de procesamiento

• La Unidad de control (U.C.)

¤ Emisión de señales de sincronización

¤ Decodificación de la instrucción

¤ Ejecución secuencial

¤ Repertorio de instrucciones simples:

(1)de tratamiento aritmético-lógico

(2) de transferencia de datos

(3) saltos de control del flujo

(4) otras (parada, paso-a-paso...)

Unidad de

Unidad de

control

control

reloj

. . .

ciclo reloj ciclo reloj

UCP UCP MP UCP ES UCP

MP MP

ES ES

CLK

Introducción a los Computadores

Unidad de procesamiento

• Funcionamiento:

ciclo máquina

repetitivo desde que se

enciende el ordenador hasta que se apaga

Unidad de control

reloj

. . . MemoriaMemoria

instrucción (fetching)

ciclo máquina

ciclo máquina

Almacenamiento de resultados

Ejecución

Búsqueda de operandos

Decodificación Actualización

del C.P.

Fetching

opcional opcional

Unidad de procesamiento

Registros

Registros

¤ Almacén temporal ¤ Sin direcciones de memoria asignadas ¤ Acceso muy rápido

U.A.L.

AC

PE

Palabra de estado: CY(carry) Acarreo O(overflow) Desborde N(negative) Negativo Z(zero) Resultado cero ...

Se actualizan tras cada operación aritmético-lógica Acumulador: Último resultado

Registros

Registros U.C.

RI CP

Memoria

Otros registros: •Propósito generalDirecciones temp.Puntero de pila (PP)

Contador de programa: siguiente instrucción

Instrucción actual a decodificar

Unidad de procesamiento

Unidad aritmético

Unidad aritmético

-

-

lógica (U.A.L.)

lógica (U.A.L.)

¤ Ejecuta las instrucciones de tratamiento aritmético-lógico:

• Lógicas: AND, OR, NOT, XOR, CMP • Aritméticas: ADD, SUB, MUL, DIV • De desplazamiento de bits:

– lógico (entra un 0/1 y se pierde el último/primero) – circular (el último pasa a ser el primero o viceversa) – aritmético (se duplica el bit de signo y se pierde el último)

¤ Los operandos deben estar en los registros y/o acumulador. ¤ El resultado se deja en el acumulador.

(3)

Introducción a los Computadores

• La memoria almacena datos e instrucciones.

• Desde el punto de vista funcional, en un

ordenador distinguimos:

¤ Memoria principal(MP) o interna.

¤ Memoria secundaria(MS), externao masiva.

• La MP es directamente accesible por la

UCP. La MS no, sino que se accede a través

de un controlador del subsistema de E/S.

• En general las memorias que se utilizan

para la MP son de tecnología electrónica.

Memoria

Electrónica Alta velocidad Capacidad limitada Volátil en general Alto coste

Magnética, óptica... Baja velocidad Alta capacidad Permanente Bajo coste

Introducción a los Computadores

• Las memorias CACHE son los trozos de memoria

copiados de la MP o de la MS más probables de acceder a

continuación. Son más rápidas (y de mayor coste) y evitan

accesos a MP o MS más lentos.

Memoria

MS

MP UCP

Cache MP

Cache

MS Si el dato no está

en la cache se accede a MS y se

copia un nuevo trozo. Si el dato no está

en la cache se accede a MP y se

copia un nuevo trozo.

• Desde el punto de vista físico, existen

las siguientes memorias electrónicas:

¤ ROM (sólo lectura): almacena la BIOS. Es no volátil.

¤ RAM (lectura/escritura): almacena el SO y los programas de usuario. A su vez, pueden ser:

• SRAM: estática, más cara y rápida (¡de 4 a 20 nanosegundos!). Se utilizan para las cache.

• DRAM: dinámica, más barata y menos rápida (de 50 a 120 nanosegundos). Son las habituales en MP.

Memoria Principal

El sistema de E/S básico (Basic Input-Output System) es el conjunto de programas que se ejecuta al encender el ordenador: chequea el sistema y carga

el SO en la RAM.

Las RAM estáticas no necesitan en refresco

electrónico para mantener el contenido que necesitan

las dinámicas.

• Independientemente de la

memoria física utilizada, la

UCP ve lógicamente la MP

como un conjunto de

posiciones o

celdas

donde leer

y escribir que se llama

mapa

de memoria

.

• Cada posición del mapa

corresponde a una

palabra

y

se numera consecutivamente

mediante una

dirección

.

mapa de memoria

Memoria Principal

control direcciones

datos

S.O.

Proceso 1

Proceso 2

...

...

...

BBA0 BBA1 BBA2 BBA3 direcciones en hex.

R/W CS

(4)

Introducción a los Computadores

Memoria Principal

• La longitud de palabra,

m

, de la MP suele coincidir con la

del procesador y con el ancho del bus de datos, y es la

anchura en bits de una palabra.

• La

capacidad

de la memoria viene determinada por el

número de hilos,

n

, del bus de direcciones: 2

n

palabras:

216palabras

32

16 bus del sistema

0000 0001 0002 0003 0004 0005

FFFE

FFFF longitud de palabra = 32

Introducción a los Computadores

• El subsistema de E/S permite

al procesador comunicarse

con distintos dispositivos o

periféricos

del exterior.

• Cada tipo de dispositivo

debe conectarse al sistema a

través de un controlador que

adapte el mundo exterior del

periférico al mundo

electrónico de la UCP.

Subsistema de E/S

bus de e/s MP

UCP

disco vídeo teclado

Contr. Contr. Contr.

• La UCP ve lógicamente todo

el subsistema de E/S como

posiciones de memoria en un

mapa de direcciones distinto

al de la MP.

• Una posición del mapa de

E/S se llama

puerto

.

• Físicamente, los puertos son

posiciones de memoria

dentro de los controladores.

mapa E/S

Subsistema de E/S

control direcciones

datos

Puertos disp. 1

Puertos disp. 6

Puertos disp. 8

I/ O INT

otras

salida

control

estado entrada

conversores

de señal

circuitería

control / direcciones

...

controlador

Subsistema de E/S

Esquema controlador genérico

Esquema controlador genérico

dispositivo

control direcciones

(5)

Introducción a los Computadores

Memoria secundaria

• Entre los dispositivos de e/s destacan los de

almacenamiento masivo. Los hay de dos tecnologías:

¤ Magnética: cintas, discos duros y flexibles (disquetes) ¤ Óptica: CDs y DVDs

• Organización de un disco magnético:

brazos y cabezas Plato

Caras Pista

Sector

En un disco magnético hay múltiples pistas concéntricas, que se lee a velocidad angular constante (CAV) (más rápido)

En un disco óptico sólo hay una pista en espiral

que se lee a velocidad lineal constante (CLV)

Introducción a los Computadores

Memoria secundaria

• Tiempos de acceso a la información:

tiempo de localización: posicionar brazo en la

pista adecuada

tiempo de latencia: rotar discos hasta que el

sector buscado pase bajo la cabeza

UCP

tiempo de transferencia: llevar los datos desde la

cabeza hasta la UCP

t

acceso

= t

loc

+ t

lat

Buses

Buses

Buses

¤ Conexiones entre las distintas unidades funcionales del ordenador. ¤ Los buses de la placa base son paralelos y se subdividen en 3 sub-buses:

• De direcciones: donde la UCP pone las posiciones de MP y ES. • De datos: donde la UCP, la MP o la ES ponen los datos.

• De control: conjunto de señales de la UCP para sincronizar las operaciones.

Son sub-buses lógicos. Físicamente pueden ir multiplexados el de datos y el de direcciones.

¤ Los buses pueden ser paralelos (SCSI o IDE) o en serie (COM o USB). ¤ Cada bus tiene sus propias características físicas/eléctricas: ancho de

banda, frecuencia reloj, anchura datos, que los hacen incompatibles entre

sí. Se necesitan interfaces adaptadores para cada tipo de bus. Cada

dispositivo se conecta mediante su controlador a un solo tipo de bus.

Buses

• Esquema de

Bus único

¤ Problema: los dispositivos son más lentos que la UCP y la MP y además tienen velocidades de trabajo distintas entre sí.

Bus del sistema

UCP MP ES

ES ES

(6)

Introducción a los Computadores

Buses

• Esquema con de

bus de expansión

¤ Solución: buses distintos (con velocidades distintas) y circuitería de interfaz entre los buses, los puentes(bridges).

UCP MP

Bus local del sistema

ES ES

Bus ISA Adaptador

ISA ES

Más rápido

Más lento

Introducción a los Computadores

Buses

• Jerarquía de buses:

UCP MP

Adaptador

PCI/ISA Tarjetared

Bus local del sistema

Adaptador AGP/PCI

66 MHz 528 MBps Tarjeta

gráfica

Bus AGP

Bus PCI

Ratón Modem

Bus ISA 8.33 MHz

8 MBps 100 MHz

1 GBps

33 MHz 264 MBps

Contr. Disco Teclado

Buses

Buses en placa madre

Ancho (bits)

A.B. (MBps)

Frec. (MHz)

Dispositivos

ISA

Industry Standard Architecture, 1984

8/16 2.38

8.0

8.3 T. Sonido,

modems... EISA

Extended ISA, 1988

32 31.8 8.3 T. red, adap. SCSI...

MCA

MicroChannel Architecture, 1987

32 20 33 T. red, T. gráficas...

VESA Local bus Video Electronics Standard Association, 1993

32 44-105 33 T. gráficas, UCP...

PCI

Peripheral Component Interconnect, 1992 32 64

132-264 508.6

33 T. gráficas, adap.

SCSI, t. sonido modernas AGP

Advanced Graphics Ports

32

254.3-1017.3 66 66x4

T. gráficas 3D

Buses

Buses externos Ancho

(bits)

A.B. (MBps)

Dispositivos

IDE

Integrated Drive Electronics, 1984

8 8 discos, CDs, cintas

SCSI

Small Computer System Interface, 1995

8, 16 5-80 discos, otros...

USB

Universal Serial Bus

serie 1.5 ratón, teclado, modems, multimedia, escáneres... FireWire

IEEE 1394, 1995

serie 1.5-50 cámaras, DVDs,

(7)

Introducción a los Computadores

Lenguaje máquina

• Las instrucciones máquina pueden constar de una o más

palabras de memoria:

co-op

opdo

dir.opdo

co-op

co-op

co-op

dir. opdo1

dir. opdo2

dir. opdo

El código de operación indica la instrucción a ejecutar y cuántos operandos son necesarios Los operandos

pueden ser inmediatos

También pueden ser direcciones de memoria (de anchura la del bus de

direcciones)

100101101

XXX

101010101100

10110110110

Introducción a los Computadores

Lenguaje ensamblador

Lenguaje máquina Lenguaje ensamblador

Patrones bits co-op mnemónicos breves

Direcciones de memoria

o puertos de e/s

números en decimal, octal o hexadecimal

Operandos inmediatos números precedidos por #

Comentarios cadenas de texto precedidas por ;

• Cada instrucción máquina se corresponde con una

instrucción en lenguaje ensamblador:

Por esto, el lenguaje ensamblador es

simbólico

Lenguaje ensamblador

• Vamos a introducir un lenguaje ensamblador

correspondiente a una máquina simple con las siguientes

características:

¤ Bus de datos de 12 bits (= anchura instrucción) ¤ Bus de direcciones de 7 bits

¤ Código de operación de 5 bits (hasta 25posibles instrucciones)

¤ Registros a tener en cuenta: CP, AC, PE, PP

Lenguaje ensamblador

• Instrucciones de

transferencia de datos con el AC:

transferencia de datos con el AC

LD m 00000mmmmmmm Carga [m]en AC

LD #d 00001--- dddddddddddd Carga den AC

ST m 00010mmmmmmm Almacena [AC] en [m]

dato

LD m

ST m

m-1 m m+1 m+2

MP

LD #d

U.A.L.

AC

load = cargar

(8)

Introducción a los Computadores

Lenguaje ensamblador

• Instrucciones de

transferencia MP a MP

transferencia MP a MP:

MOV m #d 00011mmmmmmm dddddddddddd Almacena den[m]

MOV m n 10011mmmmmmm ---nnnnnnn Almacena [n]en[m]

m-1 m m+1 m+2

MP

n-1 n n+1 n+2

dato

MOV m #d

MOV m n

Introducción a los Computadores

Lenguaje ensamblador

• Instrucciones de

transferencia de datos en la pila:

transferencia de datos en la pila

PUSH 00100--- Almacena [AC] en [PP]e incrementa PP

POP 00101--- Decrementa PP y almacena [PP]en AC

El puntero de pila (un registro)

apunta a la primera posición

libre de la pila del proceso

FFFC FFFD FFFE FFFF

MP

FFFD pila

U.A.L.

AC

PUSH POP

PP

PUSH

POP

push= empujar pull= tirar

Lenguaje ensamblador

• Instrucciones de

transferencia de datos con el mapa de e/s

transferencia de datos con el mapa de e/s:

IN e 00110eeeeeee Carga en el AC el contenido del puerto de entrada e

OUT s 00111sssssss Almacena el contenido del puerto de salida sen AC

IN e

OUT s U.A.L.

AC

e-1 e e+1 e+2 ES

s-1 s s+1 s+2

puerto de un dispositivo de entrada: ratón, teclado, tableta

gráfica...

puerto de un dispositivo de

salida: vídeo, impresora...

Lenguaje ensamblador

• Instrucciones

aritméticas (resultado en AC):

aritméticas

ADD m 01000mmmmmmm Almacena [AC] + [m]en AC

SUB m 01001mmmmmmm Almacena [AC] -[m]en AC

MUL m 01010mmmmmmm Almacena [AC] * [m]en AC

DIV m 01011mmmmmmm Almacena [AC] / [m]en AC

ADD m SUB m MUL m DIV m

m-1 m m+1 m+2

MP

+ - * /

AC PE

Se actualizan los indicadores S

y Zdespués de cada operación

(9)

Introducción a los Computadores

Lenguaje ensamblador

• Instrucciones

aritméticas (resultado en MP):

aritméticas

INC m 01100mmmmmmm Incrementa [m]en 1

CLR m 10001mmmmmmm Pone todos los bits de [m]a 0

SET m 10010mmmmmmm Pone todos los bits de [m]a 1

CLR m

SET m

INC m

m-1 m m+1 m+2

MP

+ - * /

AC PE

+1

111111111111 00000000000

clear= limpiar

set= establecer

..NZ..

Introducción a los Computadores

Lenguaje ensamblador

• Instrucciones

lógicas:

lógicas

CMP m 11100mmmmmmm Si [AC] < [m]se activa N, y si [AC] = [m]se activa Z

AND m 01101mmmmmmm Almacena [AC] AND [m]en AC

OR m 01110mmmmmmm Almacena [AC] OR [m]en AC

XOR m 01111mmmmmmm Almacena [AC] XOR [m]en AC

NOT m 10000mmmmmmm Almacena NOT [AC] en AC

CMP m AND m OR m XOR m NOT m

m-1 m m+1 m+2

MP

+ - * /

AC

PE ..NZ..

Lenguaje ensamblador

• Instrucciones de

control del flujo

control del flujo del programa:

BR m 10100mmmmmmm Pone men[PC]

BN m 10101mmmmmmm Pone men[PC] si está activo Nen PE

BZ m 10110mmmmmmm Pone men[PC] si está activo Zen PE

BNZ m 10111mmmmmmm Pone men[PC] si está activo No Zen PE

m-1 m m+1 m+2

MP BR m

..NZ..

PE CP

etq m

BN m BZ m BNZ m

saltos condicionales

branch= bifurcación

¡Ojo! direcciones del textodel

programa

Lenguaje ensamblador

• Instrucciones de

control de flujo del programa (llamadas):

control de flujo

CALL 11000mmmmmmm Salva [CP] en la pila (dirección de vuelta) y pone [m] en CP RET 11001--- Repone la dirección de vuelta de la pila en CP

FFFC FFFD FFFE FFFF

RET

CALL

PP

CALL

call= llamar, return= volver

m m+1

k k+1

CP

k

FFFC FFFD FFFE FFFF

n-1 n k k+1

k

RET

kes la dirección de vueltaal

programa que hace la

llamada

dirección final del subprograma dirección

de inicio

(10)

Introducción a los Computadores

Lenguaje ensamblador

• Otras instrucciones:

HALT 11110--- Detener funcionamiento de la UCP hasta recibir interrupción

NOP 11111--- No operación, seguir con la siguiente instrucción

• Ejemplo selección:

etq1: LD #10 ; inicio sentencia SI

CMP 40 ; en la posición 40 está i

BNZ etq2 LD 40

ADD 41 ; en la posición 41 está j

BR fin

etq2: LD 40 ; inicio rama SINO

SUB 41

fin: NOP ; continuar con la siguiente instrucción

ST 41

// Equivalente en // pseudolenguaje

SI i > 10 ENTONCES

j = i+j

SINO

j = i-j

FINSI

Introducción a los Computadores

Lenguaje ensamblador

• Ejemplo bucle:

CLR 40 ; en la posición 40 está i

bucle: LD #10 ; inicio sentencia MIENTRAS

SUB 40 BNZ fin LD #3

MUL 41 ; en la posición 41 está b

ADD 42 ; en la posición 42 está a

ST 42 INC 40 BR bucle

fin: NOP ; continuar con la siguiente instrucción // Equivalente en // pseudolenguaje

i = 0

MIENTRAS i<10 HACER

a = a+b*3 i = i+1

FINMIENTRAS

Lenguaje ensamblador

• Ejemplo bucle en MP:

100010101000

000011100010 000000001010

010010101000

101110010100

000011100010 000000000011

010100101001

010000101010

000100101010

011000101000

101000001001

111110111001

...

000000000000 001000100011 000001000001

...

8 bucle-> 9 10 11 12 13 14 15 16 17 18 19 fin-> 20

...

40 41 42

...

CLR 40 LD #10 SUB 40 BNZ fin LD #3 MUL 41 ADD 42 ST 42 INC 40 BR bucle NOP

[i] [b] [a]

texto del programa

datos del programa Las direcciones de MP están

Referencias

Documento similar

es prohibido actuar sobre los sistemas de bloque de los utensilios antes de la detención completa del utensilio, y en todo caso antes de 10 seg del mando de detención de la máquina

Por tanto, con el grupo de estudiantes con los que se realizó la experiencia piloto aún regían los objetivos de etapa y objetivos de materia, que básicamente

Con este componente se ha implementado la lógica de funcionamiento del sistema de frenado que se basa en una doble condicionalidad, que la velocidad seleccionada con

Se  ha  logrado  que  en  el  diseño  teórico  de  la  máquina  no  aparezcan  frecuencias  resonantes  que  interfirieran  en  la  medida  de  vibraciones  y 

Palabras clave: Comunicación alternativa; comunicación para el cambio social; País Vasco; Hala Bedi Irratia; radios libres.. Keywords: Alternative media; Communication for

16 de octubre de 1981, sobre una carta comunitaria de las lenguas y culturas regionales y sobre una carta de los derechos de las minorías étnicas (14); 11 de febrero de 1983, sobre

Volvemos a Principal Para volver a mirar RA4 y seleccionar que puesto mostramos por pantalla, como se vera mas adelante no necesariamente se cambia de puesto de tiro, puesto que en

Tal y como se ha comentado anteriormente, un objetivo principal del proyecto RepRap es la autorreplicación, que es la habilidad de producir los componentes necesarios para