RU2015102341A - Свободная от блокирования потоковая передача данных исполняемого кода - Google Patents
Свободная от блокирования потоковая передача данных исполняемого кода Download PDFInfo
- Publication number
- RU2015102341A RU2015102341A RU2015102341A RU2015102341A RU2015102341A RU 2015102341 A RU2015102341 A RU 2015102341A RU 2015102341 A RU2015102341 A RU 2015102341A RU 2015102341 A RU2015102341 A RU 2015102341A RU 2015102341 A RU2015102341 A RU 2015102341A
- Authority
- RU
- Russia
- Prior art keywords
- operation code
- computer
- memory
- implemented method
- writing
- Prior art date
Links
- 230000006870 function Effects 0.000 claims 2
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
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- 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/30181—Instruction operation extension or modification
-
- 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/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- 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/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
1. Реализуемый компьютером способ, содержащий:прием инструкций, содержащих множество кодов операции, при этом каждый код операции содержит один или более байтов данных;дизассемблирование инструкций на отдельные коды операции;создание таблицы, идентифицирующей границы между каждым кодом операции; изапись каждого кода операции в память код операции за кодом операции посредством атомарной записи стандартных блоков памяти.2. Реализуемый компьютером способ по п. 1, дополнительно содержащий:запись кодов операции отладочной точки останова во все участки памяти для инициализации памяти.3. Реализуемый компьютером способ по п. 1, дополнительно содержащий:добавление кодов операции отладочной точки останова к коду операции для создания полного стандартного блока памяти.4. Реализуемый компьютером способ по п. 1, в котором длина стандартного блока памяти составляет тридцать два бита или шестьдесят четыре бита.5. Реализуемый компьютером способ по п. 1, дополнительно содержащий:идентификацию, когда длинный код операции будет перекрывать два или более стандартных блока памяти;запись второй части длинного кода операции во второй блок памяти; изапись первой части длинного кода операции в первый блок памяти.6. Реализуемый компьютером способ по п. 5, дополнительно содержащий:добавление кодов операции отладочной точки останова ко второй части длинного кода операции для создания полного стандартного блока памяти.7. Реализуемый компьютером способ по п. 6, дополнительно содержащий:запись предшествующего кода операции и первой части длинного кода операции в первый блок памяти.8. Компьютерная система, содержащая:процессор;системную память;один или
Claims (10)
1. Реализуемый компьютером способ, содержащий:
прием инструкций, содержащих множество кодов операции, при этом каждый код операции содержит один или более байтов данных;
дизассемблирование инструкций на отдельные коды операции;
создание таблицы, идентифицирующей границы между каждым кодом операции; и
запись каждого кода операции в память код операции за кодом операции посредством атомарной записи стандартных блоков памяти.
2. Реализуемый компьютером способ по п. 1, дополнительно содержащий:
запись кодов операции отладочной точки останова во все участки памяти для инициализации памяти.
3. Реализуемый компьютером способ по п. 1, дополнительно содержащий:
добавление кодов операции отладочной точки останова к коду операции для создания полного стандартного блока памяти.
4. Реализуемый компьютером способ по п. 1, в котором длина стандартного блока памяти составляет тридцать два бита или шестьдесят четыре бита.
5. Реализуемый компьютером способ по п. 1, дополнительно содержащий:
идентификацию, когда длинный код операции будет перекрывать два или более стандартных блока памяти;
запись второй части длинного кода операции во второй блок памяти; и
запись первой части длинного кода операции в первый блок памяти.
6. Реализуемый компьютером способ по п. 5, дополнительно содержащий:
добавление кодов операции отладочной точки останова ко второй части длинного кода операции для создания полного стандартного блока памяти.
7. Реализуемый компьютером способ по п. 6, дополнительно содержащий:
запись предшествующего кода операции и первой части длинного кода операции в первый блок памяти.
8. Компьютерная система, содержащая:
процессор;
системную память;
один или более считываемых компьютером носителей данных с хранимыми на них исполняемыми компьютером инструкциями, которые при исполнении одним или более процессорами побуждают процессор к выполнению способа для потоковой передачи исполняемого кода, причем процессор функционирует для:
приема инструкций, содержащих множество кодов операции, при этом каждый код операции содержит один или более байтов данных;
дизассемблирования инструкций на отдельные коды операции;
создания таблицы, идентифицирующей границы между каждым кодом операции;
записи каждого кода операции в память код операции за кодом операции посредством атомарной записи стандартных блоков памяти; и
добавления кодов операции отладочной точки останова к коду операции для создания полного стандартного блока памяти.
9. Компьютерная система по п. 8, причем процессор дополнительно функционирует для:
записи кодов операции отладочной точки во все участки памяти для инициализации памяти.
10. Компьютерная система по п. 8, причем процессор дополнительно функционирует для:
идентификации, когда длинный код операции будет перекрывать два или более стандартных блока памяти;
записи второй части длинного кода операции во второй блок памяти; и
записи первой части длинного кода операции в первый блок памяти.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/560,216 US9436474B2 (en) | 2012-07-27 | 2012-07-27 | Lock free streaming of executable code data |
US13/560,216 | 2012-07-27 | ||
PCT/US2013/052153 WO2014018812A1 (en) | 2012-07-27 | 2013-07-26 | Lock free streaming of executable code data |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015102341A true RU2015102341A (ru) | 2016-08-10 |
RU2639235C2 RU2639235C2 (ru) | 2017-12-20 |
Family
ID=48985821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015102341A RU2639235C2 (ru) | 2012-07-27 | 2013-07-26 | Свободная от блокирования потоковая передача данных исполняемого кода |
Country Status (11)
Country | Link |
---|---|
US (2) | US9436474B2 (ru) |
EP (1) | EP2877918B1 (ru) |
JP (1) | JP6328632B2 (ru) |
KR (1) | KR102042304B1 (ru) |
CN (1) | CN104508626B (ru) |
AU (2) | AU2013295686B2 (ru) |
BR (1) | BR112015001476B1 (ru) |
CA (1) | CA2878558C (ru) |
MX (1) | MX347111B (ru) |
RU (1) | RU2639235C2 (ru) |
WO (1) | WO2014018812A1 (ru) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9747189B2 (en) | 2015-11-12 | 2017-08-29 | International Business Machines Corporation | Breakpoint for predicted tuple processing time in a streaming environment |
CN107797821B (zh) * | 2016-09-05 | 2021-10-08 | 上海宝存信息科技有限公司 | 重试读取方法以及使用该方法的装置 |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768575A (en) * | 1989-02-24 | 1998-06-16 | Advanced Micro Devices, Inc. | Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions |
JPH0395629A (ja) | 1989-09-08 | 1991-04-22 | Fujitsu Ltd | データ処理装置 |
JPH03216734A (ja) * | 1990-01-22 | 1991-09-24 | Hitachi Micro Comput Eng Ltd | データ処理方法及び中央処理装置 |
JPH05312838A (ja) * | 1992-05-12 | 1993-11-26 | Iwatsu Electric Co Ltd | ロジック・アナライザ |
US6009508A (en) * | 1994-06-21 | 1999-12-28 | Sgs-Thomson Microelectronics Limited | System and method for addressing plurality of data values with a single address in a multi-value store on FIFO basis |
GB9412434D0 (en) * | 1994-06-21 | 1994-08-10 | Inmos Ltd | Computer instruction compression |
CN100412786C (zh) * | 1994-12-02 | 2008-08-20 | 英特尔公司 | 可以对复合操作数进行压缩操作的微处理器 |
US6212574B1 (en) | 1997-04-04 | 2001-04-03 | Microsoft Corporation | User mode proxy of kernel mode operations in a computer operating system |
US5946484A (en) * | 1997-05-08 | 1999-08-31 | The Source Recovery Company, Llc | Method of recovering source code from object code |
US6061772A (en) * | 1997-06-30 | 2000-05-09 | Sun Microsystems, Inc. | Split write data processing mechanism for memory controllers utilizing inactive periods during write data processing for other transactions |
US6282698B1 (en) * | 1998-02-09 | 2001-08-28 | Lucent Technologies Inc. | Detecting similarities in Java sources from bytecodes |
US6119115A (en) | 1998-03-12 | 2000-09-12 | Microsoft Corporation | Method and computer program product for reducing lock contention in a multiple instruction execution stream processing environment |
EP0955578A1 (en) * | 1998-05-04 | 1999-11-10 | International Business Machines Corporation | Method and device for carrying out a function assigned to an instruction code |
US6077312A (en) * | 1998-05-06 | 2000-06-20 | International Business Machines Corporation | Apparatus, program product and method of debugging utilizing a context sensitive breakpoint |
US6253309B1 (en) | 1998-09-21 | 2001-06-26 | Advanced Micro Devices, Inc. | Forcing regularity into a CISC instruction set by padding instructions |
US6397273B2 (en) | 1998-12-18 | 2002-05-28 | Emc Corporation | System having an enhanced parity mechanism in a data assembler/disassembler for use in a pipeline of a host-storage system interface to global memory |
US6408382B1 (en) * | 1999-10-21 | 2002-06-18 | Bops, Inc. | Methods and apparatus for abbreviated instruction sets adaptable to configurable processor architecture |
US20030023960A1 (en) * | 2001-07-25 | 2003-01-30 | Shoab Khan | Microprocessor instruction format using combination opcodes and destination prefixes |
US7444500B1 (en) | 2000-08-14 | 2008-10-28 | General Software, Inc. | Method for executing a 32-bit flat address program during a system management mode interrupt |
US6708326B1 (en) * | 2000-11-10 | 2004-03-16 | International Business Machines Corporation | Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence |
US20040059641A1 (en) * | 2002-06-25 | 2004-03-25 | Lucas Brown | System and method for creating user selected customized digital data compilations |
US7917734B2 (en) | 2003-06-30 | 2011-03-29 | Intel Corporation | Determining length of instruction with multiple byte escape code based on information from other than opcode byte |
US7581082B2 (en) | 2005-05-13 | 2009-08-25 | Texas Instruments Incorporated | Software source transfer selects instruction word sizes |
US7506206B2 (en) * | 2005-06-07 | 2009-03-17 | Atmel Corporation | Mechanism for providing program breakpoints in a microcontroller with flash program memory |
US20070006189A1 (en) * | 2005-06-30 | 2007-01-04 | Intel Corporation | Apparatus, system, and method of detecting modification in a self modifying code |
US7761864B2 (en) * | 2005-08-09 | 2010-07-20 | Intermec Ip Corp. | Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices |
US7703088B2 (en) * | 2005-09-30 | 2010-04-20 | Intel Corporation | Compressing “warm” code in a dynamic binary translation environment |
US20070079177A1 (en) * | 2005-09-30 | 2007-04-05 | Charles Spirakis | Process monitoring and diagnosis apparatus, systems, and methods |
US20070168736A1 (en) * | 2005-12-19 | 2007-07-19 | Ottavi Robert P | Breakpoint groups |
US8584109B2 (en) * | 2006-10-27 | 2013-11-12 | Microsoft Corporation | Virtualization for diversified tamper resistance |
US8037459B2 (en) * | 2007-07-31 | 2011-10-11 | International Business Machines Corporation | Recovery from nested exceptions in an instrumentation routine |
US8185783B2 (en) | 2007-11-22 | 2012-05-22 | Microsoft Corporation | Split user-mode/kernel-mode device driver architecture |
CN102077195A (zh) * | 2008-05-08 | 2011-05-25 | Mips技术公司 | 具有紧凑指令集架构的微处理器 |
US8423961B2 (en) | 2008-06-06 | 2013-04-16 | Microsoft Corporation | Simulating operations through out-of-process execution |
US8103912B2 (en) * | 2008-09-07 | 2012-01-24 | EADS North America, Inc. | Sequencer and test system including the sequencer |
KR101581001B1 (ko) * | 2009-03-30 | 2015-12-30 | 삼성전자주식회사 | 프로그램의 동적 분석 방법 및 그 장치 |
US9274796B2 (en) * | 2009-05-11 | 2016-03-01 | Arm Finance Overseas Limited | Variable register and immediate field encoding in an instruction set architecture |
CN101853148B (zh) | 2009-05-19 | 2014-04-23 | 威盛电子股份有限公司 | 适用于微处理器的装置及方法 |
US20120079459A1 (en) * | 2010-09-29 | 2012-03-29 | International Business Machines Corporation | Tracing multiple threads via breakpoints |
US9176738B2 (en) * | 2011-01-12 | 2015-11-03 | Advanced Micro Devices, Inc. | Method and apparatus for fast decoding and enhancing execution speed of an instruction |
US9053233B2 (en) * | 2011-08-15 | 2015-06-09 | Freescale Semiconductor, Inc. | Method and device for controlling debug event resources |
GB2501299A (en) * | 2012-04-19 | 2013-10-23 | Ibm | Analysing computer program instructions to determine if an instruction can be replaced with a trap or break point. |
US8990627B2 (en) * | 2012-05-23 | 2015-03-24 | Red Hat, Inc. | Leveraging page fault and page reclaim capabilities in debugging |
US9342284B2 (en) * | 2013-09-27 | 2016-05-17 | Intel Corporation | Optimization of instructions to reduce memory access violations |
US9619346B2 (en) * | 2013-10-31 | 2017-04-11 | Assured Information Security, Inc. | Virtual machine introspection facilities |
-
2012
- 2012-07-27 US US13/560,216 patent/US9436474B2/en active Active
-
2013
- 2013-07-26 KR KR1020157002060A patent/KR102042304B1/ko active IP Right Grant
- 2013-07-26 AU AU2013295686A patent/AU2013295686B2/en active Active
- 2013-07-26 RU RU2015102341A patent/RU2639235C2/ru active
- 2013-07-26 MX MX2015001127A patent/MX347111B/es active IP Right Grant
- 2013-07-26 BR BR112015001476-3A patent/BR112015001476B1/pt active IP Right Grant
- 2013-07-26 CA CA2878558A patent/CA2878558C/en active Active
- 2013-07-26 CN CN201380039991.8A patent/CN104508626B/zh active Active
- 2013-07-26 WO PCT/US2013/052153 patent/WO2014018812A1/en active Application Filing
- 2013-07-26 JP JP2015524457A patent/JP6328632B2/ja active Active
- 2013-07-26 EP EP13748402.8A patent/EP2877918B1/en active Active
-
2016
- 2016-09-06 US US15/257,794 patent/US9841976B2/en active Active
-
2018
- 2018-07-13 AU AU2018205196A patent/AU2018205196B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
BR112015001476A2 (pt) | 2017-07-04 |
CA2878558C (en) | 2020-11-03 |
US20160371083A1 (en) | 2016-12-22 |
US9436474B2 (en) | 2016-09-06 |
EP2877918B1 (en) | 2022-02-16 |
JP2015524591A (ja) | 2015-08-24 |
US20140032883A1 (en) | 2014-01-30 |
WO2014018812A1 (en) | 2014-01-30 |
EP2877918A1 (en) | 2015-06-03 |
MX347111B (es) | 2017-04-12 |
KR20150040277A (ko) | 2015-04-14 |
CN104508626B (zh) | 2017-06-13 |
JP6328632B2 (ja) | 2018-05-23 |
MX2015001127A (es) | 2015-04-08 |
BR112015001476B1 (pt) | 2022-06-28 |
US9841976B2 (en) | 2017-12-12 |
AU2018205196A1 (en) | 2018-08-02 |
RU2639235C2 (ru) | 2017-12-20 |
KR102042304B1 (ko) | 2019-11-07 |
AU2013295686A1 (en) | 2015-01-29 |
CA2878558A1 (en) | 2014-01-30 |
AU2013295686B2 (en) | 2018-04-19 |
AU2018205196B2 (en) | 2019-07-25 |
CN104508626A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9858140B2 (en) | Memory corruption detection | |
US9552207B2 (en) | Method and apparatus for performance efficient ISA virtualization using dynamic partial binary translation | |
BR102014005801A2 (pt) | rastreamento de fluxo de controle de instruções | |
MY154086A (en) | Data processing apparatus and method | |
MY197445A (en) | Method and apparatus for writing service data into block chain and method for determining service subset | |
BR112018005588A2 (pt) | método de depuração, processador de múltiplos núcleos e dispositivo de depuração | |
EP4287026A3 (en) | Distributed hardware tracing | |
BR112017016219A2 (pt) | rastreamento de fluxo de dados através de monitoramento de memória | |
BR112015015691A2 (pt) | método de gravação, método de execução, dispositivo, terminal e sistema | |
WO2015048023A1 (en) | Recovery from multiple data errors | |
RU2012148585A (ru) | Сохранение/восстановление выбранных регистров при транзакционной обработке | |
BR112015030122A2 (pt) | aparelho e método para acelerar operações de compressão e descompressão | |
GB2508533A (en) | Instruction and logic to provide vector scatter-op and gather-op functionality | |
CN104778116B (zh) | 一种多断点的软件调试装置和方法 | |
BR112017011104A2 (pt) | sistemas, aparelhos e métodos para execução de especulação de dados | |
GB2526485A (en) | Instruction for performing pseudorandom number seed operation | |
GB2499532A (en) | Method and apparatus for universal logical operations | |
JP2017516228A5 (ru) | ||
US20160371179A1 (en) | Multiple chunk support for memory corruption detection architectures | |
BR112015030066A2 (pt) | processadores, métodos e sistemas para acessar um conjunto de registradores como uma pluralidade de registradores menores ou como um registrador maior combinado | |
BR112015029930B1 (pt) | Pares de imposição de ordem de instrução de instruções, processadores, métodos e sistemas | |
BR112015029860B1 (pt) | Dispositivo de processamento, método e mídia legível por máquina | |
BR112018077468A2 (pt) | método, aparelho, sistema de computador, produto de programa de software, e mídia de armazenamento para decodificar arquivo codificado de comprimento variável | |
RU2015102341A (ru) | Свободная от блокирования потоковая передача данных исполняемого кода | |
JP2014182830A5 (ru) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
HZ9A | Changing address for correspondence with an applicant |