Estructura de Computadores

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Estructura de Computadores"

Transcripción

1 Estructura de Computadores El computador simple utores: David Guerrero. Isabel Gómez,lberto Molina Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite la fuente y se respeten las condiciones de la licencia ttribution-share alike de Creative Commons. Texto completo de la licencia:

2 Guión El punto de partida: La calculadora utomatización en la ejecución y almacenamiento de programa (CS) lmacenamiento de los datos y ampliación de modos de eccionamiento (CS) Diversificación de instrucciones. Ejecución no secuencial (CS)

3 CS El computador simple presenta muchas deficiencias: imposibilidad de realizar saltos en la ejecución del programa, ausencia de variables de estado que informen del resultado de las operaciones, falta de comunicación con el exterior. Se propone una arquitectura pensada para solventar estas deficiencias: el CS. Se ha procurado que la arquitectura del CS sea similar a la del microcontrolador que veremos en el tema siguiente, aunque muchísimo más simple.

4 CS Modelo de usuario: ISP Se pretende que el juego de instrucciones ensamblador del CS sea básicamente un subconjunto muy reducido del de la arquitectura VR. Esto no implica que el formato del código máquina en ambos sistemas sea similar: El formato de instrucciones del CS es muchísimo más simple.

5 Modificaciones en la arquitectura y el formato de que nos permiten aña instrucciones de salto

6 S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x MR[] W PC R PC W MR PC[] I PC CL PC I D SP SP SP[] C[] W C R C R SP Preset SP Cómo se hace el salto?: en el PC, ya no cambia siempre de forma secuencial, se debe actualizar a la ección del salto. Dónde está la ección del salto?: guardada en el código de la. El sistema debe de permitir guardar este dato en el PC. Necesitamos conectar el PC al bus para establecer un camino desde IR

7 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Ha sido necesario aña un nuevo formato que nos permitirá codificar todos los tipos de instrucciones de salto que explicaremos a continuación S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [] C[] W C R C R SP Preset SP

8 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Salto incondicional. Salta siempre, no se utiliza el campo condición de salto. Los bits del IR se guardan en el PC y eso produce el salto. La próxima que busque el sistema será en la ección del salto S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [] C[] W C R C R SP Preset SP

9 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Salto condicional. Salta si se cumple una condición codificada en la y que será evaluada por la unidad de control. S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [] C[] W C R C R SP Preset SP 9

10 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Salto condicional. La condición para que se produzca un salto viene dada por el resultado de la operación que se realizó durante la ejecución de la anterior. Fué el dato,positivo, desbordamiento? S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [] C[] W C R C R SP Preset SP

11 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Salto condicional. Necesitamos una LU que genere está información. La información se guardará en los flags del de estado (SR). La complejidad de la LU y el SR son añadidos a la nueva arquitectura S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP SP [] C[] W C R C R SP Preset SP

12 Información de lo que significan los códigos de condición nemónico(s) I I 9 I CONDICIÓN de la condición notas Z ZS, EQ será cierta justo tras realizar la resta - si y solo si = C CS, LO será cierta justo tras realizar la resta - si y solo si < asumiendo notación base sin signo V VS será cierta si y solo si el dato recién calculado no es representable en notación complemento a N xor V LT será cierta justo tras realizar la resta - si y solo si < asumiendo notación complemento a - -? - estas condiciones no están definidas y no deben utilizarse El mnemónico de la de salto condicional será expuesto más adelante. Se trata ahora de entender la relación entre los bits del código de condición y el flag generado por la LU y que se guarda en el de estado.

13 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Salto condicional. No se cumple la condición: no se modifica el PC. S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP SP [] C[] W C R C R SP Preset SP

14 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Salto condicional. Se cumple la condición: el PC es modificado. S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP SP [] C[] W C R C R SP Preset SP

15 formato 9 memoria o inmediato C de salto código de operación S S destino (fuente en ST/STS) condición de salto INM R R R R R R R - Y R - Z fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto w w w w w w w w Salto a subrutina. Se trata de alterar el contenido del PC con la ección donde comienza una serie de instrucciones que hay que ejecutar y luego volver a la siguiente a la de salto. El PC se altera, pero luego hay que volver a actualizarlo. demás pueden existir subrutinas anidadas, es decir, dentro de la subrutina llamar a la subrutina. Primero se volvería a la subrutina y luego al programa principal, en este caso necesitamos almacenar dos valores del IR[:] W REG S IR[:] PC. En general n valores. COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data CODMEM x IR[:] W IR STRT STOP C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP SP [] C[] W C R C R SP Preset SP

16 formato 9 memoria o inmediato C de salto código de operación S S destino (fuente en ST/STS) condición de salto INM fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto R R R R R R R - Y R - Z w w w w w w w w Salto a subrutina. Los sucesivos valores del PC se guardan en la memoria de datos del computador, pero no en cualquier sitio. Se guardan en una zona denominada Pila, la justificación de este nombre será expuesta más adelante. La ección para acceder a la pila está guardada en un denominado puntero de pila y que hemos tenido que aña a la nueva arquitectura CS. IR[:] W REG S IR[:] COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data CODMEM x IR[:] W IR STRT STOP C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP SP [] C[] W C R C R SP Preset SP

