Glosario de términos técnicos (Organización del Computador II)

De Cuba-Wiki
Saltar a: navegación, buscar
Back.png Volver a la página de la materia

Glosario de terminos tecnicos de la materia[editar]

La idea de este articulo es funcionar como una especie de "diccionario calificado", una guia en orden alfabetico que permita tener un pantallazo rapido sobre un termino a acronimo (muy habitual en Organización del Computador II) que pueda aparecer al estudiar los temas. En caso de no encontrar un termino en castellano, buscar su equivalente en ingles, o viceversa.

A[editar]

Address-Space Identifier: identificacion del owner de una pagina, a veces tambien denominada access key.

ALAT (Advanced Load Address Table):

ALU (Arithmetic-Logic Unit): unidad aritmetico logica.

B[editar]

BTB (Branch Target Buffer): Implementacion de Intel para prediccion de saltos, BTAC + BHT

BHT (Branch History Table): Cache con la historia de los saltos, taken o not taken

BTAC (Branch Target Address Cache): Cache con las direcciones destino de cada salto

BTC (Branch Target Cache): Cache con las instrucciones en el destino de cada salto

Bundles: conjuntos de tres instrucciones consecutivas (paralelas de no darse un split issue).

D[editar]

DCU (Data Cache Unit): en el caso de Itanium, tiene 4 puertos; 2 de lectura y 2 de escritura.

DET: quinta etapa del pipeline de enteros de Itanium. Se produce la deteccion de excepciones y de errores de prediccion. Un error de prediccion provoca un bloqueo de 6 ciclos.

Direct table: tabla de un solo nivel, que mapea un espacio de direcciones entero. Se utilizaba antiguamente, cuando los espacios de direcciones eran mucho menores. Era suficientemente chica para ser mantenida en el hardware.

Dispersion de instrucciones:

E[editar]

EXE: cuarta etapa del Back End del pipeline de enteros de Itanium. Es la etapa de ejecucion propiamente dicha. Un ciclo para enteros.

EXP: primera etapa del Back End de los pipelines de enteros, memoria y coma flotante de Itanium. Decodifica Templates y realiza la Dispersion de las instrucciones a las UF's. Puede hacer split issue si no hay recursos.

F[editar]

Faulting address: direccion virtual que causa un TLB miss.

FMAC: unidad multiplicacion y acumulacion de coma flotante.

FMISC:

I[editar]

IB (Instruction Buffer): es la estructura que desacopla las partes de Front End y Back End de los pipelines de Itanium. Tiene capacidad para 4 pares de bundles (24 instrucciones).

ILP (Instruction Level Parallelism): Paralelismo a nivel de instruccion

IPC (Instructions per cycle)

Inicio partido: ver Split Issue.

Instruction Group: conjunto de instrucciones consecutivas que no tienen dependencias RAW o WAW entre ellas y podrian ejecutarse en paralelo. En un ciclo dado de reloj, el procesador ejecuta tantas instrucciones de un grupo de instrucciones como puede, de acuerdo a sus recursos.

IPG (Instruction Pointer Generation): primera etapa del Front End de los pipelines de enteros, memoria y coma flotante de Itanium. Puede provenir de prediccion, correccion de la prediccion, excepcion, secuencia.

ISHIFT: unidad de shift.

IU (Integer Unit): unidad de enteros.

L[editar]

L1D: cache de nivel 1 de datos.

L1I: cache de nivel 1 de instrucciones.

M[editar]

Modify bit: bit que indica si una pagina fue recientemente escrita.

P[editar]

Paged segmentation: proceso mediante el cual las direcciones virtuales se traducen en direcciones fisicas en dos pasos: primero con granularidad de segmento, despues con granularidad de pagina.

Page fault: evento que ocurre cuando el sistema (SO o hardware) no logra encontrar el PTE requerido en la page table o bien lo encuentra pero este indica que la pagina requerida esta en disco. Un page fault interrumpe al SO, que debe entonces hacer una de tres cosas: hacer page in de la pagina (si estaba en disco), crear una nueva pagina (si todavia no existia), enviarle al proceso una señal de error (si se estaba intentando acceder a un espacio ilegal).

Page Frames: unidades uniformes en las que se divide la memoria fisica, cada una de ellas identificadas por un page frame number.

Page-protection bits: bits como read-write, read-only, etc, que definen el tipo de proteccion de una pagina.

Page tables: colecciones de page table entries (PTE).

Page table walking: proceso busqueda en la page table que se produce cuando hay un TLB miss.

Paging In: proceso inverso al paging out. Es decir, el sistema operativo carga una pagina previamente almacenada en memoria secundaria a memoria principal, cuando vuelve a ser requerida por un proceso dado.

