MX2017007060A - Método para acceder a los datos en una memoria en una dirección no alineada. - Google Patents

Método para acceder a los datos en una memoria en una dirección no alineada.

Info

Publication number
MX2017007060A
MX2017007060A MX2017007060A MX2017007060A MX2017007060A MX 2017007060 A MX2017007060 A MX 2017007060A MX 2017007060 A MX2017007060 A MX 2017007060A MX 2017007060 A MX2017007060 A MX 2017007060A MX 2017007060 A MX2017007060 A MX 2017007060A
Authority
MX
Mexico
Prior art keywords
memory
data
accessing
accessing data
address
Prior art date
Application number
MX2017007060A
Other languages
English (en)
Inventor
Jacobi Christian
David Bradbury Jonathan
Slegel Timothy
Karl Gschwind Michael
Original Assignee
Ibm
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of MX2017007060A publication Critical patent/MX2017007060A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Un método para acceder a los datos en una memoria acoplada a un procesador, que comprende: recibir una instrucción de la referencia de la memoria para acceder a los datos de un primer tamaño en una dirección en la memoria; determinar un tamaño de la alineación de la dirección en la memoria; y acceder a los datos del primer tamaño en uno o más grupos de datos accediendo a cada bloque de grupo de datos de manera concurrente. Los grupos de datos tienen tamaños que son múltiplos del tamaño de la alineación.
MX2017007060A 2014-12-04 2015-10-30 Método para acceder a los datos en una memoria en una dirección no alineada. MX2017007060A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/560,486 US9582413B2 (en) 2014-12-04 2014-12-04 Alignment based block concurrency for accessing memory
PCT/EP2015/075231 WO2016087138A1 (en) 2014-12-04 2015-10-30 Method for accessing data in a memory at an unaligned address

Publications (1)

Publication Number Publication Date
MX2017007060A true MX2017007060A (es) 2017-11-08

Family

ID=54366218

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2017007060A MX2017007060A (es) 2014-12-04 2015-10-30 Método para acceder a los datos en una memoria en una dirección no alineada.

Country Status (14)