17 Estructura de la Pila ntes de meter un nuevo dato el SP tiene guardada la ección de la pila donde el dato se guardará. Es como si se hiciera una pila de libros, el primero que quito es el último que he puesto. El primer dato se guarda en una ección determinada y el siguiente, en la ección inmediatamente inferior. La pila crece hacia ecciones decrecientes de la memoria. Supongamos SP=$ Representación abstracta de la zona de la memoria de datos y los valores del SP del CS SP

18 SP=$ SP Estructura de la Pila NTES SP=$ SP Representación abstracta de la zona de la memoria de datos y los valores del SP del CS DESPUÉS DTO Proceso de guardar datos en la pila. Operación de PUSH

19 SP=$ SP Estructura de la Pila NTES DTO SP=$ SP DESPUÉS DTO DTO Representación abstracta de la zona de la memoria de datos y los valores del SP del CS Proceso de guardar datos en la pila. Operación de PUSH 9

20 SP NTES DTO Estructura de la Pila SP=$ DTO SP SP=$ DESPUÉS DTO Representación abstracta de la zona de la memoria de datos y los valores del SP del CS Proceso de extracción de datos de la pila. Operación de PULL. El primero que se lee es el último que se escribió.

21 SP=$ SP Estructura de la Pila NTES DTO SP=$ SP DESPUÉS Representación abstracta de la zona de la memoria de datos y los valores del SP del CS Proceso de extracción de datos de la pila. Operación de PULL. El primero que Lee es el último que se escribió.

22 Estructura de la Pila SP SP=$ SP SP=$ DTO SP SP=$ DTO DTO SP SP=$ DTO SP SP=$ Resumen del proceso de dos operaciones de escritura en pila (PUSH) y otras dos de lectura de pila (PULL). Los datos se leen en orden inverso a como se escribieron.

23 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Retorno de subrutina. Se recuperan lo valores del PC guardados para saber la ección de salto. La ección de salto por lo tanto no se encuentra en el código de la. No está asociado a ningún tipo de formato S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [] C[] W C R C R SP Preset SP Descripción general: Incrementar SP y guardarlo en MR Esto permite el acceso a la ección de la memoria de datos, cuyo contenido es la ección de salto.

24 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Retorno de subrutina. Se recuperan lo valores del PC guardados para saber la ección de salto. La ección de salto por lo tanto no se encuentra en el código de la. No está asociado a ningún tipo de formato S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP SP [] C[] W C R C R SP Preset SP Descripción general: cceso a la pila recuperación del valor Deseado del PC, vuelta a la siguiente a La de salto a subrutina

25 Instrucciones de llamada y retorno de Una subrutina es una secuencia de instrucciones que realizan una cierta tarea a partir de unos datos de entrada, generando unos datos de salida Cuando un programa necesita realizar la tarea, hace una llamada a la subrutina, ésta se ejecuta y cuando termina, el programa se reanuda por donde se había quedado (retorno de subrutina). Una subrutina puede ser llamada todas las veces que el programa lo necesite Una subrutina puede llamar a su vez a otra subrutina: ejecución anidada de subrutinas subrutina Una subrutina puede llamarse a sí misma: subrutinas recursivas

26 Instrucciones de llamada y retorno de subrutinas CODMEM CODMEM $ $ PC-> $ CLL $ $ CLL $ Situación inicial (a). El computador ejecuta instrucciones y llega a CLL $. $ $ La ejecución de la CLL $ hace que: Se guarde en la pila el PC (que contiene $) Se salte a la ección $ $ PC-> $ $ Subrutina $ Subrutina $ $ $ RET $ RET Observe el comportamiento del puntero de pila o SP (b). $FD DTMEM $FD DTMEM $FE SP-> $FE SP-> $FF $FF $ (a) (b)

27 Instrucciones de llamada y retorno de subrutinas Se ejecutan las instrucciones de la subrutina hasta que se procede a ejecutar la última o RET (c) La ejecución de RET hace que se saque el dato que está en la cima de la pila y que se guarde sobre el PC (d) continuación se sigue ejecutando instrucciones. En este caso a partir de la ección $. Observe que $ sigue en la PIL pero ya no es accesible y en la próxima operación de PUSH será sobreescrito. CODMEM CODMEM $ $ $ CLL $ $ PC-> $ $ $ $ Subrutina $ Subrutina $ $ PC-> $ RET $ RET DTMEM DTMEM $FD $FD SP-> $FE $FE $FF $ SP-> $FF $ (c) (d)

