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


Apunts Computadors, Apuntes de Fundamentos de la Informática

Asignatura: Fonaments d'informática, Profesor: Professor d'administ (Lliure Elecció), Carrera: Enginyeria Informàtica, Universidad: UAB

Tipo: Apuntes

2016/2017

Subido el 18/01/2017

aguardado98
aguardado98 🇪🇸

2.3

(3)

3 documentos

1 / 7

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
25/11/2013
1
EsquemaBásicodelComputador
Unidad
de
Control
MARMBR
IR
PC
SP
ALU
Registros
depropósito
general
SR
Memoria
Principal
Controladora
E/S
Controladora
E/S
Dispositivos
E/S
Dispositivos
E/S
Busdecontrol
Busdedirecciones
Busdedatos
CPU
intreq
Definiciones
PCoIP:RegistroContadordeProgramaoPunteroaInstrucción.Contieneladireccióndelapróxima
instrucciónaejecutar
IR:RegistrodeInstrucciones.Contienelainstrucciónqueseestáejecutandoactualmenteenel
procesador
SP:PunteroalaPila.Contieneladireccióndeltopedelapiladelprograma.
SR:RegistrodeEstado.ContieneInformaciónsobrelaúltimaoperaciónrealizadaenlaALU
MAR:RegistrodeDireccionesdeMemoria.Contieneladireccióndememoriasobrelaqueel
procesadorvaarealizarunaoperación.SucontenidosepresentaenlaslíneasdelBusde
Direcciones
MBR:RegistrodeDatosdeMemoria.Enunaoperacióndeescritura,contieneelvaloraserescrito
(dichovalorsepresentaenlaslíneasdelBusdeDatos).Enunaoperacióndelectura,enelse
recibiráelvalo rleído(elquelaMemoriaPrincipaloControladoradeE/ShayancolocadoenelBus
deDatos)
Registrosdepropósitogeneral:Conjuntoderegistro svisiblesalprogramadoryqueseutilizan
generalmenteparagestionarlosdatosasociadosalainstrucciónqueseestáejecutando
actualmente.
ALU:UnidadAritméticoLógica.Realizalasoperacionesaritméticasylógicas
UC:UnidaddeControl.Seencargadeenviarseñalesdecontrolalrestodeloselementosdel
procesadorparaindicarqueoperacióndebehacercadaunoencadainstante.Produceademáslas
señalesdelBusdeControl
MemoriaPrincipal:Dispositivoenelquesealmacenanelcódigoylosdatosdelprogramaen
ejecución.Estadivididaenpalabras,queeslaunidaddetransferenciaconelprocesador,ycada
palabraestáidentificadaporunadirecciónúnicadememoria.
ControladorasdeE/S:Dispositivosquepermitenelintercambiodeinformaciónentrelos
periféricosyelprocesador
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Apunts Computadors y más Apuntes en PDF de Fundamentos de la Informática solo en Docsity!

Esquema Básico del Computador

Unidad

de

MBR MAR^ Control

IR

PC

SP

ALU

Registros de propósito general

SR

Memoria Principal

Controladora E/S

Controladora E/S

Dispositivos E/S

Dispositivos E/S

Bus de control Bus de direcciones Bus de datos

CPU

intreq

Definiciones

  • PC o IP : Registro Contador de Programa o Puntero a Instrucción. Contiene la dirección de la próxima instrucción a ejecutar
  • IR : Registro de Instrucciones. Contiene la instrucción que se está ejecutando actualmente en el procesador
  • SP : Puntero a la Pila. Contiene la dirección del tope de la pila del programa.
  • SR : Registro de Estado. Contiene Información sobre la última operación realizada en la ALU
  • MAR : Registro de Direcciones de Memoria. Contiene la dirección de memoria sobre la que el procesador va a realizar una operación. Su contenido se presenta en las líneas del Bus de Direcciones
  • MBR : Registro de Datos de Memoria. En una operación de escritura, contiene el valor a ser escrito (dicho valor se presenta en las líneas del Bus de Datos). En una operación de lectura, en el se recibirá el valor leído (el que la Memoria Principal o Controladora de E/S hayan colocado en el Bus de Datos)
  • Registros de propósito general : Conjunto de registros visibles al programador y que se utilizan generalmente para gestionar los datos asociados a la instrucción que se está ejecutando actualmente.
  • ALU : Unidad Aritmético Lógica. Realiza las operaciones aritméticas y lógicas
  • UC : Unidad de Control. Se encarga de enviar señales de control al resto de los elementos del procesador para indicar que operación debe hacer cada uno en cada instante. Produce además las señales del Bus de Control
  • Memoria Principal : Dispositivo en el que se almacenan el código y los datos del programa en ejecución. Esta dividida en palabras, que es la unidad de transferencia con el procesador, y cada palabra está identificada por una dirección única de memoria.
  • Controladoras de E/S : Dispositivos que permiten el intercambio de información entre los periféricos y el procesador