Country Link
US (4) US9582413B2 (es)
EP (1) EP3227773B1 (es)
JP (1) JP6664105B2 (es)
KR (1) KR101976296B1 (es)
CN (1) CN107003957B (es)
AU (1) AU2015357677B2 (es)
BR (1) BR112017011910B1 (es)
CA (1) CA2961708C (es)
MX (1) MX2017007060A (es)
RU (1) RU2675509C1 (es)
SG (1) SG11201701609VA (es)
TW (1) TWI607307B (es)
WO (1) WO2016087138A1 (es)
ZA (1) ZA201704122B (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582413B2 (en) 2014-12-04 2017-02-28 International Business Machines Corporation Alignment based block concurrency for accessing memory
WO2019055738A1 (en) * 2017-09-15 2019-03-21 MIPS Tech, LLC MEMORY ACCESS NOT ALIGNED
WO2020037542A1 (zh) * 2018-08-22 2020-02-27 深圳市大疆创新科技有限公司 数据指令处理方法、存储芯片、存储系统和可移动平台
FR3093571B1 (fr) * 2019-03-08 2021-03-19 Commissariat Energie Atomique Procédé et dispositif de représentation en virgule flottante avec précision variable
US11036506B1 (en) * 2019-12-11 2021-06-15 Motorola Solutions, Inc. Memory systems and methods for handling vector data
CN111338997B (zh) * 2020-03-05 2021-07-20 苏州浪潮智能科技有限公司 一种arm服务器bios支持tcm通信的方法、装置、设备和介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386531A (en) 1991-05-15 1995-01-31 International Business Machines Corporation Computer system accelerator for multi-word cross-boundary storage access
US6212601B1 (en) * 1996-08-30 2001-04-03 Texas Instruments Incorporated Microprocessor system with block move circuit disposed between cache circuits
US6425020B1 (en) * 1997-04-18 2002-07-23 Cirrus Logic, Inc. Systems and methods for passively transferring data across a selected single bus line independent of a control circuitry
US20100274988A1 (en) 2002-02-04 2010-10-28 Mimar Tibet Flexible vector modes of operation for SIMD processor
US6922658B2 (en) 2003-03-31 2005-07-26 International Business Machines Corporation Method and system for testing the validity of shared data in a multiprocessing system
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
EP1508853A1 (en) 2003-08-19 2005-02-23 STMicroelectronics Limited Computer system and method for loading non-aligned words
US7610466B2 (en) 2003-09-05 2009-10-27 Freescale Semiconductor, Inc. Data processing system using independent memory and register operand size specifiers and method thereof
TWI227440B (en) 2003-12-19 2005-02-01 Sunplus Technology Co Ltd Device and method using a processor to perform automatic alignment for data movement in memory
CA2510886C (en) 2004-06-28 2016-06-28 Brock M. Walker Seat with adjustable support system
US20060112226A1 (en) * 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
US7437537B2 (en) * 2005-02-17 2008-10-14 Qualcomm Incorporated Methods and apparatus for predicting unaligned memory access
RU2281546C1 (ru) * 2005-06-09 2006-08-10 Бурцева Тамара Андреевна Способ обработки информации на основе потока данных и устройство для его осуществления
US20070106883A1 (en) 2005-11-07 2007-05-10 Choquette Jack H Efficient Streaming of Un-Aligned Load/Store Instructions that Save Unused Non-Aligned Data in a Scratch Register for the Next Instruction
US8099538B2 (en) 2006-03-29 2012-01-17 Intel Corporation Increasing functionality of a reader-writer lock
US8015385B2 (en) * 2007-06-05 2011-09-06 International Business Machines Corporation Arrangements for memory allocation
US7725659B2 (en) * 2007-09-05 2010-05-25 International Business Machines Corporation Alignment of cache fetch return data relative to a thread
CN101290589B (zh) 2007-12-27 2010-06-16 华为技术有限公司 一种并发指令操作方法和装置
US20090282198A1 (en) * 2008-05-08 2009-11-12 Texas Instruments Incorporated Systems and methods for optimizing buffer sharing between cache-incoherent cores
US8086801B2 (en) * 2009-04-08 2011-12-27 International Business Machines Corporation Loading data to vector renamed register from across multiple cache lines
JP5381624B2 (ja) * 2009-11-04 2014-01-08 富士通株式会社 メモリ管理機能を有するプログラム及び装置
US20110314263A1 (en) 2010-06-22 2011-12-22 International Business Machines Corporation Instructions for performing an operation on two operands and subsequently storing an original value of operand
CN103946795B (zh) 2011-12-14 2018-05-15 英特尔公司 用于生成循环对齐计数或循环对齐掩码的系统、装置和方法
US9081503B2 (en) 2012-02-16 2015-07-14 Apple Inc. Methods and systems for maintaining a storage volume with holes and filling holes
US9459868B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a dynamically determined memory boundary
US9459867B2 (en) * 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a specified memory boundary indicated by the instruction
US9454366B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Copying character data having a termination character from one memory location to another
US9582413B2 (en) 2014-12-04 2017-02-28 International Business Machines Corporation Alignment based block concurrency for accessing memory

Also Published As

Publication number Publication date
KR20170073688A (ko) 2017-06-28
US9582413B2 (en) 2017-02-28
EP3227773A1 (en) 2017-10-11
CN107003957B (zh) 2020-01-17
CA2961708A1 (en) 2016-06-09
US20160162400A1 (en) 2016-06-09
JP2018501554A (ja) 2018-01-18
KR101976296B1 (ko) 2019-05-07
RU2675509C1 (ru) 2018-12-20
BR112017011910A2 (pt) 2018-01-16
BR112017011910B1 (pt) 2023-04-04
WO2016087138A1 (en) 2016-06-09
US9904618B2 (en) 2018-02-27
US9910769B2 (en) 2018-03-06
CA2961708C (en) 2023-09-26
US10579514B2 (en) 2020-03-03
TW201621667A (zh) 2016-06-16
US20170123967A1 (en) 2017-05-04
JP6664105B2 (ja) 2020-03-13
TWI607307B (zh) 2017-12-01
SG11201701609VA (en) 2017-03-30
EP3227773B1 (en) 2020-05-20
AU2015357677A1 (en) 2017-03-09
US20180074950A1 (en) 2018-03-15
AU2015357677B2 (en) 2018-11-08
CN107003957A (zh) 2017-08-01
US20160162401A1 (en) 2016-06-09
ZA201704122B (en) 2018-11-28

Similar Documents

Publication Publication Date Title
MX2017007060A (es) Método para acceder a los datos en una memoria en una dirección no alineada.
EP3539005A4 (en) DATA REPOSITIONING IN HYBRID MEMORY
EP3260971A4 (en) Data processing method and nvme storage
EP3296883A4 (en) Storage apparatus accessed via memory bus
EP3336694A4 (en) METHOD AND SYSTEM FOR REALIZING DATA MONITORING USING SOFTWARE DEVELOPMENT KIT
EP3320427A4 (en) Device and processing architecture for instruction memory efficiency
EP3111402A4 (en) Method and system for improving size-based product recommendations using aggregated review data
EP3129870A4 (en) Data parallel processing method and apparatus based on multiple graphic procesing units
EP3176693A4 (en) Multicore processor chip-based data processing method, device, and system
EP3123362A4 (en) Method and system for large scale data curation
GB2580263B (en) Dynamic data relocation using cloud based ranks
EP3223491A4 (en) Method and device for mapping virtual data centre resources
EP3185516A4 (en) Address processing method, related device and system
EP3198467A4 (en) System, method and apparatus for improving the performance of collective operations in high performance computing
EP3007070A4 (en) MEMORY SYSTEM, MEMORY ACCESS REQUEST PROCESSING METHOD, AND COMPUTER SYSTEM
EP2879053A4 (en) MEMORY DATA MIGRATION PROCESS FOR VIRTUAL MACHINE, ASSOCIATED DEVICE AND CLUSTER SYSTEM
EP3155531A4 (en) Replicating data using remote direct memory access (rdma)
EP3186713A4 (en) Routing direct memory access requests in a virtualized computing environment
EP3188034A4 (en) Display terminal-based data processing method
EP3123351A4 (en) Method and processor for processing data
EP3220277A4 (en) Memory accessing method, storage-class memory, and computer system
EP3286640A4 (en) COMPUTER PROCESSOR HAVING SEPARATE RECORDS FOR ADDRESSING A MEMORY
EP3211530A4 (en) Virtual machine memory management method, physical main machine, pcie device and configuration method therefor, and migration management device
EP3321821A4 (en) Big data exchange method and device
EP3239844A4 (en) Processing method and device for memory page in memory