28 Instrucciones de llamada y retorno de subrutinas nidamiento de subrutinas... Call rut Dir:.. $FD... CODMEM... Call rut Dir:..... Rut:.. Call rut Dir: ret... Rut:.. ret $FE SP-> $FF DTMEM Rut:.. Call rut Dir: ret... Rut:.. ret $FD SP-> $FE $FF Dir DTMEM

29 Instrucciones de llamada y retorno de subrutinas nidamiento de subrutinas... Dir:.. Call rut Dir:.. CODMEM Call rut... Rut:.. Call rut Dir: ret... Rut:.. ret $FD SP-> $FE $FF Dir DTMEM Rut:.. Call rut Dir: ret... Rut:.. ret SP-> $FD $FE $FF Dir Dir DTMEM 9

30 Instrucciones de llamada y retorno de nidamiento de subrutinas subrutinas CODMEM Call rut Call rut Dir:..... Dir:..... Rut:.. Call rut Dir: ret... Rut:.. ret SP-> $FD $FE $FF Dir Dir DTMEM Rut:.. Call rut Dir: ret... Rut:.. ret $FD SP-> $FE $FF Dir Dir DTMEM

31 Instrucciones de llamada y retorno de nidamiento de subrutinas subrutinas CODMEM Call rut Call rut Dir:..... Dir:..... Rut:.. Call rut Dir: ret... Rut:.. ret SP-> $FD $FE $FF Dir Dir DTMEM Rut:.. Call rut Dir: ret... Rut:.. ret $FD SP-> $FE $FF Dir Dir DTMEM

32 Instrucciones de llamada y retorno de nidamiento de subrutinas Observe que el orden en el que se deben extraer los contenidos del PC de la PIL debe ser en sentido inverso a como éstos se introdujeron en ella. (LIFO) subrutinas... Dir:.. Rut:.. Dir: Call rut Call rut ret... Rut:.. CODMEM ret $FD $FE... Dir SP-> $FF Dir DTMEM

33 Registros visibles de la nueva arquitectura Todos los s visibles son de bits Los de propósito general se etiquetan R, R, R, R, R, R, R y R. Los de propósito específico son los siguientes: PC o contador de programa: Contiene la ección de la próxima que se ejecutará. Se inicializa a cero y se va incrementando a medida que se ejecutan las instrucciones. SR o de estado: Sus bits útiles se etiquetan Z (cero), V (desbordamiento), N (negativo) y C (cero). Indican, respectivamente, si la última aritmética/lógica generó un resultado con todos los bits a cero, un resultado no representable en complemento a, un resultado que es negativo al interpretarlo en complemento a o si provocó carry/borrow. SP o puntero de pila: Sirve para implementar la estructura de pila en memoria. Codifica la ección de la primera posición libre. El puntero de pila se va decrementando a medida que se apilan datos y se incrementa al desapilarlos. Estos incrementos y decrementos se hacen de forma automatizada al realizar llamadas y retornos de subrutina.

34 Registros ocultos IR: de bits que sirve para almacenar la que está siendo ejecutada. MR: Registro de bits que ecciona la memoria de datos. C: Registro de bits para almacenar temporalmente el resultado de la LU

35 Una posible implementación S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [] W PC R PC W MR PC[] I PC CL PC I D SP SP SP [] C[] W C R C R SP Preset SP

36 Una posible implementación Descripción RT de los nuevos componentes W operación OUT= IN SREG[] OUT W SREG SREG SREG SP IN SREG CL W R I operación OUT= IN/OUT= W R OUT PC[] IN/OUT I CL x x x PC PC HI X x PC IN/OUT PC DTO X PC PC PC PC PC PC+ PC HI PC PC PC HI

37 Formatos: Solo hay tres y comparten campos formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto

38 Tabla de instrucciones signación de códigos de operación: Facilita la decodificación its del código de operación NEMÓNICO FORMTO TIPO SINTXIS EFECTO VCNZ ST memoria STYoZ,Rfuente MEM[YoZ] Rfuente ---- LD memoria LD Rdestino,YoZ Rdestino MEM[YoZ] ---- STS memoria STS ección,rfuente MEM[ección] Rfuente ---- LDS memoria LDS Rdestino,ección Rdestino MEM[ección] ---- CLL C salto CLL ección MEM[SP] PC,SP SP-, PC ección ---- RET - salto RET PC MEM[SP+],SP SP Rxx C salto Rxx ección xx: PC ección ---- JMP C salto JMP ección PC ección ---- DD aritmético/lógica DD Rdestino,Rfuente Rdestino Rdestino+Rfuente **** SU aritmético/lógica SU Rdestino,Rfuente Rdestino Rdestino-Rfuente **** CP estado CP Rdestino,Rfuente Rdestino-Rfuente **** MOV movimiento de datos MOV Rdestino,Rfuente Rdestino Rdestino ---- STOP - especial STOP lleva el procesador a espera ---- SUI aritmético/lógica SUI Rdestino,dato Rdestino Rdestino-dato **** CPI estado CPI Rdestino,dato Rdestino-dato **** LDI movimiento de datos LDI Rdestino,dato Rdestino dato ---- (sin tener en cuenta el de estado y el incremento del PC) El caracter '-' denota no modificado, '*' denota modificado de forma definida