Paging Out: proceso que efectua el sistema operativo que consiste en guardar una pagina en almacenamiento secundario, para liberar ese espacio y permitir que sea asignado a paginas virtuales mas activas.

PALU (Parallel Arithmetic-Logic Unit): ALU para multimedia.

PMUL: unidad de multiplicacion para multimedia.

POPCNT: unidad de population count.

PSMU: unidad de shift para multimedia.

PTE (Page Table Entries): tipicamente, una PTE mantiene informacion para una pagina por vez. Como minimo, una PTE indica si una pagina virtual esta en memoria, en disco, o en ninguna ubicacion fisica. Con el tiempo, su evolucion les permitio sumar funcionalidades, como proteccion del espacio de direcciones y a nivel de pagina, para lo que guardan informacion adicional como la pagina contiene codigo ejecutable, si puede ser modificada, y en ese caso, por quien.

R[editar]

RAW (Read-After-Write): tipo de dependencia que define el flujo de datos de un algoritmo. Se trata de intentar utilizar un dato luego de haberlo escrito. Las secuencias tipicas son cargar-usar y definir-usar. Ejemplo de cargar-usar:

ld r1=a
add r2= r1, r1

Ejemplo de definir-usar:

add r1= r4, r5
add r2= r1, r1

Reference bit: bit que indica si una pagina fue recientemente accedida.

REG: tercera etapa de los pipelines de enteros, memoria y coma flotante de Itanium. Se leen los registros fuentes del banco de registros o de las salidas de la etapa EXE (cortocircuitos). Se detectan riesgos de datos y se bloquea si es necesario.

REN: segunda etapa de los pipelines de enteros, memoria y coma flotante de Itanium. Traduce registros virtuales a fisicos.

ROB (Reorder buffer): Unidad que permite la ejecucion fuera de orden

ROT (Instruction Fetch and Alignment): segunda etapa del Front End de los pipelines de enteros, memoria y coma flotante de Itanium. El fetch se efectua sobre L1I.

S[editar]

Split Issue (Inicio partido): se dice que hay inicio partido cuando una instruccion no se inicia en el mismo ciclo que la que la precede. En el caso de Itanium, puede ocurrir debido a un STOP explicito (;;) o a la falta de recursos para ejecutar una instruccion.

T[editar]

Templates: son "descriptores de bundles", por ejemplo si el template es bbb, en el bundle que le corresponde hay 3 instrucciones de branch. El template mapea cada instruccion a una unidad de ejecucion, lo que permite al procesador despachar las tres instrucciones en paralelo.

TLB (Translation Lookaside Buffers): es una cache de PTEs. La TLB toma como entrada un virtual page number y retorna un page frame number y proteccion de informacion. Para que un load o store se complete con exito, la TLB debe contener al PTE mapeando a la ubicacion virtual en cuestion. Si no, se produce un TLB miss y el SO debe buscar en la page table el PTE correspondiente y ubicarlo en el TLB.

U[editar]

UF: Unidad Funcional.

V[editar]

Valid bit: bit que indica si una PTE contiene una traduccion valida.

Virtual Address: direccion de memoria virtual. Es la visible a la arquitectura, que permite que los programas se generen como si tuvieran una unica tira de memoria con direcciones absolutas. Estas direcciones seran mapeadas por el sistema operativo a direcciones fisicas cada vez que se las use.

Virtual Address Aliasing: tipo de mapeo de memoria virtual, que se caracteriza por permitir que dos paginas virtuales distintas tengan la misma ubicacion fisica. Esto permite que diferentes procesos y/o hilos compartan memoria y soporta deferentes "vistas" de los datos, con diferentes protecciones o comportamientos.

Virtual Memory: sistema mediante el cual, se automatiza el movimiento de codigo y datos de un programa entre memoria principal y almacenamiento secundario, para dar la sensacion de estar trabajando con unico gran espacio de almacenamiento. Conceptualmente, la memoria virtual es un mapeo de virtual page numbers a page frame numbers (ver definicion), es decir, es una funcion que le asigna a cada virtual page una ubicacion fisica.

Virtual Pages: unidades en las que se divide el espacio de memoria virtual, cada una de las cuales se identifica por un virtual page number.

W[editar]

WAW y WAR (Write-After-Write y Write-After-Read): tipos de dependencia falsa, dado que pueden ser salvadas, por ejemplo utilizando pipelining o renombres.

Wire Down: consiste en reservar un espacio de memoria fisica para una pagina virtual, sin permitir que sea bajada a disco.

WRB: sexta etapa del pipeline de enteros de Itanium. Se escriben los registros (actualizacion de estado).