11 Número de publicación: 2 231 042. 21 Número de solicitud: 200400068. 51 Int. Cl. 74 Agente: Díez de Rivera y Elzaburu, Ignacio



Documentos relacionados
UNIDADES DE ALMACENAMIENTO DE DATOS

11 Número de publicación: Int. Cl.: 72 Inventor/es: Okabe, Shouji. 74 Agente: Sugrañes Moliné, Pedro

k 11 N. de publicación: ES k 51 Int. Cl. 5 : G01R 21/133

ES A1 H04Q 7/22 ( ) G06F 9/445 ( ) OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA. 11 Número de publicación:

11 Número de publicación: Int. Cl.: 72 Inventor/es: Fast, Peder. 74 Agente: Isern Jara, Jorge

11 Número de publicación: Int. Cl.: 72 Inventor/es: Kunigita, Hisayuki. 74 Agente: Elzaburu Márquez, Alberto

11 Número de publicación: Int. Cl.: 74 Agente: Carpintero López, Mario

11 Número de publicación: Número de solicitud: Int. Cl. 74 Agente: No consta

k 11 N. de publicación: ES k 21 Número de solicitud: k 51 Int. Cl. 4 : G07F 17/32 k 73 Titular/es: Ainsworth Nominees Pty.

Metodologías de diseño de hardware

k 11 N. de publicación: ES k 21 Número de solicitud: k 51 Int. Cl. 5 : G01B 11/00

11 kn. de publicación: ES kint. Cl. 6 : G06K 7/10. k 72 Inventor/es: Bengtsson, Kjell. k 74 Agente: Alvarez López, Fernando

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

Encuesta sobre utilización de la microelectrónica en la Argentina

11 Número de publicación: Número de solicitud: Int. Cl.: 72 Inventor/es: Gubertini Ciriza, Raúl

Int. Cl. 6 : B42D 15/10. k 71 Solicitante/s: Juan Antonio García Geira. k 72 Inventor/es: García Geira, Juan Antonio

ES A1 G07C 9/00 ( ) H04M 1/725 ( ) H04M 11/00 ( ) OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA

UNLaM REDES Y SUBREDES DIRECCIONES IP Y CLASES DE REDES:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

11 Número de publicación: Número de solicitud: Int. Cl. 7 : H04L 12/ Inventor/es: Zarraga Ochoa, Igor

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

ES A1 B42F 5/00. Número de publicación: PATENTES Y MARCAS. Número de solicitud: Int. Cl. 7 : B42D 1/

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Práctica 4 Diseño de circuitos con puertas lógicas.

1 ES B1 2 DESCRIPCION

Int. Cl. 7 : A01G 25/02

51 Int. CI.: H04L 12/58 ( ) TRADUCCIÓN DE PATENTE EUROPEA. 72 Inventor/es: 74 Agente/Representante:

Entorno de Ejecución del Procesador Intel Pentium

ES B1. Aviso: ESPAÑA 11. Número de publicación: Número de solicitud: H04B 7/00 ( )

Naturaleza binaria. Conversión decimal a binario

ES A1 G06F 17/60. Número de publicación: PATENTES Y MARCAS. Número de solicitud: Int. Cl. 7 : G06F 19/

ES A1 A47B 81/00 A63B 57/00 OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA. más reducido. 11 Número de publicación:

F25D 17/02 G05D 23/19

NOTAS TÉCNICAS SOBRE EL SIT: Documentos de Gestión

11 Número de publicación: Número de solicitud: Int. Cl.: 72 Inventor/es: Cabre Roige, Luis

ES A1. Número de publicación: PATENTES Y MARCAS. Número de solicitud: Int. Cl. 7 : A41C 5/00

11 Número de publicación: Int. Cl.: 74 Agente: Carpintero López, Mario

MANUAL DE AYUDA PARA LA IMPORTACIÓN DE DATOS AL LIBRO REGISTRO DE OPERACIONES ECONÓMICAS

ES A1 B22C 13/00. Número de publicación: PATENTES Y MARCAS. Número de solicitud: Int. Cl. 7 : B22C 9/

11 Número de publicación: Int. Cl.: 72 Inventor/es: Sasaki, Yoshiyuki. 74 Agente: Sugrañes Moliné, Pedro


Circuitos Electrónicos. Septiembre 2005/2006. Problema 1º parcial

Int. Cl. 7 : A63F 9/18

k 11 N. de publicación: ES k 21 Número de solicitud: k 51 Int. Cl. 5 : A63F 3/06 k 73 Titular/es: Vaprel, S.A.

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

11 kn. de publicación: ES kint. Cl. 6 : H04N 7/32. k 72 Inventor/es: Stiller, Christoph. k 74 Agente: Roeb Ungeheuer, Carlos

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

La Unidad Procesadora.

Procedimiento de Sistemas de Información

Introducción a las redes de computadores

18. Camino de datos y unidad de control

APLICACIÓN PERFIL DE CONTRATANTE. MANUAL NUEVAS FUNCIONALIDADES: CORRECCIÓN DE ERRORES Y COPIAR

11 Número de publicación: Int. Cl. 7 : B23K 9/ Inventor/es: Mela, Franco. 74 Agente: Ponti Sales, Adelaida

Fundación Universitaria San. Direccionamiento IP

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

(decimal) (hexadecimal) 80.0A.02.1E (binario)

Sistemas de numeración


11 Número de publicación: Int. Cl. 7 : B31B 19/74

11 Número de publicación: Número de solicitud: Int. Cl. 7 : B60R 25/ Inventor/es: Febles Herrera, Jesús Javier