39 Códigos de condición de la de bifurcación condicional: Rxx Los bits I I 9 I codifican la condición de salto xx. nemónico(s) I I 9 I CONDICIÓN de la condición notas Z ZS, EQ será cierta justo tras realizar la resta - si y solo si = C CS, LO será cierta justo tras realizar la resta - si y solo si < asumiendo notación base sin signo V VS será cierta si y solo si el dato recién calculado no es representable en notación complemento a N xor V LT será cierta justo tras realizar la resta - si y solo si < asumiendo notación complemento a - -? - estas condiciones no están definidas y no deben utilizarse RZS, REQ, RCS, RLO, RVS, RLT 9

40 Una posible implementación Descripción RT de los nuevos componentes S R T T operación C N Z V + carry(+) OUT nor(out) overflow(+) C N Z V OUT S R T T - borrow(-) OUT nor(out) overflow(-) Otras prohibidas Preset I D R operación OUT= Preset R SP[] out I D SP SP HI x x x SP $FF HI x x SP SP+ HI x SP SP- HI SP SP SP

41 Descomposición de las instrucciones en microoperaciones para algunos casos

42 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Ejemplo de de acceso a memoria para guardar dato en ella. Direccionamiento inecto de ST YoZ,Ri CICLO MEM(YoZ) Rf C REG(IR - ) W C, T MR C W MR, R C C REG(IR - ) W C, T CICLO DTMEM(MR) C WMEM, RC S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [ ] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [ ] C[] W C R C R SP Preset SP

43 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto Ejemplo de de salto Direccionamiento absoluto CLL ección CICLO MEM(SP) PC, SP SP-, PC ección MR SP C IR[:] DTMEM(MR) PC CICLO SP SP- W MR, R SP W C, T,INM W MEM, R C D SP PC C W PC, R C S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [ ] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [ ] C[] W C R C R SP Preset SP

44 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto CICLO C IR[:] Ri DTMEM(ección) W C, T,INM MR C W MR, R C REG(IR - ) DTMEM(MR) W REG, R MEM Ejemplo de de transferencia de dato desde memoria Direccionamiento absoluto LDS Ri,ección S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [ ] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [ ] C[] W C R C R SP Preset SP

45 formato 9 memoria o inmediato C de salto código de operación destino (fuente en ST/STS) condición de salto fuente ( base en ST/LD) dato inmediato / ección del dato ección de salto CICLO Rd Rd+Rf C REG(IR - )+ REG(IR - ) SREG INFO ESTDO W C, S W SR REG(IR - ) C W REG, R c Ejemplo de de aritmética sobre pila de s Direccionamiento ecto de DD Rd,Rf S S R R R R R R R - Y R - Z w w w w w w w w IR[:] W REG S COMNDOS L UNIDD DE DTOS IR[:] UNIDD DE CONTROL DEL CS IR[] data IR[:] W IR STRT STOP INM IR[:] CODMEM x C,N,Z,V OUT SREG[] W SR S (OUT=+) R (OUT=-) T (OUT=) T (OUT=) W MEM R MEM DTMEM x M R [ ] W PC R PC W MR PC[] I PC CL PC I D SP SP S P [ ] C[] W C R C R SP Preset SP

46 Programación

47 Carta SM S XS PC IR MEMCOD(PC) PC PC + STOP IR[:] Microoperaciones DD Microoperaciones SUI Microoperaciones CPI Microoperaciones LDI Microoperaciones STS Microoperaciones LD Microoperaciones RET Microoperaciones Rxx Microoperaciones SU Microoperaciones CP Microoperaciones MOV Microoperaciones LDS Microoperaciones ST Microoperaciones CLL Microoperaciones JMP

48 Lenguaje ensamblador CS El lenguaje ensamblador consta de: Instrucciones ejecutables: Son las desarrolladas para el CS. Su sintaxis es la del mnemónico que se ha ido presentando. Directivas de ensamblado o pseudoinstrucciones: Son instrucciones que ayudan a escribir el programa y a documentarlo, pero que no causan código ejecutable. Conjunto de normas (léxicas, semánticas y sintácticas) que lo hacen operativo.

49 Directivas del ensamblador CS Las principales normas y ectivas de ensamblado del CS son: No distingue mayúsculas de minúsculas Comentario hasta final de línea ; : ; Esto es un comentario: elimino ST (R),R Numerales: Formas de dar valores numéricos. Son: decimal con/sin signo (-, ); binario de bits precedidos de b (b); hexadecimal de uno o dos dígitos precedidos de x (x, xf). Etiquetas: Cadena alfanumérica que comienza por letra: p.ej. eti. Pueden definirse con EQU o mediante identificador de línea de : guarda: ST ; asociará a guarda el número de correspondiente a ST.EQU <etiqueta>=<numeral>. socia un valor a una etiqueta:.equ n= ;asocia el a la etiqueta n 9

