IP Library › Granted Patent US 9,349,155
Granted Patent B2
US 9,349,155 · App. 13/171,772 · Granted May 24, 2016

Computing apparatus and method using X-Y stack memory

Inventors: Soo-Jung Ryu (Hwaseong-si, KR); Sung-Bae Park (Seongnam-si, KR); Woong Seo (Hwaseong-si, KR); Young-Chul Cho (Yongin-si, KR); Jeong-Wook Kim (Seongnam-si, KR); Moo-Kyoung Chung (Yongin-si, KR); Ho-Young Kim (Seoul, KR)
Assignee: Samsung Electronics Co., Ltd.
G06T1/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,349,155
App. No.
13/171,772
Granted
May 24, 2016
Kind
B2
Abstract

A computing apparatus is provided. The computing apparatus includes a memory unit configured to have an address space defined as a multidimensional space having at least two axes, and a memory access unit configured to include a first pointer register storing a first pointer pointing to a row corresponding to the first axis and a second pointer register storing a second pointer pointing to a column corresponding to the second axis.

Claims (20)

1. A computing apparatus comprising:

a memory configured to comprise an address space defined as a multidimensional space comprising two axes;

a memory allocator implemented by a processor and configured to allocate the address space, as one-dimensional (1D) arrays thereof, to two-dimensional (2D) array data by allocating row data of the 2D data along a first axis and allocating column data of the 2D data along a second axis, wherein the memory allocator allocates the address space using 2D vector addresses corresponding to sequential pieces of data arranged in accordance with the 1D arrays; and

a memory accessor implemented by a processor and configured to include a first pointer register storing a first pointer pointing to a row corresponding to the first axis and a second pointer register storing a second pointer pointing to a column corresponding to the second axis,

wherein the memory accessor is configured to access the memory in accordance with a size of each of the 1D arrays, in which the memory accessor pops data from or pushes data onto the memory in a direction of the row by increasing or decreasing a value of the second pointer by a degree of the size of each of the 1D arrays while a value of the first pointer remains unchanged, and pops data from or pushes data onto the memory in a direction of the column by increasing or decreasing the value of the first pointer by a degree of the size of each of the 1D arrays while the value of the second pointer remains unchanged.

2. The computing apparatus of claim 1 , wherein the memory is a last-in first-out (LIFO)-based stack memory.

3. The computing apparatus of claim 2 , wherein the first pointer register is a first stack pointer register storing a Y coordinate of a top of the stack memory and the second pointer register is a second stack pointer register storing an X coordinate of the top of the stack memory.

4. The computing apparatus of claim 1 , wherein the first pointer register is separate from the second pointer register.

5. A computing apparatus comprising:

a memory configured to comprise an address space defined as a multidimensional space comprising an X axis and a Y axis and to store data therein or output data therefrom in a LIFO manner;

a memory allocator implemented by a processor and configured to allocate the address space to 2D array data by allocating row data of the 2D data along the X axis and allocating column data of the 2D data along the Y axis, wherein the memory allocator allocates the address space, as one-dimensional (1D) arrays thereof, using 2D vector addresses corresponding to sequential pieces of data arranged in accordance with the 1D arrays; and

a memory accessor implemented by a processor and configured to access the memory in accordance with a size of each of the 1D arrays, in which the memory accessor includes first pointer register storing a first pointer pointing to a row corresponding to the X axis and a second pointer register storing a second pointer pointing to a column corresponding to the Y axis, to pop data from or push data to the memory in a direction of the row by increasing or decreasing a value of the second pointer by a degree of the size of each of the 1D arrays while a value of the first pointer remains unchanged, and to pop data from or push data to the memory in a direction of the column by increasing or decreasing the value of the first pointer by a degree of the size of each of the 1D arrays while the value of the second pointer remains unchanged.

6. The computing apparatus of claim 5 , wherein the memory is a stack memory comprising image data comprising a 2D array structure configured to write thereto or configured to read therefrom.

7. The computing apparatus of claim 6 , wherein the memory accessor is a digital image processor configured to process the image data in a row or column direction of the image data.

8. The computing apparatus of claim 5 , wherein the first pointer register is separate from the second pointer register.

9. A computing method comprising:

allocating, as one-dimensional (1D) arrays, an address space of a memory defined as a multidimensional space comprising an X axis and a Y axis to image data comprising a 2D array structure, wherein each location in the address space has a 2D vector address corresponding to a respective sequential piece of data arranged in a row or a column of the address space in accordance with the 1D array; and

accessing, in accordance with a size of each of the 1D arrays, row data of the image data along the X axis by increasing or decreasing a value of a second pointer by a degree of the size of each of the 1D arrays while a value of a first pointer remains unchanged, or accessing, in accordance with the size each of the 1D arrays, column data of the image data along the Y axis by increasing or decreasing the value of the first pointer by a degree of each of the 1D arrays while the value of the second pointer remains unchanged, the first pointer pointing to a row corresponding to the X axis and the second pointer pointing to a column corresponding to the Y axis, wherein the allocating of the address space and the accessing of the row data of the image data are each performed by a processor.

10. The computing method of claim 9 , wherein the memory is a stack memory comprising data written thereto or read therefrom in a LIFO manner.

11. The computing method of claim 9 , wherein the first pointer is separate from the second pointer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2011
From: RYU, SOO-JUNG; PARK, SUNG-BAE; SEO, WOONG; CHO, YOUNG-CHUL; KIM, JEONG-WOOK; CHUNG, MOO-KYOUNG; KIM, HO-YOUNG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 026520/0213 →
Priority Claims (1)
KR 10-2010-0111743 · Nov 10, 2010 · national
Continuity (1)
Related Publication 20120113128A1 · May 10, 2012