질문
안녕하십니까? 교수님의 저서의 “메모리 구조”편을 보면.. 그럼... 좋은 밤 되십시요...!!! 저는 기회가 있을 때마다 공학이나 기술에서 용어가 중요함을 강조해왔습니다. 용어를 정확히 이해하지 못하면 그 다음에는 아무 것도 제대로 할 수 없습니다. 뿐만 아니라 다른 사람과 대화도 안됩니다. 같은 용어를 놓고 말하는 사람과 듣는 사람이 다른 뜻으로 생각한다면 대화가 될 수 없으며, 더구나 기술의 세계에서는 큰 일이 나지요. 하지만, 무릇 기술 용어라는 것은 한두개도 아니고 시대적으로 계속 변하거나 새로 생겨서 이것들이 모두 사전이나 교과서에 실려 있지도 않을 뿐 아니라 실려 있다고 하더라도 그 의미가 정확하다고 보장되지 못합니다. 따라서, 아주 일반적이고 교과서적으로 정착된 용어가 아니라면 이를 일일이 사전적으로 찾아서 이해하기란 여간 어려운 일이 아닙니다. 이러하기 때문에 많은 경우 용어의 의미는 문맥 속에서 찾아내야 합니다. 눈치가 중요하다는 말입니다. 아니, 눈치는 물론 코치, 발치까지 동원해야 합니다. 이러한 예리한 감각과 많은 생각, 많은 경험이 추가되면 거의 대부분의 용어는 그냥 보면 알게 됩니다. 그런 것을 인생에서는 경륜이라 하고 기술의 세계에서는 경력이라고 하며, 그런 경력이 풍부한 사람을 고수라 할 수 있겠지요... 어쨌거나, 그럼 먼저 "레지스터 파일"이라는 용어를 살펴 보십시다. 종래의 마이크로프로세서에서는 기껏해야 몇개 정도의 레지스터를 가지고 있었습니다. 이런 몇개의 레지스터는 그냥 레지스터일 뿐이지 이를 레지스터 파일이라고 부르지는 않습니다. 그러다가, 8051과 같이 마이크로콘트롤러들이 등장하면서 CPU 소자의 내부에 수십 바이트에서 수 킬로 바이트에 이르는 SRAM이 내장되었습니다. 이는 단지 데이터 메모리이지 레지스터는 아닙니다. 이렇게 설명을 하는데, 여기서 또 데이터 메모리와 레지스터는 뭐가 다르냐고 묻고 들어오면 답답해집니다. 데이터 메모리는 그냥 데이터를 저장하는 메모리일 뿐입니다. 각 메모리의 위치는 어드레스로 지정합니다. 하지만, 레지스터는 똑같이 SRAM이기는 하지만 일반적으로 번지가 아니라 이름을 가지지요. 그리고, 단순히 데이터를 저장하는 기능만 가지는 것이 아니라 처리 기능을 가집니다. 이를테면 데이터 메모리에서는 연산을 상상하기 어렵지만 레지스터에서는 연산이 가능하다는 것입니다. 그러면 다음에는 "메모리 뱅크"라는 용어를 살펴 봅시다. 이는 기본적으로 메모리 영역을 블록으로 나눈 것을 지칭합니다. 하지만, 대부분의 경우 메모리 영역을 그냥 나눈 것을 임의로 뱅크라고 부르지는 않습니다. 동일한 번지가 여러 쌍 존재할 때 이 하나하나를 뱅크라고 부르지요. 예를 들어 8051의 경우를 보면 외부 메모리 영역이 0000H~FFFFH 번지에 64KB의 프로그램 메모리가 존재합니다. 그런데, 동일한 0000H~FFFFH 번지에 데이터 메모리도 존재할 수 있습니다. 이때 프로그램 메모리와 데이터 메모리는 각각 메모리 뱅크라고 부를 수 있습니다. 결론적으로 다시한번 강조합니다. 아주 교과서적인 용어가 아니라면 기술용어의 의미는 현재 보고 있는 책 안에서 찾아 이해하십시오. 기본적인 지식과 눈치, 코치를 동원하면 충분히 알 수 있게 되어 있습니다. 그렇게 알되 결코 설렁설렁 엉터리로 알아서는 안됩니다. 눈치로 때려잡아 알더라도 정확하게 알아야 합니다. |
출처 : http://cpu.kongju.ac.kr/ezboard/ezboard.cgi?db=qa_80196_2000&action=remote&page=1&num=12&dbf=200302040001
http://cpu.kongju.ac.kr
'나머지 > IT개발.잡다한것.' 카테고리의 다른 글
vi plugin taglist설치 (0) | 2012.04.20 |
---|---|
VI 와 VIM 차이, '빔'과 '브이 아이' 에디터 차이점; Unix Editor Difference (0) | 2012.04.20 |
크로스 컴파일러 (0) | 2012.04.19 |
bash_profile을 찾을수가 없었다.... (0) | 2012.04.19 |
MFC( extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, ) (0) | 2012.02.10 |