11 Número de publicación: Int. Cl.: 72 Inventor/es: Bornant, Dominique. 74 Agente: Lehmann Novo, María Isabel

11 Número de publicación: Int. Cl. 7 : G08B 5/ Inventor/es: Prasuhn, Jürgen. 74 Agente: Justo Vázquez, Jorge Miguel de

Interpretación CINIIF 16 Coberturas de una Inversión Neta en un Negocio en el Extranjero

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0

Unidad 3 Direccionamiento IP (Subnetting)

Plan de estudios ISTQB: Nivel Fundamentos

Guía paso a paso para la cumplimentación del formulario de candidatura

Gestión de la Prevención de Riesgos Laborales. 1

11 Número de publicación: Número de solicitud: Int. Cl.: 74 Agente: Urízar Anasagasti, Jesús María

Ingeniería de Software. Pruebas

CAPÍTULO 7 7. CONCLUSIONES

11 Número de publicación: Int. Cl. 7 : H04L 12/ Inventor/es: Degraeve, Michel. 74 Agente: Curell Suñol, Marcelino

Tema 11: Sistemas combinacionales

11 Número de publicación: Número de solicitud: Int. Cl. 7 : G06F 1/ Agente: Gómez Múgica, Luis Antonio

PATENTES Y MARCAS. Strawinskylaan XX Amsterdam, NL

Operación 8 Claves para la ISO

CONVERTIDORES DIGITAL ANALÓGICO Y ANALÓGICO - DIGITAL

Jornada informativa Nueva ISO 9001:2008

RECOMENDACIÓN UIT-R F (Cuestión UIT-R 125/9) a) que el UIT-T ha realizado estudios y elaborado Recomendaciones sobre la RDSI;

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

Diseño de bases de datos Diapositiva 1

GENERALIDADES DE BASES DE DATOS

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Metodología básica de gestión de proyectos. Octubre de 2003

Instalación y uso de Check 2000 Client Server con ZENworks 2

11 Número de publicación: Número de solicitud: Int. Cl.: 72 Inventor/es: Etxagibel Alberdi, Pedro

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

Terminales de Control de Presencia

TEMA 2: Representación de la Información en las computadoras

IAP TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Resumen. Funcionamiento. Advertencia

Int. Cl. 7 : A63H 29/22

11 Número de publicación: Int. Cl.: 72 Inventor/es: Nivelet, Christophe. 74 Agente: Elzaburu Márquez, Alberto

11 knúmero de publicación: kint. Cl. 6 : B61C 17/04. k 72 Inventor/es: Barberis, Dario. k 74 Agente: Dávila Baz, Angel

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2.

Modelo de examen tipo resuelto 1

x

Procedimientos para agrupar y resumir datos

Transcripción:

19 OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA 11 Número de publicación: 2 231 042 21 Número de solicitud: 00068 1 Int. Cl. G06F 11/34 (06.01) 12 PATENTE DE INVENCIÓN CON EXAMEN PREVIO B2 22 Fecha de presentación: 14.01.04 Prioridad: 06.08.03 US /63373 73 Titular/es: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. S.H. 249 Houston, Texas 77070, US 43 Fecha de publicación de la solicitud: 01.0.0 Fecha de la concesión: 19.07.06 72 Inventor/es: Adkisson, Richard W. y Johnson, Tyler Fecha de modificación de las reivindicaciones: 29.06.06 4 Fecha de anuncio de la concesión: 16.08.06 4 Fecha de publicación del folleto de la patente: 16.08.06 74 Agente: Díez de Rivera y Elzaburu, Ignacio 4 Título: Circuito de adaptación para contador de comportamiento. 7 Resumen: Circuito de adaptación para contador de comportamiento. En una realización, la invención está dirigida a hacer corresponder un circuito para implementarlo en un contador de rendimiento de uso general ( GPPC ) conectado a un bus que porta datos de depuración. El circuito de correspondencia comprende un sistema de lógica para activar una señal de correspondencia cuando una porción seleccionada de N bits de los datos de depuración corresponda a un umbral de N bits para todos los bits seleccionados mediante una máscara de correspondencia de N bits ( mmask ). ES 2 231 042 B2 Aviso: Se puede realizar consulta prevista por el art. 37.3.8 LP. Venta de fascículos: Oficina Española de Patentes y Marcas. Pº de la Castellana, 7 28071 Madrid

