'메모리'에 해당되는 글 4건

  1. 2009.10.06 Little Endian 과 Big Endian
  2. 2009.09.01 메모리 단위
  3. 2007.10.17 Windos CE 5.0 vs. Windows Embedded CE 6.0 ch.1
  4. 2007.05.11 캐리비안 해적 usb sd 메모리
2009. 10. 6. 17:36

Little Endian 과 Big Endian



엔디안(Endian)이라는 단어 솔직히 컴퓨터 관련 업종에 있다보면 수없이 들어봤음직한 단어이다.
그런데도 갑자기 Endian 이 뭐냐고 물어보면... 뭐라고 해야하나?? -_-;;

간단히 말하면..
Endian이란 녀석.. 메모리란 1차원적인 공간의 데이터를 처리하기 위한 접근 방식이라고 하면 될려나??

일단 컴퓨터를 통해 무엇인가를 하려 한다면 메인 메모리에 접근을 해야만한다. 그런데 이 메인 메모리에 접근하는 데에도 방식이 있단다.
바로 Endian!!
이것이 헷갈리는 이유는 Endian이 하나가 아니고 두개라서(?) ㅋ

먼저 Big Endian 이란 녀석을 보자.
구글에서 검색을 하니 이런 사진이 검색이 되던데.. 설명하기에 좋은 사진인 듯 하다.
한 워드의 데이터가 메인 메모리 공간에 접근할 때, 데이터의 가장 상위 바이트가 메모리의 가장 낮은 주소로 접근하는 방식이다. 물론 데이터의 가장 하위 바이트는 메모리의 가장 큰 주소로 접근할 것이다.
이것이 Big Endian 이란 녀석이다.

Big Endian은 표현되는 순서가 사람이 보는 관점과 동일하다. 그렇기 때문에 디버깅이라든지 다른 작업시 메모리 값을 확인하기가 편하다.
예를 들어 0x12345678 이라는 값이 있다면, 각 메모리 주소에는 0x12, 0x34, 0x56, 0x78 이 들어있게 되는 것이다.

다음은 Little Endian..
Little Endian 은 Big Endian 과 정 반대의 접근 방식이라고 보면 된다.
한 워드의 데이터가 메인 메모리 공간에 접근을 한다면, 데이터의 가장 상위 바이트는 메모리의 가장 상위의 주소로 접근을 하고, 데이터의 가장 하위 바이트는 메모리의 가장 낮은 주소로 접근을 하게 된다.
위에서 예를 든 0x12345678을 Little Endian 식으로 표현을 하면 메모리 주소에는  0x79, 0x56, 0x34, 0x12 가 들어있게 된다.

Little Endian 이든 Big Engian 이든 한 바이트 단위로 접근을 한다면 아무런 문제 없이 사용할 수 있다. 하지만, 그 이상의 단위로 접근을 하게 될 때에 이를 잘못 사용한다면.. 뭐 정상적인 동작을 하지 않을 것이다.
컴퓨터란 녀석한테는 무지 중요한 개념(?) 중 하나인 것이다. 개념 컴퓨터... ㅋㅋ

뭐 당연한 이야기인가?? -_-;;

2009. 9. 1. 16:20

메모리 단위



나는 소프트웨어 쟁이였구나..
데이터 시트를 보고, 메모리 맵을 보고 0x~로 된 녀석들이 당최 한눈에 들어오질 않는다.

전 부터 한 번쯤 정리를 해야지 라고 생각만 하다가.. 오늘에서야 소원 성취한다.

1 byte

=

8 bit

=

0x0000 0001

1 KB

=

1024 byte

=

0x0000 0400

1 MB

=

1024 KB [(1024*1024)byte]

=

0x0010 0000

2 MB

=

2048 KB

=

0x0020 0000

4 MB

=

4096 KB

=

0x0040 0000

8 MB

 

 

=

0x0080 0000

16 MB

 

 

=

0x0100 0000

