CS/혼자 공부하는 컴퓨터구조와 운영체제 (8) 썸네일형 리스트형 07 - 보조기억장치 대중적인 보조기억장치로는 하드디스크와 플래시메모리가 있다. 다양한 보조기억장치 하드 디스크자기적인방식으로 데이터를 저장하는 보조기억장치.하드디스크의 구성 요소플래터 : 디스크에서 데이터가 실질적으로 저장되는 동그란 원판으로 저장 공간이다. 플래터는 자기 물질로 덮여 있어 수많은 N극과 S극을 저장한다. 각각 0과 1의 역할을 수행한다.스핀들 : 플래터를 회전 시키는 구성 요소. 플래터 중앙에 위치하여 플래터를 회전 시키는데 이 속도를 RPM으로 표현.헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소. 플래터 위에 미세하게 떠 있는 채로 데이터를 읽기,쓰기 한다.디스크 암 : 헤드를 원하는 위치로 이동시키는 구성 요소.플래터가 데이터를 저장하는 방식 트랙 : 플래터를 여러 동심원으로 나누었을 때 .. 06 - 메모리와 캐시 메모리 주기억장치에 RAM과 ROM 있다고 했는데, 여기서는 RAM 에 대해 먼저 정리한다그리고 캐시 메모리에 대해 정리한다. 06 - 1 RAM의 특징과 종류RAM의 특징 RAM에는 실행할 프로그램의 명령어와 데이터가 저장된다. RAM은 전원을 끄면 저장된 데이터와 명려어가 모두 날아간다. 그래서 휘발성 저장 장치라고 한다.전원이 꺼져도 유지되는 저장 장치는 비휘발성 저장 장치라고 한다. HDD, SSD, CO-ROM, USB 등이 있다.일반적으로 보조기억장치인 비휘할성 저장 장치에 보관을 하고 휘발성 장치에서 실행할 대상을 복사하여 저장한 뒤 그 데이터들을 가지고 프로그램을 실행한다.RAM의 용량과 성능RAM의 용량이 크면 저장할 수 있는 실행할 프로그램들의 데이터들이 많아 지기 때문에 그만큼 RAM이 보조.. 05 - CPU의 성능 향상 기법 05 - 1 빠른 CPU를 위한 설계 기법 클럭컴퓨터의 논리회로에 가해지는 전기 신호의 단위로 Hz 로 표현한다.즉, CPU의 속도를 나타내는 단위이며, 이는 일정하지 않다. 최대 클럭 속도를 강제로 끌어올리는 것을 오버클럭킹이라고 한다.클럭 속도를 계속 높이면 발열 문제가 심각해진다. 따라서 클럭 만으로 CPU 속도를 올리는 것은 한계가 있다.코어와 멀티 코어코어 : 명령어를 실행하는 부품이다. 즉, CPU 안에 코어가 8개 있다면 명령어를 실행하는 부품이 8개라는 뜻이다. 이렇듯 2개 이상의 코어를 가지고 있으면 멀티코어 CPU,프로세서라고 부른다.코어를 계속 늘린다고 연산 처리 속도가 비례 증가 하지 않는다. 따라서, 중요한 것은 코어마다 처리할 명령어들을 적절하게 분산시키는 것이다.스레드와 멀티 .. 04 - CPU의 작동 원리 04 - 1 ALU 와 제어 장치 ALU CPU 내부 계산을 담당한다.ALU가 받아들이는 정보피연산자 : 피연산자는 레지스터로부터 얻어온다.제어 신호 : 제어신호는 제어 장치로부터 얻어온다.ALU가 내보내는 정보결과 값 : 메모리로 바로 가지 않고 레지스터에 일시적으로 저장한다.플래그 : 플래그는 연산 결과에 대한 추가정보이다. 이 플래그는 플래그 레지스터에 저장된다.플래그 종류1. 부호 플래그 - 결과가 양수, 음수 인지 나타냄2. 제로 플래그 - 결과가 0인지 아닌지 나타냄3. 캐리 플래그 - 결과가 올림수나 빌림수가 발생했는지 나타냄4. 오버플로우 플래그 - 오버플로우가 발생했는지 나타냄5. 인터럽트 플래그 - 인터럽트가 가능한지 나타냄6. 슈퍼바이저 플래그 - 커널 모드, 사용자 모드 중 어떤.. 03 - 2 명령어 2 명령어는 연산 코드와 오퍼랜드로 구성 된다.명려어가 수행할 연산을 연산 코드, 연산에 사용할 데이터나 주소 를 오퍼랜드라고 한다.연산 코드는 연산자, 오퍼랜드는 피연산자라고도 부른다.연산 코드가 담기는 영역을 연산 코드 필드, 오퍼랜드가 담기는 영역을 오퍼랜드 필드라고 한다.기계어와 어셈블리어는 명령어라서 연산 코드와 오퍼랜드로 구성된다.오퍼랜드연산에 사용할 데이터나 데이터의 주소 값이다.대부분의 경우에는 메모리 주소 혹은 레지스터 이름을 담기에 주소 필드라고도 부른다.오퍼랜드는 하나의 명령어 안에 존재하지 않거나 다수 존재할 수 있다.가령 오퍼랜드가 없이 연산 코드만 있다면 >> ( 0 - 주소 명령어 )오퍼랜드가 하나 이면 >> ( 1 - 주소 명령어 ) 가 되는 것이다.연산 코드연산 코드는 말 그대.. 03 - 1 명령어 컴퓨터가 이해하는 정보에는 데이터와 명령어가 있다고 했다. 이 중 명령어에 대해 공부한다.모든 소스 코드는 컴퓨터 내부에서 명령어로 변환된다.오늘날 개발자가 사용하는 프로그래밍 언어는 대부분 고급 언어이다. 이는 C, C++, Java, Python 등등 다양하다. 허나, 이러한 고급 언어를 컴퓨터는 이해하지 못한다. 반대로 컴퓨터가 이해할 수 있는 언어는 저수준 언어이다. 그리고 이러한 저수준 언어는 명령어로 이루어져 있다. 그래서 우리가 사용하는 고급 언어로 프로그램이 실행되려면 반드시 저수준 언어인 명령어로 변환되야 한다. 저수준 언어에는 2가지 종류가 있는데, 기계어와 어셈블리어 이다. 기계어기계어란 0과 1의 명령어 비트로 이루어진 언어이다. 다만, 무조건 2진법으로만 표현하는 것은 아니고 16.. 02 - 데이터 컴퓨터가 이해하는 가장 작은 정보 단위 - 0과 1을 나타내는 가장 작은 정보 단위를 비트라고 한다.예로 2비트는 { 0 or1 } { 0 or 1} 로 총 4가지 정보를 표현할 수 있다.즉, n 비트는 2의 n 제곱 가지의 정보를 표현 가능하다.1바이트(byte) = 8비트1킬로바이트(kB) = 1000바이트1메가바이트(mb) = 1000킬로바이트1기가바이트(gb) = 1000메가바이트1테라바이트(tb) = 1000기가바이트Word워드는 CPU 가 한 번에 처리할 수 있는 데이터 크기를 의미한다만약 CPU 가 한 번에 16비트를 처리할 수 있다면 1워드는 16비트가 되고, 한 번에 32비트를 처리할 수 있다면 1워드는 32비트가 되는 것이다.정의되어진 워드의 절반 크기를 하프 워드, 1배 크기를 풀 워.. 01 - 컴퓨터 구조 시작하기 컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 하는 기본 지식이다.프로그래밍 언어의 문법만 알고 있는 사람에게 컴퓨터란 코드를 입력하면 알아서 결과물을 툭 내놓는 미지의 대상일 뿐이다. 결국 컴퓨터란 기계에 코드를 입력만 할 수 있을 뿐 그 이상을 하기 어렵다. 컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단하고, 문제 해결의 실마리를 다양하게 찾을 수 있다. 컴퓨터 내부를 거리낌 없이 들여다보며 더 좋은 해결책을 고민할 것이다.이것은 미지의 대상이 아닌 분석의 대상으로 컴퓨터를 바라볼수있다는 것이다. 웹사이트 서비스를 제공하기 위해서는 서버 컴퓨터가 필요하다.이러한 서버 컴퓨터는 가격별로 천차만별이다. 개인 컴퓨터를 산다면 가격, 최신 기종을 기준으로 삼아도 문제가 되지 않지만 서버 컴.. 이전 1 다음