DESCRIPCIÓN Circuito de adaptación para contador de comportamiento. Prioridad bajo la sección 119(e) del título 3 del Código de Estados Unidos y la sección 1.78 del capítulo 37 del Código de Reglamentos Federales. Esta solicitud no provisional reivindica prioridad basándose en la siguiente solicitud de patente estadounidense provisional anterior titulada: General Purpose Counters for Performance, Debug and Coverage, número de solicitud: /469.180, presentada el 9 de mayo de 03 a nombre(s) de Richard W. Adkisson y Tyler J. Johnson, la cual se incorpora a modo de referencia en el presente documento. Referencia a solicitudes relacionadas 1 2 Esta solicitud está relacionada con la solicitud de patente estadounidense número de serie, presentada titulada COVERAGE CIRCUIT FOR PERFORMANCE COUNTER (N de Expediente 08996-1); la solicitud de patente estadounidense número de serie, presentada titulada COVERAGE DECODER CIRCUIT FOR PERFORMANCE COUNTER (N de Expediente 08997-1); la solicitud de patente estadounidense número de serie, presentada titulada DATA SELECTION CIRCUIT FOR PERFORMANCE COUNTER (N de Expediente 09000-1); la solicitud de patente estadounidense número de serie, presentada, titulada ZE- ROING CIRCUIT FOR PERFORMANCE COUNTER (N de Expediente 029001-1); la solicitud de patente estadounidense número de serie, presentada titulada GENERAL PURPOSE PERFORMANCE COUNTER (N de Expediente 08999-2); y la solicitud de patente estadounidense número de serie, presentada titulada INCREMENT / DECREMENT CIRCUIT FOR PERFORMANCE COUNTER (N de Expediente 08998-1); todas las cuales se incorporan en el presente documento a modo de referencia a su totalidad. El tema descrito en las siguientes solicitudes de patentes estadounidenses, de propiedad común, en tramitación junto con la presente: (i) A BUS INTERFACE MODULE, presentada el 28 de marzo de 03; N de Solicitud /2.092; y (ii) AN INTEGRATED CÍRCUIT, presentada el 28 de marzo de 03; N de Solicitud /2.034, se incorpora en el presente documento a modo de referencia. Antecedentes de la invención 3 4 0 La demanda creciente de escalabilidad de los sistemas informáticos (es decir, precio y rendimiento convenientes y mayor número de procesadores), combinada con los crecimientos en el rendimiento de los componentes individuales, sigue llevando a los fabricantes de sistemas a optimizar las arquitecturas del núcleo del sistema. Uno de estos fabricantes de sistemas ha introducido un sistema servidor que satisface estas demandas de escalabilidad con una familia de circuitos integrados de aplicación específica ( ASIC ) que proporciona escalabilidad a decenas o centenares de procesadores, al tiempo que mantiene un alto grado de rendimiento, fiabilidad y eficacia. El elemento clave ASIC en esta arquitectura de sistemas es un controlador de celdas ( CC ), que es una interconexión de procesador - entrada / salida - memoria, y es responsable de las comunicaciones y transferencias de datos, de la coherencia de la memoria caché y de proporcionar una interfaz a otras jerarquías del subsistema de memoria. En general, el CC comprende varias unidades funcionales principales, incluyendo una o varias interfaces de procesador, unidades de memoria, controladores de entrada / salida, e interfaces crossbar externas, todas interconectadas a través de una ruta central de datos ( CDP, Central Data Path). Las señales internas procedentes de estas unidades se reúnen en un bus de monitorización del rendimiento ( PMB, Performance Monitor Bus). Uno o varios contadores de rendimiento especializados, o monitores de rendimiento, se conectan al PMB y son útiles para reunir datos procedentes del PMB para utilizarlos al depurar y valorar el rendimiento del sistema del cual el CC es una parte. Actualmente, cada uno de los contadores de rendimiento es capaz de reunir datos procedentes únicamente de una porción seleccionada previamente del PMB, de tal manera que la combinación de todos los contadores de rendimiento juntos puede reunir todos los datos del PMB. Mientras que esta disposición es útil en algunas situaciones, existen otras muchas situaciones en las que sería ventajoso que uno o más de los contadores de rendimiento tuviera acceso a datos procedentes de la misma porción del PMB. De forma adicional, sería ventajoso ser capaz de utilizar los contadores de rendimiento para determinar la cobertura de prueba. Estas aplicaciones no se satisfacen por medio de los contadores de rendimiento del estado actual de la técnica. Sumario 6 En una realización, la invención está dirigida a un circuito de correspondencia para la implementación en un contador de rendimiento de uso general ( GPPC, General Purpose Performance Counter) conectado a un bus que porta datos de depuración. El circuito de correspondencia comprende un sistema de lógica para activar una señal de correspondencia cuando una porción seleccionada de N bits de los datos de depuración corresponda a un valor umbral de N bits para todos los bits seleccionados por una máscara de correspondencia de N bits ( mmask ). Breve descripción de los dibujos La figura 1 es un diagrama de bloques que ilustra la recopilación de datos de uso general en un diseño lógico; 2