50 Ejemplos de uso Escriba una subrutina para el cálculo de la multiplicación mediante el algoritmo de sumas sucesivas. MULT: LDI R, CPI R, REQ RETORN UCLE: DD R,R SUI R, REQ RETORN JMP UCLE RETORN: RET

51 Ejemplos de uso Escriba una subrutina que devuelva el mayor de dos números escritos en complemento a. MX: RMENOR: CP R,R RLT RMENOR MOV R,R RET MOV R,R RET

52 Entrada/Salida El CS no ha permitido solucionar unas de las deficiencias del CS planteadas al principio de este tema: la incapacidad de comunicación con el exterior. Es decir, no posee capacidad de entrada salida. continuación se expone un procedimiento que permitiría dotarlo de dicha capacidad.

53 Desde el punto de vista del programador la memoria es vista como un conjunto de bytes almacenados en ecciones concretas. Parte de ese rango de ecciones puede reservarse para que el procesador pueda acceder al exterior (entrada/salida) $ Entrada/Salida $ Datos Datos $.. $F Entrada/Salida $FF $FF Datos Sin E/S Con E/S

54 Entrada/Salida Reservaremos un subrango del espacio de eccionamiento (ej: $-$F) para entrada/salida. Para ese subrango no se accede a la memoria de datos sino a los dispositivos de entrada/salida. E/S R MEM W MEM W R R W R MR E/S W R W R MR E/S W SISTEM DE MEMORI DE DTOS D - - D - - E/S R MEM E/S W MEM DT DT_DD DT_DD[-] $ = E/S W MR W MR EN DEC DT_DD - : : : R R : R DT_DD - EN DEC : : : W W : W

55 Entrada/Salida Los cuatro bits más significativos de DT_DD indican si la ección pertenece al rango de entrada/salida. Para dicho rango, los bits restantes de DT_DD se utilizarán para seleccionar la posición de E/S concreta. E/S R MEM W MEM W R R W R MR E/S W R W R MR E/S W SISTEM DE MEMORI DE DTOS D - - D - - E/S R MEM E/S W MEM DT DT_DD DT_DD[-] $ = E/S MR W MR EN DEC DT_DD - : : : R R : R DT_DD - EN DEC : : : W W : W

56 Las posiciones de E/S puede ser de lectura/escritura, de sólo lectura o de solo escritura Un dispositivo de E/S puede agrupar varias posiciones de E/S. Entrada/Salida E/S R MEM DISPOSITIVO ES # W MEM W R W MR E/S W MR E/S SISTEM DE MEMORI DE DTOS D - - D - - DT DT_DD DT_DD[-] $ = E/S W MR E/S W MR E/S W MR E/S W MR W MR DISPOSITIVO ES #N

57 Entrada/Salida Dispositivo de salida (display de segmentos) a f b g US DE DIRECCIONES Decodificador de ecciones G OC LTCH e d C D E F G DP c LDI R,$FF /*Código seg del número */ STS $,R /*Muestra el número en la ección del puerto de E/S*/ US DE DTOS Display -seg

58 Entrada/Salida Dispositivo de entrada (pulsadores) R LDS R, $ /*lmacena el estado de los pulsadores en la ección del puerto de E/S */ US DE DIRECCIONES Decodificador de ecciones v v OC G LTCH v US DE DTOS

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

8.4. El software en los μprocesadores

8.4. El software en los μprocesadores 8.4. El software en los μprocesadores Ejemplo de comandos de la CPU: Tarea: Sumar dos números A y B. Suponer los datos A y B almacenados en las posiciones 1000 2 y 1010 2 respectivamente. El resultado

Más detalles

Guía de programación ATMega328pa

Guía de programación ATMega328pa Guía de programación ATMega328pa Autor: Alberto J. Molina Última modificación: 6/05/13 Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite

Más detalles

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez Dpto. Física y Arquitectura de Computadores Universidad Miguel Hernandez Es el lenguaje de más bajo nivel que admite una máquina. El ensamblador hace que el código binario(máquina sea transparente al usuario)

Más detalles

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control

Más detalles

El Diseño de un Lenguaje Máquina

El Diseño de un Lenguaje Máquina Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje

Más detalles

Funcionamiento de la Pila (o stack)

Funcionamiento de la Pila (o stack) Funcionamiento de la Pila (o stack) Todo μp cuenta con una memoria de almacenamiento temporal denominada Pila Es una estructura de datos de tipo secuencial (LIFO) Existen dos operaciones básicas posibles:

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Construyendo Programas más Complejos

Construyendo Programas más Complejos Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más

Más detalles

Arquitectura (Procesador familia 80 x 86 )

Arquitectura (Procesador familia 80 x 86 ) Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

3 - Arquitectura interna de un up