32 MB

 

 

=

0x0200 0000

64 MB

 

 

=

0x0400 0000

128 MB

 

 

=

0x0800 0000

256 MB

 

 

=

0x1000 0000

512 MB

 

 

=

0x2000 0000

1 GB

=

1024 MB

=

0x4000 0000

2GB

=

2048 MB

=

0x8000 0000



어떤 데이터 시트를 보면 Mbit 라고 되어 있는 애들도 있다.
이 녀석은 bit 단위로 계산을 해서 나온 녀석인데, 1Byte가 8bit 이므로 /8을 해주면 byte 단위로 알아 먹을 수 있다.

이렇게 정리를 하고나니 속이 다 시원하다 ㅎ
당최 알아먹기 힘들었던 bit의 세상에 눈을 뜬 기분!!


2007. 10. 17. 16:49

Windos CE 5.0 vs. Windows Embedded CE 6.0 ch.1


Windows Embedded CE 6.0을 회사에서 구매하는 바람에.. 기존의 Windows CE 5.0을 6.0으로 mirgration해야한다. 덕분에 공부할 게 생겨버렸고..

먼저 Windows CE 5.0에서 windows Embedded CE 6.0으로 넘어오면서 바뀐점은 무엇인가? 를 알아보자
가장 눈에띄는 점은 명칭이다. ^^;
Windows와 CE 사이에 Embedded라는 것을 넣어서 Embedded라는 것을 강조한 듯 하다.

가상 메모리구조와 프로세스등 많이 바뀌었다.

Windows CE 5.0의 경우..
2G의 커널, 2G의 프로세서를 위한 가상메모리를 지원하고, 최대 32개의 프로세스(슬롯이라 부르는 구조)를 생성할 수 있었다.
메모리는 유저 공간의 상위 반을 공유메모리로 사용하고, 모든 프로세서들에 의해 읽거나 쓰는 공간으로 사용되었다.

Windows Embedded CE 6.0의 경우..
프로세서당 2G의 가상 메모리를 지원하고, 최대 32,000 프로세스를 지원한다고 한다. 말이 32,000이지.. 이론상이다.
통합커널로 핵심적인 OS요소들을 커널공간으로 이동시켜 시스템 성능을 향상시켰다고 한다.

사용자 삽입 이미지
Windows CE 5.0과 Windows Embedded CE 6.0의 메모리 구조 차이

사용자 삽입 이미지
커널 메모리 공간

사용자 삽입 이미지
사용자 메모리 공간

이밖에도 중요 드라이버라든지, 파일시스템, graphical window manager등이 커널로 이동되었다.
사용자 삽입 이미지
새로 바뀐 OS구조

이로써 시스템 오버헤드가 감소하고, 유저 스페이스와 커널 스페이스간의 잦은 이동으로 인한 오버헤드등이 감소하는 등의 장점이 있다.

Windows CE 5.0과 Windows Embedded CE 6.0과의 시스템 호출 구조
사용자 삽입 이미지
Windows CE 5.0의 시스템 호출 구조

사용자 삽입 이미지
Windows Embedded CE 6.0의 시스템 호출 구조

참고 : MS웹캐스트 및 웹 자료..



2007. 5. 11. 19:44

캐리비안 해적 usb sd 메모리


여기 신기한 캐리비안 해적3 기념 usb와 sd 메모리 카드가 있다.
사용자 삽입 이미지

A-DATA에서 캐리비안의 해적 컨셉 USB 메모리와 SD 듀오 메모리 카드를 출시한다.
가격이나 용량은 아직 알려지지 않았고, 알려진건 디자인 뿐이다.

SD 듀오 메모리카드는 USB와 SD 카드 인터페이스를 같이 가지고 있는 메모리이다.
A-DATA는 USB, SD, MicroSD 세가지의 인터페이스를 가진 SD Trio라는 제품도 있다.

참고 : 기글 하드웨어 디지털 뉴스