[go: up one dir, main page]

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
size
accessing data
aligned address
Prior art date
Application number
MX2017007060A
Other languages
English (en)
Other versions
MX391160B (es
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
Publication of MX391160B publication Critical patent/MX391160B/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (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 MX391160B (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 (2)

Publication Number Publication Date
MX2017007060A true MX2017007060A (es) 2017-11-08
MX391160B MX391160B (es) 2025-03-21

Family

ID=54366218

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2017007060A MX391160B (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) MX391160B (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
US20190138308A1 (en) * 2017-09-15 2019-05-09 MIPS Tech, LLC Unaligned memory accesses
CN110770699A (zh) * 2018-08-22 2020-02-07 深圳市大疆创新科技有限公司 数据指令处理方法、存储芯片、存储系统和可移动平台
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
US10083032B2 (en) 2011-12-14 2018-09-25 Intel Corporation System, apparatus and method for generating a loop alignment count or a loop alignment mask
US9081503B2 (en) 2012-02-16 2015-07-14 Apple Inc. Methods and systems for maintaining a storage volume with holes and filling holes
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
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
US9459868B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a dynamically determined memory boundary
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
KR101976296B1 (ko) 2019-05-07
CA2961708A1 (en) 2016-06-09
AU2015357677B2 (en) 2018-11-08
ZA201704122B (en) 2018-11-28
MX391160B (es) 2025-03-21
SG11201701609VA (en) 2017-03-30
TW201621667A (zh) 2016-06-16
US9582413B2 (en) 2017-02-28
US9904618B2 (en) 2018-02-27
US20180074950A1 (en) 2018-03-15
BR112017011910A2 (en) 2018-01-16
CN107003957B (zh) 2020-01-17
EP3227773A1 (en) 2017-10-11
BR112017011910B1 (pt) 2023-04-04
JP6664105B2 (ja) 2020-03-13
US9910769B2 (en) 2018-03-06
EP3227773B1 (en) 2020-05-20
CN107003957A (zh) 2017-08-01
AU2015357677A1 (en) 2017-03-09
US10579514B2 (en) 2020-03-03
JP2018501554A (ja) 2018-01-18
WO2016087138A1 (en) 2016-06-09
CA2961708C (en) 2023-09-26
RU2675509C1 (ru) 2018-12-20
TWI607307B (zh) 2017-12-01
US20160162401A1 (en) 2016-06-09
US20170123967A1 (en) 2017-05-04
US20160162400A1 (en) 2016-06-09

Similar Documents

Publication Publication Date Title
KR20180084799A (ko) 테이블 게임의 관리 시스템, 유기용 대용 화폐, 및 검사 장치
BR112016016831A2 (pt) método implementado por computador, sistema incluindo memória e um ou mais processadores, e meio legível por computador não transitório
EP3341939A4 (en) TEST BIT READING MODE OF A MEMORY DEVICE
MX2017007060A (es) Método para acceder a los datos en una memoria en una dirección no alineada.
EP3469486A4 (en) MULTI-PORT INTERPOSER ARCHITECTURES IN DATA STORAGE SYSTEMS
SG11201708477UA (en) Method for accessing extended memory, device, and system
HUE046686T2 (hu) Véletlen hozzáférésû bekezdõ jelszakasz PA visszatartás minimalizálására
FR3021784B1 (fr) Procede de projection de donnees virtuelles et dispositif permettant cette projection
EP3657315A4 (en) PROCESS, DEVICE AND SYSTEM FOR ACCESSING DATA
DK3341024T3 (da) Væskeformige farmaceutiske sammensætninger, som omfatter sglt-2-hæmmere
DK3163994T3 (da) Luftindeslutningssystem til datacentre
CR20150552A (es) Entorno de aprendizaje de idiomas
MX2018007302A (es) Verificacion de integridad del hardware.
HUE037896T2 (hu) Cím kiterjesztés és rövidítés többszálas számítógép rendszerben
KR20180084797A (ko) 기판 액 처리 장치, 기판 액 처리 방법 및 기억 매체
EP3633957A4 (en) Data storage method, storage server, storage medium and system
PL3051469T3 (pl) Sposób oraz urządzenie do identyfikacji i śledzenia jednostek oraz opakowań
BR112017018057A2 (pt) invólucro de acesso, sistema de acesso e métodos relacionados
BR112017017491A2 (pt) método, aparelho e sistema de carregamento de dados
EP3369095A4 (en) SURFACE EFFICIENT PARALLEL TEST PATTERN FOR EMBEDDED MEMORY
PL3306866T3 (pl) Sposób, urządzenie i system przetwarzania wiadomości
EP3657695A4 (en) RANDOM ACCESS METHOD, TERMINAL, AND COMPUTER-READABLE STORAGE MEDIUM
BR112017008674A2 (pt) método de processamento de solicitação de gravação, processador, e computador
IL254783A0 (en) Anthelmintic combinations and methods of use thereof
EP3310106C0 (en) DATA TRANSMISSION METHOD AND ACCESS POINT