ES2316347T3 - Procesador y metodo de ejecucion de instrucciones desde varias fuentes de instruccion. - Google Patents
Procesador y metodo de ejecucion de instrucciones desde varias fuentes de instruccion. Download PDFInfo
- Publication number
- ES2316347T3 ES2316347T3 ES00902227T ES00902227T ES2316347T3 ES 2316347 T3 ES2316347 T3 ES 2316347T3 ES 00902227 T ES00902227 T ES 00902227T ES 00902227 T ES00902227 T ES 00902227T ES 2316347 T3 ES2316347 T3 ES 2316347T3
- Authority
- ES
- Spain
- Prior art keywords
- instructions
- instruction
- processor
- internal processor
- external
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 7
- 238000012545 processing Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Abstract
Un procesador interno (1) para la ejecución de instrucciones desde varias fuentes de instrucciones (2; 6), en donde el mencionado procesador interno (1) comprende una memoria principal (6), y caracterizada por los medios de interfaz (11) conectables al menos a una fuente externa de instrucciones (2), permitiendo la ejecución del entrelazado de instrucciones desde las mencionadas fuentes de instrucciones (2; 6), controladas por la mencionada fuente (2) de instrucciones externa, en donde el procesador interno está configurado para: cada una de las instrucciones suministradas por una fuente (2) externa de instrucciones, capturando la instrucción desde los medios de interfaz (11), decodificando y ejecutando la mencionada instrucción; o bien si no se suministra ninguna instrucción por una fuente (2) externa de instrucciones, capturando una instrucción de la memoria principal (6), decodificando y ejecutando la mencionada instrucción.
Description
Procesador y método de ejecución de
instrucciones desde varias fuentes de instrucción.
La presente invención está relacionada en
general con un procesador y con un método de ejecución de
instrucciones procedentes de varias fuentes de instrucciones, y más
particularmente con un procesador interno, en donde la ejecución del
procesador interno está controlada por un procesador externo.
Un procesador convencional o CPU comprende
normalmente al menos una unidad de proceso y una unidad de control
que incluye varios circuitos de procesamiento y control, así como
también un conjunto de registros, que tienen por fin el
almacenamiento temporal de instrucciones, direcciones de la memoria,
y datos. Los circuitos de control en la unidad de control son
responsables en la máquina o en el ciclo de instrucciones que
comprenden la captura de instrucciones, códigos operativos de
decodificación, información de enrutado hacia la entidad deseada, y
proporcionando señales de control apropiadas para todas las acciones
de la CPU. Las instrucciones de los programas y los datos son
capturados desde una memoria principal.
No obstante, en algunos casos se desea controlar
un procesador integrado en un chip de propósito general o especial.
Por ejemplo, durante la fase de pruebas o incluso durante la
operación real del chip, se desea tener el control completo de la
ejecución y de la información de lectura del estado interno del
procesador.
El documento
US-A-5410544 expone un aparato para
comprobar una unidad que comprende un procesador interno acoplado a
un registro mediante un bus interno. En una realización, el aparato
proporciona un control externo en una unidad de memoria de tipo
Flash que tiene un procesador interno. El procesador interno está
programado de forma que pueda ejecutar un algoritmo que pueda
ejecute una operación en la unidad cuando se ejecute. Se utiliza un
bus interno por el procesador interno para tener acceso a un estado
de datos cuando el procesador interno esté ejecutando el algoritmo.
El aparato comprende un procesador externo dispuesto externamente a
la unidad y una interfaz y un conmutador dispuestos en la unidad. La
interfaz está acoplada a los procesadores interno y externo,
destinada a la recepción de una pluralidad de órdenes desde el
procesador externo. Ejemplos de órdenes que pueden ser enviadas
desde el procesador externo a la unidad de interfaz es el estado de
lectura o la lectura de la memoria. Se incluye en las órdenes la
capacidad de ordenar al procesador interno de que ejecute un
algoritmo que haya sido almacenado dentro del procesador interno.
Mediante la emisión de otra orden de
"puerta-trampa", el procesador externo puede
tomar el control de algunos registros y simular por tanto la
ejecución de algoritmos mediante el procesador interno.
De acuerdo con la presente invención, se
proporciona un procesador interno mejorado configurado en un chip,
el cual permite el control desde un procesador externo de una forma
transparente y eficiente.
Este objeto se obtiene mediante un procesador
interno, que permite la ejecución de instrucciones desde varias
fuentes de instrucciones de acuerdo con la invención. Una interfaz
dispuesta en el procesador es conectable al menos a una fuente de
instrucciones externa, permitiendo la ejecución con el entrelazado
de instrucciones desde varias fuentes de instrucciones, cuya
ejecución está controlada por la fuente externa de
instrucciones.
Una ventaja de la presente invención es que el
procesador externo puede controlar la operación del procesador
interno de una forma eficiente, y tiene el acceso al estado interno
del procesador interno de la misma forma que el propio procesador
interno.
Con el fin de exponer la invención con más
detalles, así como las ventajas y características de la invención,
se hacen referencias en la siguiente descripción detallada de la
realización preferida, con respecto a los dibujos adjuntos, en los
cuales:
la figura 1 es un diagrama de bloques de un
procesador interno, de acuerdo con la invención, conectado a un
procesador externo; y
la figura 2 es un diagrama de flujo del ciclo de
instrucciones en el procesador interno de la figura 1.
Con referencia a la figura 1, se muestra un
procesador o una CPU 1 capaz de interpretar y ejecutar programas. En
algunos casos, tal como un procesador que está integrado en un chip
de propósito general o especial. En consecuencia, el procesador de
acuerdo con la invención se denomina como un procesador interno. El
procesador interno de acuerdo con la invención está diseñado para
estar controlado por otro procesador denominado como un procesador
externo 2.
De forma similar a un procesador de propósito
general, una realización de la presente invención comprende una
unidad 3 de proceso de datos, y una unidad 4 de control de
programas. La unidad de procesamiento 3 comprende además distintas
clases de circuitos de procesamiento no mostrados en los dibujos, y
en donde la unidad de control 4 comprende varios circuitos de
control 5. Los registros de alta velocidad se encuentran incluidos
también en el procesador 1, para el almacenamiento temporal de las
instrucciones, direcciones de la memoria, y datos. La unidad de
control 4 captura las instrucciones, decodificando los códigos
operativos, y genera las señales de control para los demás
componentes del procesador, y realiza el enrutamiento de los datos y
de la información a través de las distintas partes del procesador:
registros, memoria, etc. Con el fin de sincronizar los distintos
componentes, se utiliza un circuito de conmutación con reloj, no
mostrado en los dibujos, para generar las señales de sincronización
en el tiempo.
Los programas y datos están almacenados en una
memoria principal, y en una memoria principal 6 del chip en la
realización. Tiene lugar una transferencia de datos entre la memoria
6 y un registro de datos 7, y en donde la dirección de la memoria
utilizada está almacenada en un registro de direcciones 8. El código
de operación de una instrucción a decodificar y ejecutar está
almacenado en un registro de instrucciones 9. La dirección de la
siguiente instrucción a ejecutar se almacena incluso en otro
registro denominado como el contador del programa 10.
Durante el ciclo de instrucciones del
procesador, tiene lugar una secuencia de acciones o de operaciones,
que se ilustran mediante el diagrama de flujo en la figura 2.
De acuerdo con la invención presente, la
siguiente instrucción a ejecutar (código operativo y operando) se
captura desde la interfaz 11 si se proporciona una instrucción por
el procesador externo 2, y se carga en el registro 9 de
instrucciones en la unidad de control 4. El procesador externo puede
proporcionar al procesador interno 1 con una secuencia de
instrucciones, es decir, un flujo de instrucciones. No obstante, si
no se proporcionan instrucciones por el procesador externo 2, la
siguiente instrucción se captura desde la memoria principal 6,
memoria RAM o memoria caché. La instrucción se decodifica y se
interpreta por los circuitos de control 5, y ejecutándose por la
unidad de procesamiento de datos. Los resultados se colocan en un
registro adecuado en la unidad 3 de proceso de datos, o bien en la
memoria principal 6.
Así pues, los dos flujos distintos de
instrucciones se suministran por los medios de dos fuentes de
instrucciones: la memoria principal 6 y el procesador externo 2 a
través de la interfaz 11. Estos dos flujos de instrucciones son casi
completamente independientes. El contador de programas 10 es la
única interacción directa disponible entre los dos flujos de
instrucciones.
Aunque las instrucciones se suministran por el
procesador externo, se capturan por el procesador interno por medio
de la interfaz 11, y siendo entonces ejecutadas. Cuando no se
suministran instrucciones adicionales por el procesador externo 2,
se suministra al contador del programa del procesador interno 1 con
una dirección de la siguiente instrucción, y se procede con la
operación normal del procesador interno. El contador del programa 10
se incrementa automáticamente después de que la siguiente
instrucción haya sido capturada. En consecuencia, el procesador
externo 2 puede controlar la operación del procesador interno de una
forma eficiente, aunque no en sentido inverso.
Con el fin de operar de una forma apropiada, el
procesador externo puede en algunos casos necesitar de una
información de realimentación procedente de la interfaz 11.
Aunque la invención se ha descrito por medio de
una realización específica de la misma, es evidente que la presente
invención proporciona un procesador que cumple totalmente con los
objetivos y ventajas anteriormente expuestos, y en donde las
alternativas, modificaciones y variaciones son evidentes para los
técnicos especializados en la técnica.
Tal como se ha mencionado anteriormente, el
procesador puede ser una parte de un chip de propósito general o
especial, en otras realizaciones de la invención. Así pues, el
procesador en algunos casos tiene un diseño completamente diferente,
y comprende por ejemplo unos registros adicionales, tales como los
registros de propósito especial para facilitar el control de las
ramificaciones, que facilita el procesamiento simultáneo de más de
una instrucción, y de distintas clases de capacidades de
procesamiento de datos, etc. No obstante, el procesador tiene
todavía una interfaz que habilita al menos dos fuentes distintas a
partir de las cuales el procesador captura sus instrucciones, en
donde una de las fuentes controla la ejecución del procesador
interno.
Claims (5)
1. Un procesador interno (1) para la ejecución
de instrucciones desde varias fuentes de instrucciones (2; 6), en
donde el mencionado procesador interno (1) comprende una memoria
principal (6), y caracterizada por los medios de interfaz
(11) conectables al menos a una fuente externa de instrucciones (2),
permitiendo la ejecución del entrelazado de instrucciones desde las
mencionadas fuentes de instrucciones (2; 6), controladas por la
mencionada fuente (2) de instrucciones externa, en donde el
procesador interno está configurado para:
cada una de las instrucciones suministradas por
una fuente (2) externa de instrucciones, capturando la instrucción
desde los medios de interfaz (11), decodificando y ejecutando la
mencionada instrucción; o bien si no se suministra ninguna
instrucción por una fuente (2) externa de instrucciones,
capturando una instrucción de la memoria
principal (6), decodificando y ejecutando la mencionada
instrucción.
2. Un procesador interno de acuerdo con la
reivindicación 1, en donde la mencionada interfaz (11) está
conectada a un registro del programa (10) del mencionado procesador
(1) interno, para la ejecución del control de secuencia del
mencionado procesador interno (1) por la mencionada fuente (2)
externa de
instrucciones.
instrucciones.
3. Un procesador interno (1) de acuerdo con la
reivindicación 1 ó 2, en donde la mencionada interfaz (11) está
conectada a un registro de instrucciones (9) del mencionado
procesador interno (1), para la ejecución del control de secuencia
del mencionado procesador interno (1) por la mencionada fuente (2)
externa de instrucciones.
4. Un método de ejecución de instrucciones desde
varias fuentes de instrucciones (2; 6) en un procesador interno (1),
que comprende una memoria principal (6) y medios de interfaz (11)
conectables al menos a una fuente (2) externa de instrucciones,
caracterizado porque tiene las etapas de:
para cada instrucción provista por una fuente
externa (2) de instrucciones, la captura de la instrucción desde
los medios (11) de interfaz, decodificando y ejecutando la
mencionada instrucción; o bien en el caso de que no se suministre
ninguna instrucción por una fuente (2) externa de instrucciones,
capturar una instrucción de la memoria principal
(6), decodificando y ejecutando la mencionada instrucción.
5. Un método de acuerdo con la instrucción 4,
que comprende además la etapa de:
capturar una instrucción desde una posición en
la memoria principal (6), cuya posición esté determinada por la
fuente (2) externa de instrucciones.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9900118 | 1999-01-18 | ||
SE9900118A SE514785C2 (sv) | 1999-01-18 | 1999-01-18 | Processor och metod för att exekvera instruktioner från flera instruktionskällor |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2316347T3 true ES2316347T3 (es) | 2009-04-16 |
Family
ID=20414117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES00902227T Expired - Lifetime ES2316347T3 (es) | 1999-01-18 | 2000-01-13 | Procesador y metodo de ejecucion de instrucciones desde varias fuentes de instruccion. |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP1177499B1 (es) |
JP (1) | JP2002535749A (es) |
KR (1) | KR100705872B1 (es) |
CN (1) | CN1153136C (es) |
AT (1) | ATE413645T1 (es) |
AU (1) | AU2335700A (es) |
DE (1) | DE60040733D1 (es) |
ES (1) | ES2316347T3 (es) |
SE (1) | SE514785C2 (es) |
WO (1) | WO2000042506A1 (es) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617383B2 (en) | 2006-02-16 | 2009-11-10 | Vns Portfolio Llc | Circular register arrays of a computer |
KR20090003217A (ko) | 2006-02-16 | 2009-01-09 | 브이엔에스 포트폴리오 엘엘씨 | 컴퓨터들의 어레이 간의 자원들의 할당 |
EP1821211A3 (en) * | 2006-02-16 | 2008-06-18 | Technology Properties Limited | Cooperative multitasking method in a multiprocessor system |
TW200817925A (en) | 2006-03-31 | 2008-04-16 | Technology Properties Ltd | Method and apparatus for operating a computer processor array |
US7555637B2 (en) | 2007-04-27 | 2009-06-30 | Vns Portfolio Llc | Multi-port read/write operations based on register bits set for indicating select ports and transfer directions |
CN102033736A (zh) * | 2010-12-31 | 2011-04-27 | 清华大学 | 一种指令集可扩展处理器的控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2215873A (en) * | 1988-03-23 | 1989-09-27 | Benchmark Technologies | Inter-processor status communication |
US5410544A (en) * | 1993-06-30 | 1995-04-25 | Intel Corporation | External tester control for flash memory |
-
1999
- 1999-01-18 SE SE9900118A patent/SE514785C2/sv not_active IP Right Cessation
-
2000
- 2000-01-13 WO PCT/SE2000/000040 patent/WO2000042506A1/en active IP Right Grant
- 2000-01-13 JP JP2000594015A patent/JP2002535749A/ja active Pending
- 2000-01-13 KR KR1020017008841A patent/KR100705872B1/ko active IP Right Grant
- 2000-01-13 ES ES00902227T patent/ES2316347T3/es not_active Expired - Lifetime
- 2000-01-13 AT AT00902227T patent/ATE413645T1/de not_active IP Right Cessation
- 2000-01-13 AU AU23357/00A patent/AU2335700A/en not_active Abandoned
- 2000-01-13 CN CNB008028206A patent/CN1153136C/zh not_active Expired - Lifetime
- 2000-01-13 EP EP00902227A patent/EP1177499B1/en not_active Expired - Lifetime
- 2000-01-13 DE DE60040733T patent/DE60040733D1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
SE514785C2 (sv) | 2001-04-23 |
CN1153136C (zh) | 2004-06-09 |
ATE413645T1 (de) | 2008-11-15 |
EP1177499A1 (en) | 2002-02-06 |
KR20010101498A (ko) | 2001-11-14 |
SE9900118L (sv) | 2000-07-19 |
CN1337023A (zh) | 2002-02-20 |
WO2000042506A1 (en) | 2000-07-20 |
JP2002535749A (ja) | 2002-10-22 |
SE9900118D0 (sv) | 1999-01-18 |
EP1177499B1 (en) | 2008-11-05 |
KR100705872B1 (ko) | 2007-04-09 |
DE60040733D1 (de) | 2008-12-18 |
AU2335700A (en) | 2000-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236621B (zh) | 计算机接口信息配置系统及方法 | |
TWI476597B (zh) | 資料處理裝置及半導體積體電路裝置 | |
WO2007113346A1 (es) | Deteccion de errores transitorios mediante nueva ejecucion selectiva | |
JP2010500679A (ja) | プロセッサ内のマルチスレッド間通信 | |
KR900016866A (ko) | 데이타 처리 시스템 | |
US20020188830A1 (en) | Bit replacement and extraction instructions | |
US5617553A (en) | Computer system which switches bus protocols and controls the writing of a dirty page bit of an address translation buffer | |
Myers et al. | Microprocessor technology trends | |
ES2316347T3 (es) | Procesador y metodo de ejecucion de instrucciones desde varias fuentes de instruccion. | |
US20050132345A1 (en) | Automatic task distribution in scalable processors | |
JPS62226231A (ja) | プロセツサ | |
US8694975B2 (en) | Programming system in multi-core environment, and method and program of the same | |
JP2511151B2 (ja) | デ―タ処理装置 | |
EP1372065B1 (en) | System large scale integrated circuit (LSI), method of designing the same, and program therefor | |
JP2578182B2 (ja) | デ−タ処理装置及びデ−タ処理システム | |
KR102629550B1 (ko) | 분산된 데이터센터의 적응형 메모리 일관성 | |
JPS6362778B2 (es) | ||
JPH1020959A (ja) | 低消費電力マイクロプロセッサ | |
JPS59206968A (ja) | Eprom搭載型マイクロコンピユ−タ | |
JPS63156231A (ja) | リ−ドオンリ−メモリ内命令の変更方法 | |
JP2004021422A (ja) | マイクロコンピュータ | |
JP2004199333A (ja) | マイクロコンピュータおよびその評価装置 | |
JPH0277848A (ja) | マイクロコンピュータ | |
Barton | Hardware implementation of a synchronization state buffer in VHDL | |
JPS644836A (en) | Overflow preventing system for data flow controller |