3 - Arquitectura interna de un up cei@upm.es 3 - Arquitectura interna un up Componentes básicos Lenguaje ensamblador y código máquina Ciclo básico ejecución una instrucción Algunos ejemplos Universidad Politécnica Madrid Componentes básicos

Más detalles

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos 1 Estructura y Tecnología de Computadores Módulo C. Arquitectura del procesador Tema. Modos de direccionamiento y tipos de datos José Manuel Mendías Cuadros Dpto.. Arquitectura de Computadores y Automática

Más detalles

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS Características de un Ensamblador de Archivo Traduce de Leng Ensamblador a Lenguaje máquina Permite definición de etiquetas Reserva memoria para variables octales

Más detalles

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp Ciclos de máquina Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp Acceso a periféricos: función del pin IO/M Este μp cuenta con dos instrucciones específicas para I/O, llamadas

Más detalles

Relación de Problemas I

Relación de Problemas I Relación de Problemas I 352) $1'5e6 52/'È1 $5$1'$ 1. Realizar el cálculo del tiempo que transcurre durante la ejecución del bloque de instrucciones sombreado, en función del contenido de los registros

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU) INDICE Capitulo 1. Qué es un computador? 1.1. Introducción 1 1.2. El computador como dispositivo electrónico 2 1.3. Cómo se procesa la información? 3 1.4.Diagrama de bloques de un computador 1.4.1. Información

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION ESTRUCTURA DE COMPUTADORES Pag. 14.1 LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION 1. Introducción Vamos a aplicar las ideas de microprogramación al caso de un minicomputador similar al

Más detalles

Tema 5: La pila, las macros y los procedimientos

Tema 5: La pila, las macros y los procedimientos Tema 5: La pila, las macros y los procedimientos S La pila S Las macros S Definición de procedimientos S Tipos de procedimientos: NEAR y FAR S Paso de parámetros a un procedimiento S Mediante registros

Más detalles

1 La figura 1 muestra la estructura de la CPU de un computador con palabras y direcciones de 32 bits, cuya

1 La figura 1 muestra la estructura de la CPU de un computador con palabras y direcciones de 32 bits, cuya ESTUCTU DE COMPUTDOES Tema de Procesador (Enunciados de problemas) POBLEMS 1 La figura 1 muestra la estructura de la CPU de un computador con palabras y direcciones de 32 bits, cuya unidad de c ontrol

Más detalles

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005 Arquitectura intel 8086 Preámbulo de OSO para alumnos formados en el procesador MIPS Asignatura Sistemas Operativos Murcia abril de 2005 página 1. Introducción 2 2.- Direccionamiento y Registros de Segmento

Más detalles

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software Tema 2: Lenguaje máquina La interfaz entre el hardware y el software 1 Índice Introducción. Formatos de Instrucción. Modos de Direccionamiento. Ortogonalidad y Regularidad. Frecuencia de Utilización de

Más detalles

Clasificación del procesador según el número de referencias a memoria.

Clasificación del procesador según el número de referencias a memoria. Estructura de Computadores Tema 1. El sistema computador Estructura general de un computador. Arquitectura de Von Neumann. Unidades generales: procesador, memoria, entrada/salida, unidad de control. Niveles

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles

Instrucciones de Control de Flujo y Usos de la Pila

Instrucciones de Control de Flujo y Usos de la Pila 1 Instrucciones de Control de Flujo y Usos de la Pila Objetivos Generales Facultad: Estudios Tecnologicos. Escuela: Electrónica Asignatura: Microprocesadores Analizar la forma en que se ejecutan algunas

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora Programación de Sistemas Unidad 1. Programación de Sistemas y Arquitectura de una Computadora Programación de Sistemas Arquitectura de una Computadora Componentes de un Sistema de Cómputo Un sistema está

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Comparaciones en lenguaje ensamblador

Comparaciones en lenguaje ensamblador Comparaciones en lenguaje ensamblador Objetivo: Entender cómo se realizan las comparaciones de datos en lenguaje ensamblador En lenguaje ensamblador no existe la instrucción IF como se trabaja en otros

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>} Bloque II. 2. Objetos y acciones elementales Bloque II. 2. Objetos y acciones elementales Objetivos: Familiarizarse con conceptos de entorno, objeto y tipo Entender qué significa que un objeto sea de un

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

Tema 4. Lenguaje máquina y lenguaje ensamblador Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 47 Índice Introducción Juego de instrucciones Estructura

Más detalles

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

PROGRAMA de Organización de Computadoras

PROGRAMA de Organización de Computadoras PROGRAMA de Organización de Computadoras Carrera/s: Tecnicatura Universitaria en Programación Informática / Licenciatura en Informática Asignatura: Organización de Computadoras Núcleo al que pertenece:

Más detalles

MEMORIA EJERCICIO 1 EJERCICIO 2

MEMORIA EJERCICIO 1 EJERCICIO 2 MEMORIA EJERCICIO 1 Determinar el mapa de memoria de un procesador con 16 señales de bus de direcciones, una señal de asentimiento de bus de direcciones AS, una señal de lectura R, otra de escritura W