• El procesador realiza permanentemente las siguientes

operaciones:

1. Carga de la instrucción (Fetch)

  • MAR  (PC) /l
  • MBR  MEM(MAR) / ((MAR))
  • IR  (MBR)

2. Decodificación

3. Búsqueda de Operandos / Cálculo de la dirección

efectiva

4. Ejecución

5. PC  (PC) + 1 (puede hacerse en cualquier momento

después del paso 1)

6. ir a 1

Descripción funcional del Procesador

Jerarquía de Memoria

  • Registros y Memoria

Principal  Direccionables

  • Memoria Secundaria 

Periféricos

  • Cache 

Automáticamente se

mantienen los

datos/instrucciones más

utilizados

Regs Cache (MB)

Memoria Principal (GB)

Memoria

Secundaria

(TeraB)

CPU

Velocidad

Capacidad

  • Las instrucciones que un computador particular es capaz de ejecutar conforman su repertorio de instrucciones. El mismo debe ser capaz de dar soporte a las estructuras de programación de alto nivel (bucles condicionales [while] o no [for], condicionales [if, switch], funciones, etc.)
  • El formato de instrucción que utilizaremos en nuestra máquina se corresponde a:

Donde: COOP significa Código de Operación y se corresponde a la codificación binaria de la funcionalidad de la instrucción (sumar, restar, llamar a subrutina, etc.) OP1 y OP2 se corresponden a la especificación de los operandos involucrados en la instrucción (en caso de que sean necesarios). En las instrucciones de 2 operandos OP será fuente y destino de la operación (ej. add A, B  A = (A) + (B). Además, uno de los 2 operandos estará en un registro del procesador o será una constante, es decir, no se admiten operaciones memoria a memoria

  • Las instrucciones se agruparán en:
    • Instrucciones de transferencia de información: mov, in, out, xchg
    • Instrucciones aritmético‐lógicas: add, sub, mul, div, and, or, xor, shl, shr, not, neg
    • Instrucciones de control de flujo de programa: call‐ret, jmp, cmp, je, jg, jl, jge, jle, jne, jz, jc
    • Instrucciones de pila: push, pop

Repertorio de Instrucciones

COOP OP1 OP

  • Para poder soportar las diferentes estructuras de datos existentes en los lenguajes de programación de alto nivel (arrays, structs, punteros, variables simples, constantes) es necesario contar con los mecanismos adecuados para el cálculo de la dirección de los operandos:

Inmediato

Directo

Indexado

Relativo a Base

Indirecto

De Registro

De Registro Indirecto

Modos de Direccionamiento

Modos de

direccionamiento

  • Inmediato : El operando forma parte de la instrucción.
  • Directo : El operando se encuentra en la dirección que forma parte de la instrucción.
  • Indexado : El operando se encuentra en la dirección especificada en la instrucción más un desplazamiento indicado en un registro índice.

Modos de Direccionamiento

COOP Operando

COOP Dirección del Operando

COOP Dirección

+ Registro^ Indice

Dirección Efectiva

  • Indirecto : La dirección especificada en la instrucción indica la celda de memoria en la que se encuentra la dirección del operando.
  • De Registro : El operando se encuentra en el registro del procesador indicado en la instrucción.
  • De Registro Indirecto: El operando se encuentra en la dirección contenida en el registro del procesador indicado en la instrucción.

Modos de Direccionamiento

COOP Dirección D. Efectiva

Operando

COOP Id. Registro

Registro

Operando

COOP Id. Registro

Registro

Dirección Efectiva

  • Ejemplos

3.‐ Suponed la siguiente declaración: struct{ int x,y; char color; } ptocolor; y el siguiente código

ptocolor.x = 50; ptocolor.y = 100; ptocolor.color = ‘V’;

Modos de Direccionamiento

Suponiendo que el compilador coloca la variable ptocolor a partir de la posición 100 de memoria:

mov B, #100 (de registro ‐ inmediato) mov [B], #50 ( de registro indirecto ‐ inmediato) mov [B + 1], #100 ( relativo a base ‐ inmediato) mov [B + 2], #86 (relativo a base ‐ inmediato)

Nota : 86 es el código ASCII para el carácter ‘V’. Por otra parte, dada la máquina vista en clase, hemos asumido que cada campo de la estructura ocupa una palabra de memoria y en consecuencia los desplazamientos para x, y, color serán 0, 1 y 2 respectivamente. En una máquina “de verdad” los desplazamientos se calculan según el tamaño de operando, así para este ejemplo serían 0, 4 y 8 respectivamente (asumiendo que un entero ocupa 4 bytes).