{"componentChunkName":"component---src-templates-blog-post-js","path":"/CS/basic/","result":{"data":{"site":{"siteMetadata":{"title":"Progress Not Perfection","author":"Sunmin","siteUrl":"https://sunmin.netlify.com","comment":{"disqusShortName":"","utterances":"Sunmin0520/blog"}}},"markdownRemark":{"id":"3dc0162c-1e1b-538f-a2e7-8cfca9387dd7","excerpt":"1. 컴퓨터의 기본 구조 핵심부품: 메모리, 프로세서 CPU와 메모리에서 지속적으로 명령어와 데이터 읽고, 때떄로 출력값이나 중간계산을 메모리에 저장 메모리(RAM): Random Access Memory 컴퓨터가 수행해야 할 명령어를 써놓는 곳, 연산의 대상이 되는 데이터 저장  각 셀마다 미세한 데이터 저장 & 각 셀 구별 위한 주소 번호 매겨져 있음 메모리 셀 하나에 8자리의 이진수(byte) 저장 읽기 모드: 메모리가 셀에 저장된 바이트를…","html":"<P>\n<h1 id=\"1-컴퓨터의-기본-구조\" style=\"position:relative;\"><a href=\"#1-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B5%AC%EC%A1%B0\" aria-label=\"1 컴퓨터의 기본 구조 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. 컴퓨터의 기본 구조</h1>\n<ul>\n<li>핵심부품: 메모리, 프로세서</li>\n<li>CPU와 메모리에서 지속적으로 명령어와 데이터 읽고, 때떄로 출력값이나 중간계산을 메모리에 저장</li>\n</ul>\n<h2 id=\"메모리ram-random-access-memory\" style=\"position:relative;\"><a href=\"#%EB%A9%94%EB%AA%A8%EB%A6%ACram-random-access-memory\" aria-label=\"메모리ram random access memory permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>메모리(RAM): Random Access Memory</h2>\n<ul>\n<li>컴퓨터가 수행해야 할 명령어를 써놓는 곳, 연산의 대상이 되는 데이터 저장 </li>\n<li>각 셀마다 미세한 데이터 저장 &#x26; 각 셀 구별 위한 주소 번호 매겨져 있음</li>\n<li>\n<p>메모리 셀 하나에 8자리의 이진수(byte) 저장</p>\n<ul>\n<li>읽기 모드: 메모리가 셀에 저장된 바이트를 8가닥의 데이터 전선으로 출력</li>\n<li>쓰기 모드: 전선 통해 바이트 읽어서 지시된 셀에 넣음</li>\n</ul>\n</li>\n<li>bus: 한 덩어리의 데이터 전송에 필요한 전선의 모음(단방향인 주소버스, 양방향인 데이터 버스 등등)</li>\n</ul>\n<h2 id=\"프로세서cpu-central-processing-unit\" style=\"position:relative;\"><a href=\"#%ED%94%84%EB%A1%9C%EC%84%B8%EC%84%9Ccpu-central-processing-unit\" aria-label=\"프로세서cpu central processing unit permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>프로세서(CPU): Central Processing Unit</h2>\n<ul>\n<li>메모리에서 명령과 데이터를 읽어 그에 맞게 계산 </li>\n<li>\n<p><strong>register</strong>: CPU 내부의 메모리셀</p>\n<ul>\n<li>CPU는 레지스터에 저장된 수를 대상으로 간단한 수학 연산 수행 가능</li>\n<li>RAM과 레지스터 사이에서 데이터 교환 가능</li>\n</ul>\n</li>\n<li>\n<p><strong>instruction set</strong>(명령어 집합): CPU가 수행할 수 있는 모든 연산의 집합</p>\n<ul>\n<li>RAM에 저장되며, 실행순서에 따라 배열해서 코드 실행</li>\n</ul>\n</li>\n<li>\n<p><strong>program counter</strong>(PC레지스터): 다음에 수행할 명령어가 기록된 메모리의 주소를 가리키는 레지스터</p>\n<ul>\n<li>program counter를 중심으로 CPU는 메모리의 명령어 끊임없이 수행</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"2-컴파일이-필요한-이유\" style=\"position:relative;\"><a href=\"#2-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EC%9D%B4-%ED%95%84%EC%9A%94%ED%95%9C-%EC%9D%B4%EC%9C%A0\" aria-label=\"2 컴파일이 필요한 이유 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. 컴파일이 필요한 이유</h1>\n<br />\n<br />\n<p><strong>출처</strong> 블라드스톤 페헤이라 필루, 컴퓨터 과학 로드맵(인사이트, 2018)</p>\n</p>","frontmatter":{"title":"[CS] 컴퓨터의 동작 원리","date":"February 27, 2021"}}},"pageContext":{"slug":"/CS/basic/","previous":{"fields":{"slug":"/Database/RDBMS_NoSQL/"},"frontmatter":{"title":"[DB] RDBMS, NoSQL, 분산 데이터베이스","category":"database","draft":false}},"next":{"fields":{"slug":"/Retrospective/2021/Feb_4th/"},"frontmatter":{"title":"[회고] 2월 넷째 주 회고(2/22 ~ 2/28)","category":"retrospective","draft":false}}}},"staticQueryHashes":["3128451518","521680639"]}