Más detalles

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos INDICE Parte I. La computadora digital: organización, operaciones, periféricos, lenguajes y sistemas operativos 1 Capitulo 1. La computadora digital 1.1. Introducción 3 1.2. Aplicaciones de las computadoras

Más detalles

Estructura de Computadores Tema 1. Introducción a los computadores

Estructura de Computadores Tema 1. Introducción a los computadores Estructura de Computadores Tema 1. Introducción a los computadores Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido

Más detalles

Estructura del Computador

Estructura del Computador Estructura del Computador 1 definiciones preliminares Estructura: es la forma en que los componentes están interrelacionados Función: la operación de cada componente individual como parte de la estructura.

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz.

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz. Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz. TIPOS DE ERRORES Sintácticos. Los errores de sintaxis, o sintácticos, ocurren cuando el programador escribe código que no va de acuerdo

Más detalles

FUNCIONAMIENTO DEL ORDENADOR

FUNCIONAMIENTO DEL ORDENADOR FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores

Más detalles

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos: Unidades principales en la implementación Data El procesador: camino de datos y control IEC UTM Moisés E. Ramírez G. 1 Register # PC Address Instruction Instruction Registers Register # ALU memory Register

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

El nivel ISA (II)! Conjunto de Instrucciones El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Constantes y variables Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. pi = 3.1416 Variable: Es un espacio en la memoria de la computadora que

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

Práctica 4 - Arquitectura CPU

Práctica 4 - Arquitectura CPU Práctica 4 - Arquitectura CPU Organización del Computador 1 1er. Cuatrimestre 2006 Programación en Assembler Ejercicio 1 Dados los siguientes valores de la memoria y del registro R0 de la arquitectura

Más detalles

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas INDICE Prefacio XV Capitulo 1. Álgebra de variables lógicas 1 1.1. Variables y funciones 1 1.2. Variables lógicas 2 1.3. Valores de una variable lógica 2 1.4. Funciones de una variable lógica 3 1.5. Funciones

Más detalles

Unidad I: Organización del Computador. Ing. Marglorie Colina

Unidad I: Organización del Computador. Ing. Marglorie Colina Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos INDICE Prólogo XI 1. Operación del Computador 1 1.1. Calculadoras y Computadores 2 1.2. Computadores digitales electrónicos 5 1.3. Aplicación de los computadores a la solución de problemas 7 1.4. Aplicaciones

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

Plataformas de soporte computacional: arquitecturas avanzadas, Plataformas de soporte computacional: arquitecturas avanzadas, sesión Diego R. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice. Arquitectura

Más detalles

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. Tema 2 Elementos de un programa LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar

Más detalles

Estructuras en LabVIEW.

Estructuras en LabVIEW. Estructuras en LabVIEW. Sumario: 1. Ejecución según el flujo de datos. 2. Estructuras básicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While

Más detalles

Organización de Computadoras. Clase 2

Organización de Computadoras. Clase 2 Organización de Computadoras Clase 2 Temas de Clase Representación de datos Números con signo Operaciones aritméticas Banderas de condición Representación de datos alfanuméricos Notas de Clase 2 2 Representación

Más detalles

Paso de parámetros y gestión del marco de pila

Paso de parámetros y gestión del marco de pila Paso de parámetros y gestión del marco de pila Estructura de Computadores 1. Introducción En clases previas se ha presentado el modelo de programación del 88110 y se ha explicado cómo se ubican las distintas

Más detalles

TEMA III: OPERACIONES CON LOS DATOS

TEMA III: OPERACIONES CON LOS DATOS CUESTIONES A TRATAR: Cual es la función de la unidad operativa? Es necesaria? Qué tipos de circuitos implementan la unidad operativa? Unidad operativa frente a ALU Qué es una operación de múltiple precisión?

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011

Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011 1 ontenido 2 UNIDAD 5 EL LENGUAJE DE ENSAMBLADOR DEL Z80 onjunto de instrucciones Tipos de instrucciones Modos de direccionamiento El ensamblador del Z80 El simulador AVOET Implementación de un sistema

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Fundamentos de Programación Visual Basic

Fundamentos de Programación Visual Basic Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280

Más detalles

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares: Práctica 4 Organización del Computador 1 12 de septiembre de 2005 Algunas consideraciones preliminares: Donde aparece xxxxxxxx quiere decir que el valor correcto ya está en esa dirección de memoria Todos

Más detalles

La resolución de un problema

La resolución de un problema CAP. 2. ALGORITMOS Y PROGRAMAS 2.1. Solución de problemas por computadora La resolución de problemas por computadora, es importante para que las personas o usuarios aprendan a programar de manera general,

Más detalles

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez Estructura de Microprocesadores PIC 18F4550 Administración de la memoria Profesor Ing. Johan Carvajal Godínez Contenidos Organización de la memoria del MCU Administración de la memoria de programa (Flash)

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Arquitectura de Computadores. Apellidos, Nombre:

Arquitectura de Computadores. Apellidos, Nombre: No se considerarán como válidas las respuestas en las que no se justifiquen los cálculos realizados No se permite el uso de ningún tipo de documentación, ni de calculadora Sólo existe una única opción

Más detalles

Anexo A: Programación a bajo nivel de un computador

Anexo A: Programación a bajo nivel de un computador Anexo A: Programación a bajo nivel de un computador v 3.0. Objetivo de la Práctica Ayudar a comprender el funcionamiento y la estructura de un computador Von Neuman mediante el estudio y la programación

Más detalles

Ficha de Aprendizaje N 13

Ficha de Aprendizaje N 13 Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

ESTRUCTURA BÁSICA DE UN ORDENADOR

ESTRUCTURA BÁSICA DE UN ORDENADOR ESTRUCTURA BÁSICA DE UN ORDENADOR QUÉ ES UN ORDENADOR? Un ordenador es una máquina... QUÉ ES UN ORDENADOR? Un ordenador es una máquina... QUÉ ES UN ORDENADOR? Un ordenador es una máquina... Qué son los

Más detalles

DIAGRAMAS DE FLUJO ELEMENTOS E INSTRUCCIONES A USAR EN UN DIAGRAMA DE FLUJO

DIAGRAMAS DE FLUJO ELEMENTOS E INSTRUCCIONES A USAR EN UN DIAGRAMA DE FLUJO DIAGRAMAS DE LUJO Un Diagrama de lujo es la representación gráfica de los pasos a seguir para lograr un objetivo, que habitualmente es la solución de un problema. Por Logical se entiende, en algunos libros,

Más detalles

https://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf

https://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf 1.3 Sistemas numéricos 1.3.1. Introducción Un sistema de representación numérica es un lenguaje que consiste en: Un conjunto ordenado de símbolos (dígitos o cifras) y otro de reglas bien definidas para

Más detalles

TEMA 1: Concepto de ordenador

TEMA 1: Concepto de ordenador TEMA 1: Concepto de ordenador 1.1 Introducción Los ordenadores necesitan para su funcionamiento programas. Sin un programa un ordenador es completamente inútil. Para escribir estos programas necesitamos

Más detalles

La arquitectura CISCA

La arquitectura CISCA La arquitectura CISCA Miquel Albert Orenga Gerard Enrique Manonellas PID_00181526 CC-BY-SA PID_00181526 La arquitectura CISCA Los textos e imágenes publicados en esta obra están sujetos excepto que se

Más detalles

Fundamentos de programación JAVA

Fundamentos de programación JAVA Pág. N. 1 Fundamentos de programación JAVA Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-238-7 N. de páginas: 296 Edición: 2. a 2014 Medida:

Más detalles

Entorno de Ejecución del Procesador Intel Pentium

Entorno de Ejecución del Procesador Intel Pentium Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador

Más detalles

Técnicas de Programación

Técnicas de Programación Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia

Más detalles

Tema 3.- Predicados y sentencias condicionales

Tema 3.- Predicados y sentencias condicionales UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER

Más detalles

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O Interfaz con Dispositivos I/O Interfaz con Dispositivos de Salida y Salida Unidad 4, Segunda Parte Port Mapped Memory mapped 1 2 Ejecución de la Instrucción OUT Ejecución de la instrucción OUT Dirección

Más detalles

Fundamentos de Programación 2017-I

Fundamentos de Programación 2017-I Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis

Más detalles

Diseño del procesador MIPS R2000

Diseño del procesador MIPS R2000 Diseño del procesador MIPS R2000 Aula Virtual IS09 Sergio Barrachina Mir Área de Arquitectura y Tecnología de Computadores Dpt. de Ingeniería y Ciencia de los Computadores Universidad Jaume I Índice 1.

Más detalles

DISEÑO DE UN COMPUTADOR SIMPLE

DISEÑO DE UN COMPUTADOR SIMPLE Contenido: DISEÑO DE UN COMPUTADOR SIMPLE DISEÑO DE UN COMPUTADOR SIMPLE El modo de operación de los computadores: programa almacenado y ejecución automática; memorias de datos y de programas; ciclos de

Más detalles

1.2.- EL MICROPROCESADOR.

1.2.- EL MICROPROCESADOR. 1.2.- EL MICROPROCESADOR. El microprocesador es un circuito integrado que contiene algunos o todos los elementos necesarios para conformar una (o más) unidad central de procesamiento UCP, también conocido

Más detalles

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes: Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento

Más detalles

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación

Más detalles

Tema 5.1: Presentación de datos en pantalla

Tema 5.1: Presentación de datos en pantalla Tema 5.1: Presentación de datos en pantalla El registro de flags del i8086 Instrucciones de transferencia Instrucciones de transferencia de control Instrucciones aritméticas: comparación Representación

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

Más detalles