la figura 2 es un diagrama de bloques de un contador de rendimiento de uso general según una realización; 1 2 3 4 0 6 la figura 3 es un diagrama de bloques más detallado del contador de rendimiento de uso general de la figura 2 en el que se ilustra una realización de un circuito de correspondencia / umbral; y la figura 4 ilustra un método en el que se representan las señales desde un bus de observabilidad a un contador de rendimiento según una realización. Descripción detallada de los dibujos En los dibujos, los elementos iguales o similares están indicados con los mismos números de referencia en las distintas vistas de los mismos, y los diversos elementos representados no están necesariamente dibujados a escala. La figura 1 es un diagrama de bloques de la recopilación de datos de uso general en un diseño lógico. Como se muestra en la figura 1, el espacio 0 de estado de un diseño lógico en consideración se lleva a una recopilación de datos y lógica 2 de selección. La lógica 2 lleva una recopilación de datos de D bits, o bus 4 de observabilidad, que porta una señal depurar_bus de D bits, a una pluralidad de contadores 6(1)-6(M) de rendimiento. En la solicitud de patente estadounidense número de serie /2.092, presentada el 28 de marzo de 03, titulada A BUS INTERFACE MODULE (N de Expediente 08674-1), y en la solicitud de patente estadounidense número de serie /2.034, presentada el 28 de marzo de 03, titulada AN INTEGRATED CIRCUIT (N de Expediente 09004-1), cada una de las cuales se incorpora en el presente documento por referencia a su totalidad, se proporcionan detalles de una realización de la lógica 2 y del bus 4. En una realización, D es igual a 80, M es igual a 12, y los contadores 6(1)-6(M-1) de rendimiento son contadores de rendimiento de uso general, mientras que el contador 6(M) de rendimiento restante aumenta en cada ciclo de reloj. Como se ilustrará posteriormente, los contadores de rendimiento de uso general son de uso general ya que cada uno de ellos es capaz de obtener acceso a cualquier bit de los 80 bits del bus 4; además, todos ellos pueden acceder al mismo bloque de bits y realizar los mismos o diferentes cálculos de rendimiento en el mismo. La figura 2 es un diagrama de bloques de un contador 0 de rendimiento de uso general que es idéntico, en todos los aspectos, a cada uno de los contadores 6(1) - 6(M) de rendimiento (figura 1), según una realización. Como se describirá posteriormente con mayor detalle, el contador 0 de rendimiento puede utilizarse para llevar a cabo operaciones de uso general para extraer información sobre el rendimiento, la depuración o la cobertura en relación con cualquier sistema bajo prueba (SUT) tal como, por ejemplo, el espacio 0 de estado del sistema mostrado en la figura 1. El contador 0 de rendimiento incluye un circuito 1 AND / OR, un circuito 2 de correspondencia / umbral, un circuito 4 sm_sel, un circuito 6 cero y un circuito 8 contador. En general, el circuito 1 AND / OR permite acceso a todos los bits de la señal depurar_bus que entran en el contador 0 de rendimiento a través del bus 4 de observabilidad. En una realización, según se muestra en las figuras 2 y 3, la señal depurar_bus es una señal de 80 bits. Cuando el circuito 1 AND / OR está funcionando en el modo AND, el circuito activa una señal inc hacia el circuito 8 contador, si están todos los bits de la señal depurar_bus, más dos bits que están adjuntados a la misma, como se describirá posteriormente de forma detallada, los cuales son de interés (como se indica mediante el valor de una máscara de 80 bits, más dos bits que están adjuntos a la misma). Cuando el circuito 1 AND / OR está funcionando en el modo OR, el circuito activa la señal inc hacia el circuito 8 contador si se encuentra uno cualquiera o varios de los bits de la señal depurar_bus, más los dos bits adicionales que son de interés (según se indica por el valor de la máscara más los dos bits adicionales). Cuando el circuito 2 de correspondencia / umbral está funcionando en el modo correspondencia, una porción 0 de correspondencia (figura 3) del circuito activa una señal correspondencia_umbral_evento al circuito 1 AND / OR cuando una porción de N bits de la señal depurar_bus seleccionada, como se describirá posteriormente de forma detallada en relación con el circuito 4 sm_sel y el circuito 6 cero, corresponde a un valor umbral de N bits para todos los bits seleccionados por una máscara de correspondencia ( mmask ) de N bits. En particular, para todos los bits de la porción seleccionada de la señal de N bits de depuración de bus que son indefinidos, el bit correspondiente de mmask estará ajustado a 0; de forma inversa, para todos los bits de la porción seleccionada de la señal de N bits de depuración de bus que no son indefinidos, el bit correspondiente de mmask estará ajustado a 1. La señal correspondencia_umbral_evento es uno de los dos bits adjuntados a la señal depurar_bus. En la realización ilustrada, N es igual a 16. En general, cuando el circuito 2 correspondencia / umbral está funcionando en el modo de correspondencia, la porción 0 de correspondencia detecta en la señal depurar_bus cualquier patrón binario arbitrario de hasta N bits alineado en delimitaciones de bloques de bits. Esto incluye el hacer corresponder un uno, cero o indefinido ( X ) en cualquier bit. Esto permite la detección de paquetes específicos o grupos específicos de paquetes o estados. En una realización, la porción 0 de correspondencia comprende un circuito NOR exclusivo ( XNOR ), representado en la figura 3 mediante una única compuerta 1a XNOR, para expresar un NOR exclusivo a nivel de bits ( XNORing ) en una porción seleccionada de N bits de la señal depurar_bus emitida desde el circuito 4 sm_sel, tal como se describirá posteriormente de forma detallada, con un umbral de N bits que puede emitirse desde un registro 7 del estado de control ( CSR ), por ejemplo. Una salida de señal de N bits (es decir, una primera salida inter- 3

1 2 3 4 0 6 mediaria) procedente del circuito XNOR (representada por la compuerta 1a XNOR, aunque puede haber hasta N compuertas) se introduce en un circuito OR, representado en la figura 3 mediante una compuerta 1b OR única, en la que se expresa un OR a nivel de bits con la inversa de la máscara mmask de N bits, que puede ser proporcionada, en una realización, por un CSR. La salida de N bits (es decir, una segunda salida intermediaria) del circuito OR, representado por la compuerta 1b OR, (generándose cada uno de los N bits de la salida por una compuerta OR de 2 entradas de señales) se introduce a una compuerta 1c AND de N bits. La salida de la compuerta 1c AND se introduce a una entrada de un multiplexor (MUX) 1d de dos entradas como una señal de correspondencia. Cuando el circuito 2 de correspondencia / umbral está funcionando en el modo de correspondencia (mientras se controla por una señal de control de selección, por ejemplo, la señal de control de correspondencia / umbral#), la señal de correspondencia se emite desde el MUX 1d como la señal correspondencia_umbral_evento al circuito AND / OR, como se describió anteriormente. Como resultado de la operación de la porción 0 de correspondencia, no se requiere lógica aleatoria adicional para decodificar paquetes o estados en señales one hot, que son señales de 1 bit que cambian a un valor 1 lógico para cada valor del estado. El circuito 2 de correspondencia /umbral requiere un campo de patrón de N bits y un campo de máscara de N bits. Para reducir el número de bits de control requeridos, en la realización mostrada en la figura 3, el campo de patrón de N bits es el mismo campo utilizado para una porción 2 de umbral del circuito 2, tal como se describirá posteriormente, mientras que es poco probable que se utilicen al mismo tiempo la porción 0 de correspondencia y la porción 2 de umbral, especialmente si el circuito 4 sm_sel suministra los mismos N bits a las dos. Cuando el circuito 2 correspondencia / umbral está funcionando en el modo umbral, la porción 2 umbral del circuito 2 activa la señal correspondencia_umbral_evento hacia el circuito 1 AND / OR cuando una porción de S bits de la señal depurar_bus, seleccionada y sustituida con ceros, como se describirá detalladamente más adelante en relación con el circuito 4 sm_sel y el circuito 6 cero, es igual o mayor que el umbral. En la realización ilustrada, S es igual a N/2, u 8. Un circuito 3 de cotejo de la porción 2 umbral coteja una señal de suma [7:0] emitida desde el circuito 6 cero, descrito posteriormente, con los S bits menos significativos de la señal de umbral de N bits y emite un uno lógico si la anterior es mayor o igual a la última, y un cero si no lo es. La salida del circuito 3 de cotejo se introduce a una segunda entrada del MUX 1d como una señal de umbral. Cuando el circuito 2 de correspondencia / umbral está funcionando en el modo umbral, la señal de umbral se emite desde el MUX 1d como la señal correspondencia_umbral_evento al circuito AND /OR, como se ha descrito anteriormente. El circuito 4 sm_sel selecciona una porción de N bits de la señal depurar_bus alineada en una delimitación seleccionada de bloques de bits en la porción 0 de correspondencia y la porción 2 de umbral (figura 3) del circuito 2 de correspondencia / umbral y a una entrada de suma del circuito 8 de contador. Como se ha indicado anteriormente, en la realización ilustrada, N es igual a 16. El circuito 6 cero no sustituye por ceros ninguno de los S bits alineados en una delimitación seleccionada de bloques de bits, o los sustituye todos menos uno, en la porción 2 de umbral del circuito 2 de correspondencia / umbral y la entrada de suma del circuito 8 contador. En la realización ilustrada, S es igual a ocho. La delimitación seleccionada de bloques de bits es identificado por el valor de una señal sm_sel de control de tres bits introducida al circuito 4 sm_sel. En la solicitud de patente estadounidense n de serie, presentada, titulada DATA SELECTION CIRCUIT FOR PERFORMANCE COUNTER (N de Expediente 09000-1) y en la solicitud de patente estadounidense n de serie, presentada, titulada ZEROING CIRCUIT FOR PERFORMANCE COUNTER (N de Expediente 09001-1) se proporcionan detalles adicionales relativos al funcionamiento del circuito 4 sm_sel y al circuito 6 cero. En una realización, cada contador de rendimiento de uso general, tal como el contador 0 de rendimiento, tiene 48 bits de exceso. El contador 0 de rendimiento es de uso general en el sentido de que busca, en los D bits de la señal depurar_bus, una máscara de evento más dos eventos extras, ocho selecciones independientes de 16 bits para la operación de comparar la correspondencia y ocho selecciones independientes de ocho bits para las operaciones de comparar el umbral y de acumulación. Los ocho bits para las operaciones de comparar el umbral y de acumulación son los ocho bits inferiores de los 16 bits seleccionados para la operación de comparar la correspondencia. Esos 16 bits se alinean en delimitaciones de ranuras, tal como se muestra en una disposición de representación a modo de ejemplo ilustrada en la figura 4. En la figura 4, una señal 0 de evento comprende la señal depurar_bus, indicada en la figura 4 mediante el numeral de referencia 1, la señal correspondencia_umbral_evento, indicada por el número de referencia 2, y un bit 1 lógico, indicado mediante el número de referencia 4. La señal 1 depurar_bus comprende bits [79:0] de la señal 0 de eventos; la señal 2 correspondencia_umbral_evento comprende el bit [80] de la señal de eventos; y el bit 4 1 lógico comprende el bit [81] de la señal de eventos. Como se ilustra mejor en la figura 3, la señal 0 de eventos (es decir, la señal depurar_bus con la señal correspondencia_umbral_evento y el 1 lógico adjuntado a la misma) se introducen a una primera etapa 4 lógica del circuito 1 AND / OR con objetivos que se describirán posteriormente de forma detallada. 4

1 2 3 4 0 6 Haciendo referencia nuevamente a la figura 4, una señal 4 de máscara compuesta comprende una señal de máscara de 80 bits, indicada mediante el número de referencia 412, un bit de máscara correspondencia_umbral_evento ( TM ), indicado mediante el número de referencia 414, y un bit de acumulación ( acc ), indicado mediante el número de referencia 416. La señal 412 de máscara comprende bits [79:0] de la señal 4 de máscara compuesta; el bit 414 TM comprende el bit [80] de la señal de máscara compuesta, y el bit 416 acc comprende el bit [81] de la señal de máscara compuesta. Como se ilustra mejor en la figura 3, cada bit de la máscara 4 compuesta (es decir, la señal de máscara con los bits TM y acc adjuntados a la misma) se introduce a la primera etapa 4 lógica del circuito 1 AND / OR con objetivos que se describirán posteriormente de forma detallada. Haciendo referencia nuevamente a la figura 4, ocho selecciones de correspondencia de 16 bits alineadas en bloques de bits se indican respectivamente mediante los números de referencia 4(0)-4(7). En particular, la selección 4 (0) comprende bits [0:1]; la selección 4(1) comprende bits [:2]; la selección 4(2) comprende bits [:3]; la selección 4(3) comprende bits [:4]; la selección 4 (4) comprende bits [:]; la selección 4() comprende bits [0:6]; la selección 4(6) comprende bits [:7]; y la selección 4(7) comprende bits [70:] (los bits por encima de 79 se convierten nuevamente a ceros). Haciendo referencia nuevamente a la figura 3, la primera etapa 4 lógica comprende una porción AND, representada por una compuerta 4a AND, para expresar AND al nivel de bits en la señal 0 de eventos con la señal 4 de máscara compuesta, y una porción OR, representada por una compuerta 4b OR, para expresar OR al nivel de bits en la inversa de la señal 4 de máscara compuesta con la señal 0 de eventos. Se reconocerá que, aunque en la figura 3 se muestra como una única compuerta 4a AND de dos entradas, la porción AND de la primera etapa 4 lógica comprende realmente 82 compuertas AND de dos entradas. De forma similar, la porción OR de la primera etapa 4 lógica comprende 82 compuertas OR de dos entradas idénticas a la compuerta 4b OR. Las salidas de la porción AND de la primera etapa 4 lógica se introducen en una compuerta 6 OR de 82 entradas, cuya salida se introduce en una entrada de un MUX 8 de dos entradas como un resultado or. De forma similar, las salidas de la porción OR de la primera etapa 4 lógica se introducen en una compuerta 3 AND de 82 entradas, cuya salida se introduce en la otra entrada del MUX 8 como un resultado and. Una señal de control ( and/or# ) que puede generarse desde un CSR (no mostrado) controla si el circuito 1 AND / OR funciona en un modo AND, en cuyo caso el resultado_and se emite desde el MUX 8 como la señal inc, o en el modo OR, en cuyo caso el resultado_or se emite desde el MUX como la señal inc. Como resultado, cuando el circuito 1 AND / OR esta funcionando en el modo AND, la señal inc comprende la señal de resultado_and y se activará cuando estén ajustados todos los bits de la señal 0 de eventos que sean de interés, según queda especificado por la máscara 4 compuesta. Cuando el circuito 1 AND / OR está funcionando en el modo OR, la señal inc comprende la señal de resultado_or y se activará cuando esté ajustado cualquiera de los bits de la señal 0 de eventos que sea de interés, según queda especificado por la máscara 4 compuesta. El bit 416 acc de la máscara 4 compuesta puede ajustarse mediante el CSR. El ajustar el bit 414 TM en la máscara 4 compuesta designa la señal correspondencia_umbral_evento en la señal de eventos como un bit de interés; no ajustar el bit TM en la máscara compuesta hará que se ignore el valor de la señal correspondencia_umbral_evento en la señal 0 de eventos y, de ahí, el resultado de cualquier operación de correspondencia o de umbral realizada por el circuito 2 de correspondencia / umbral. Haciendo referencia nuevamente a la figura 3, se describirá detalladamente el funcionamiento de una realización del circuito 8 contador. El circuito 8 contador es un contador de X bits que puede mantener, incrementar en uno, añadir S bits, eliminar o cargar un valor en un registro 312 de valor de cálculo. También puede tener lugar otro procesamiento para leer el valor del registro 312. En la realización ilustrada en la figura 3, X es igual a 48. El funcionamiento del circuito 8 contador se posibilita ajustando una señal B de capacitación del contador, que comprende una entrada de una compuerta 314 AND de dos, entradas. La otra entrada de la compuerta 314 AND está conectada para recibir la señal inc procedente del circuito 1 AND / OR. De forma correspondiente, cuando el circuito 8 contador está capacitado y la señal inc está activada, se emite desde la compuerta 314 AND un uno lógico. En cualquier otro caso, la salida de la compuerta 314 AND será un cero lógico. La salida de la compuerta 314 AND se replica mediante un replicador 316 de 8x y la señal de 8 bits resultante se expresa a nivel de bits como AND con una señal de 8 bits emitida desde un circuito 318 MUX. Las entradas al circuito 318 MUX son la señal de suma [7:0] emitida desde el circuito 6 cero y una señal de 8 bits, cuyo valor es [00000001]. La señal de suma [7:0] se emitirá desde el circuito 318 MUX cuando la señal acc esté activada; de lo contrario, la señal [00000001] se emitirá desde el circuito MUX. Un circuito AND, representado por una compuerta 3 AND, expresa AND a nivel de bits en las señales emitidas desde el replicador 316 y desde el circuito 318 MUX. La señal resultante de 8 bits se introduce en un registro 322. Un adicionador 324 añade la señal de 8 bits almacenada en el registro 322 a la suma de 48 bits almacenada en el registro 312 de valor de cálculo. La nueva suma emitida desde el adicionador 324 se introduce en un circuito 326 MUX. Otros dos conjuntos de entradas al circuito 326 MUX se conectan a un cero lógico y a un valor_csr_escribir, respectivamente. Cuando una señal de capacitación csr_escribir al circuito 326 MUX está activada, se emite el valor csr_escribir desde el circuito 326 MUX y se escribe al registro 312 de valor de cálculo. De esta manera, puede cargarse un valor en el

registro 312 de valor de cálculo. De forma similar, cuando se afirma la señal limpiar_contador, se emiten 48 bits cero desde el circuito 326 MUX al registro 312 de valor de cálculo, limpiando con ello el registro. 1 2 3 4 0 Si no se afirma ni la señal csr_escribir ni la señal limpiar_contador y se afirma la señal acc, se escribe la salida del adicionador 324 al registro 312 de valor de contador, añadiendo con ello eficazmente S bits (es decir, el valor de la señal de suma [7:0]) al valor anterior del registro 312 de valor de cálculo. El no capacitar el circuito 8 contador da como resultado que se mantenga el registro 312 de valor de cálculo a su valor actual. Finalmente, para incrementar el valor del registro 312 de valor de cálculo en uno, el circuito 8 de cómputo debe estar capacitado, debe estar afirmada la señal inc, y no debe estar afirmada la señal acc. Como se describió anteriormente de forma detallada, la figura 4 ilustra que todo el bus 4 de recopilación de datos (figura 1) está disponible para todos los contadores de rendimiento representados por el contador 0 de rendimiento, haciendo de ellos contadores de uso general. Todos los D bits de la señal depurar_bus pueden utilizarse por el circuito 1 AND / OR. Los N bits alineados en delimitaciones de bloques pueden ser seleccionados por el circuito 6 sm_sel, permitiendo total cobertura del bus 4 de observabilidad. Los contadores de rendimiento anteriores sólo podían hacer corresponder unos o aplicar reglas umbral. La realización descrita en el presente documento, que emplea la porción 0 de correspondencia del circuito 2 de correspondencia / umbral, puede hacer corresponder bits unos, ceros y bits indefinidos. También puede hacer corresponder grupos de paquetes y estados. Por ejemplo, puede hacer corresponder todos los paquetes con un patrón x01 en posiciones de bits 6 a 2, sin tener en cuenta los valores de los otros bits o el bit 4. Elimina la necesidad de que se analice el valor lógico (es decir, se depure, calcule el rendimiento, o se compruebe la cobertura, etc.) para tener un valor lógico adicional para decodificar patrones específicos en señales one-hot, dando como resultado un contador de rendimiento en el que se implementa un uso más general. Como se ha mencionado anteriormente, los diseños de los contadores de rendimiento de la técnica anterior no eran de uso general ya que tenían un intervalo limitado y únicamente estaban diseñados para cálculos de rendimiento y depuración de un diseño de sistema. Las realizaciones descritas en el presente documento son de uso general ya que el circuito AND / OR puede llevar a cabo cálculos en todo el intervalo del bus 4 de recopilación de datos. Las realizaciones también incorporan el concepto de cobertura. Concretamente, al tener en cuenta estados específicos en un diseño lógico, el diseñador puede determinar qué cantidad del espacio de estado del mismo está siendo cubierta por los vectores de prueba de un conjunto de prueba. El diseñador puede calcular con ello si tienen que realizarse más pruebas y qué necesita añadirse para comprobar por completo todo el diseño. De esta manera, una implementación de la invención descrita en el presente documento proporciona un contador de rendimiento de uso general. Las realizaciones mostradas y descritas se han caracterizado por ser únicamente ilustrativas; por tanto, debería entenderse fácilmente que pueden realizarse allí diversos cambios y modificaciones sin salir del alcance de la presente invención, tal como se expone en las reivindicaciones siguientes. Por ejemplo, mientras que las realizaciones se describen en relación con un ASIC, se apreciará que las realizaciones pueden implementarse en otros tipos de circuitos integrados (IC), tales como conjuntos de chips personalizados, Matrices de Compuertas Programables in-situ (Field Programmable Gate Arrays ( FPGA )), dispositivos lógicos programables (PLD), módulos lógicos de matriz genérica ( GAL ), y similares. Además, mientras que las realizaciones mostradas se implementan empleando dispositivos CSR, se apreciará que las señales de control también pueden aplicarse en una variedad de otras formas, incluyendo, por ejemplo, directamente o aplicadas a través de registros de exploración o Registros Específicos de Modelos (MSR). De forma adicional, aunque se han ilustrado tamaños de campo de bits específicos en relación con las realizaciones descritas, por ejemplo, el umbral de 16 bits para la correspondencia de patrones (donde se emplean los 8 bits, inferiores para el umbral), la señal de la máscara de 8 bits, el sm_sel de 3 bits, etc., pueden tener otras implementaciones diferentes. De forma correspondiente, se considera que todas estas modificaciones, extensiones, variaciones, correcciones, adiciones, eliminaciones, combinaciones y similares están dentro del ámbito de la presente invención, cuyo alcance únicamente está definido por las reivindicaciones expuestas a continuación. 6 6

REIVINDICACIONES 1 2 3 4 0 6 1. Circuito de correspondencia para implementarlo en un contador de rendimiento de uso general ( GPPC ) conectado a un bus que porta datos de depuración que comprenden 80 bits, comprendiendo el circuito de correspondencia un sistema de lógica para activar una señal de correspondencia cuando una porción seleccionada de N bits de los datos de depuración corresponda a un valor umbral de N bits para todos los bits seleccionados por una máscara de correspondencia de N bits ( mmask ). 2. Circuito de correspondencia de la reivindicación 1, en el que los datos de depuración comprenden ocho porciones de 16 bits alineadas en bloques de bits. 3. Circuito de correspondencia de la reivindicación 2, en el que la porción seleccionada comprende una de las ocho porciones de 16 bits. 4. Circuito de correspondencia de la reivindicación 1, en el que N es igual a dieciséis.. Circuito de correspondencia de la reivindicación 1, en el que el umbral de N bits se proporciona desde un registro del estado de control ( CSR ). 6. Circuito de correspondencia de la reivindicación 1, en el que la máscara mmask de N bits se proporciona desde un registro del estado de control ( CSR ). 7. Circuito de correspondencia de la reivindicación 1, en el que el sistema de lógica para activar una señal de correspondencia comprende lógica para comparar un bit binario de la porción seleccionada de datos de depuración con un bit correspondiente del umbral y emitir un bit binario indicativo de si se corresponden los bits comparados. 8. Conjunto de circuitos para implementarlos en un contador de rendimiento de uso general ( GPPC ) conectado a un bus que porta datos de depuración que comprenden 80 bits, comprendiendo el conjunto de circuitos para analizar una porción seleccionada de los datos de depuración: un medio de lógica para activar. una señal de correspondencia cuando la porción seleccionada de los datos de depuración incluya un patrón específico de bits; un medio de lógica para activar una señal de umbral basándose en una comparación entre al menos un subconjunto de la porción seleccionada de datos de depuración y un valor umbral; y un medio de lógica para emitir una de entre la señal de correspondencia y la señal de umbral como respuesta a una señal de control de selección. 9. Conjunto de circuitos de la reivindicación 8, en el que los datos de depuración comprenden ocho porciones de 16 bits alineadas en bloques de bits.. Conjunto de circuitos de la reivindicación 9, en el que la porción seleccionada comprende una de las ocho porciones de 16 bits. 11. Conjunto de circuitos de la reivindicación 8, en el que el medio de lógica para activar una señal de correspondencia comprende además: un circuito NOR exclusivo ( XNOR ) que opera para llevar a cabo una operación XNOR a nivel de bits entre la porción seleccionada de datos de depuración y un registro de umbral que es tan amplio como la porción seleccionada de datos de depuración; un circuito OR para expresar con OR una máscara invertida ( mmask ) con la salida del circuito XNOR; y un circuito AND que opera para expresar con AND la salida OR del circuito para generar la señal de correspondencia. 12. Conjunto de circuitos de la reivindicación 11, en el que la máscara mmask se proporciona desde un registro del estado de control ( CSR ). 13. Conjunto de circuitos de la reivindicación 11, en el que el registro de umbral se proporicona como un registro del estado de control ( CSR ). 14. Conjunto de circuitos de la reivindicación 8, en el que el medio de lógica para activar una señal de umbral comprende un circuito de cotejo que emite un uno lógico cuando el subconjunto de la porción seleccionada de datos de depuración es mayor o igual al valor umbral. 7

1. Conjunto de circuitos de la reivindicación 8, en el que el medio de lógica para emitir una de entre la señal de correspondencia y la señal de umbral comprende un circuito multiplexor 2:1. 1 16. Método que puede ponerse en práctica en un contador de rendimiento de uso general ( GPPC ) conectado a un bus que porta datos de depuración, que comprenden 80 bits, para analizar una porción seleccionada de los datos de depuración, comprendiendo el método: activar una señal de correspondencia cuando la porción seleccionada de los datos de depuración incluye un patrón especificado de bits; activar una señal de umbral basándose en una comparación entre al menos un subconjunto de la porción seleccionada de datos de depuración y un valor umbral; y emitir una de entre la señal de correspondencia y la señal de umbral como respuesta a una señal de control de selección. 17. Método de la reivindicación 16, en el que los datos de depuración comprenden ocho porciones de 16 bits alineadas en bloques de bits. 18. Método de la reivindicaciuón 17, en el que la porción seleccionada comprende una de las ocho porciones de 16 bits. 19. Método de la reivindicación 16, en el que el activar una señal de correspondencia comprende: 2 llevar a cabo una operación NOR excclusivo a nivel de bits entre la porción seleccionada de datos de depuración y un registro de umbral que es tan amplio como la porción seleccionada de datos de depuración, para crear una primera salida intermediaria; llevar a cabo una operación OR entre la primera salida intermediaria y una máscara invertida ( mmask ) para crear una segunda salida intermediaria; y llevar a cabo una operación AND en la segunda salida intermediaria para generar la señal de correspondencia. 3. Método de la reivindicación 19, en el que la máscara mmask se proporciona desde un registro del estado de control ( CSR ). 21. Método de la reivindicación 19, en el que el valor de umbral se proporciona desde un registro del estado de control ( CSR ) que funciona como el registro umbral. 22. Método de la reivindicación 16, en el que el activar una señal umbral comprende el emitir un uno lógico cuando el subconjunto de la porción seleccionada de datos de depuración es mayor o igual al valor umbral. 4 0 6 8

9

11

OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA 11 ES 2 231 042 21 Nº de solicitud: 00068 22 Fecha de presentación de la solicitud: 14.01.04 32 Fecha de prioridad: 06.08.03 INFORME SOBRE EL ESTADO DE LA TÉCNICA 1 Int. Cl. 7 : G06F 11/34 DOCUMENTOS RELEVANTES Categoría Documentos citados Reivindicaciones afectadas X US 881224 A (RANSON et al.) 09.03.1999, todo el documento. 1-4,8-12, 16-22,2 X US 02184477 A (SWAINE et al.) 0.12.02, todo el documento. 1-4,8,9, 16-18,2 X US 63902 A (DAVIDSON et al.) 2.03.03, todo el documento. 1-4,8,9,18 Categoría de los documentos citados X: de particular relevancia Y: de particular relevancia combinado con otro/s de la misma categoría A: refleja el estado de la técnica El presente informe ha sido realizado para todas las reivindicaciones O: referido a divulgación no escrita P: publicado entre la fecha de prioridad y la de presentación de la solicitud E: documento anterior, pero publicado después de la fecha de presentación de la solicitud para las reivindicaciones nº: Fecha de realización del informe Examinador Página 01.04.0 Mª C. González Vasserot 1/1