[완료]Memory의 실제 논리적 구성과 실제 addressing의 차이점이 궁금합니다.

nicemuy의 이미지

제가 요새 하드웨어 공부를 하게되면서 Memory의 구조를 스치듯(?)이 보았는데, 상당히 이해가 안가는 점이 있어서 질문남겨 봅니다ㅠㅠ

우선은 제가 본 메모리의 대략적인 구조 그림이 아래와 같은데요...

이것이 32bit 컴퓨터에서는 address라인과 data라인이 전부 32bit라고 합니다. 여기서 제가 궁금한점이, 그림에 따르면 32bit 컴퓨터에서 address가 0x00 00 00 00에서 data를 실제 32bit를 읽어오고 0x00 00 00 01에서도 data를 32bit 읽어오고 이렇게 되야하는데,

실제 고급언어로 프로그래밍할때 int A[2]; 라는 정수형 배열의 주소값이 A[0] = 0x00 00 00 00 이고 A[1] = 0x00 00 00 04 라는 사실이 저를 너무 괴롭게 합니다...ㅠ(int가 4바이트라고 했을시) 한 주소값에서 32bit를 한번에 읽어 올 수 있으면, 당연히 A[0] = 0x00 00 00 00

이고 A[1] = 0x00 00 00 01이어야 되는것 아닌가요?? 그러나 실제 프로그래밍을 해보면 사실상 주소값하나에 마치 1바이트만 읽어오는 듯이 보이는데, 이게 왜이런지 도무지 모르겠습니다...!

File attachments: 
첨부파일 크기
Image icon 2.jpg41.16 KB
Image icon 3.jpg37.84 KB
Image icon 1.jpg25.52 KB
aruee의 이미지

address 단위는 1byte 가 맞습니다.
data line 이란건 "한번에 전송 가능한 data크기" 일 뿐입니다.
따라서 실제주소 0x00 00 00 00 에서 읽게되면 0x00 00 00 00 ~ 0x00 00 00 03 까지 읽을 수(!) 있는것이고, 어디까지를 프로그램에서 사용할 지는 그 다음 문제지요.

data line의 크기가 중요한건 프로그램의 효율 또는 속도 문제가 걸려있기 때문인데, 만일 data line이 1byte 라고 하면, 32bit을 읽기 위해서는 4번 읽어야하니까.. 이미 속도가 4배 차이 나게 되죠. (32bit 머신에 비해서..)

최근 프로그램들은 기본적으로 처리하는 data단위가 커지니까 64bit data 처리를 하는 CPU와 그 주변부로 넘어가고 있는 중이구요..

nicemuy의 이미지

맞는거군요...! 답변 감사합니다

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.