Cute Running Puppy
반응형

cs/[OS] 혼자 공부하는 컴퓨터 구조 + 운영체제 20

[혼공컴운] chatper 08. 입출력 장치

08-1. 장치 컨트롤러와 장치 드라이버 장치 컨트롤러 입출력 장치는 너무 다양하다 cpu에 비해 속도가 매우 느리다 이러한 이유로 입출력 장치는 컴퓨터에 직접 연결되지 않고 장치 컨트롤러라는 하드웨어를 통해 연결된다 장치 컨트롤러는 입출력 제어기, 입출력 모듈 등으로 다양하게 불린다 위의 문제 해결 방법 cpu와 입출력장치 간의 통신 중계 오류 검출 데이터 버퍼링 : 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 공간에 저장하여 전송률을 비슷하게 맞추는 방법 장치 컨트롤러의 내부 구조 데이터 레지스터 cpu와 입출력 장치 사이에 주고받을 데이터가 담기는 레지스터 버퍼역할을 함 주고 받는 데이터가 많은 입출력 장치에서는 레지스터 대신 RAM을 사용 상태 레지스터 입출력 작업을 할..

[혼공컴운] chatper 07. 보조기억장치

07-1. 다양한 보조기억장치 하드디스크 자기 디스크의 일종으로 취급하기도 함 자기적인 방식으로 데이터를 저장하는 보조기억장치 탐색 시간: 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간 회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간 전송 시간: 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간 플래시 메모리 USB, SD카드, SSD 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반 저장 장치 07-2. RAID의 정의와 종류 RAID의 정의 여러 개의 물리적 보조 기억장치를 마치 하나의 논리적 보조 기억장치처럼 사용하는 기술 RAID의 종류 구성 방식에 따라 RAID 0~6으로 나뉨 - RAID 0 (striping) 같은 규격의 디스크를 병렬로 연결 (여러 디스크에 동시 접근)..

[혼공컴운] chatper 06. 메모리와 캐시 메모리

06-1. RAM의 특징과 종류 DRAM dynamic RAM 저장된 데이터가 동적으로 변하는(사라지는) RAM 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화(다시 저장) 해야 한다 소비전력이 비교적 낮고, 저렴하고, 집적도가 높기에 일반적으로 사용하는 메모리 SRAM static RAM 저장된 데이터가 변하지 않는 RAM 시간이 지나도 데이터가 사라지지 않음 (데이터를 재활성 할 필요 없음) DRAM 보다 일반적으로 속도가 빠름 SRAM도 전원이 공급되지 않으면 저장된 내용이 날아간다 SDRAM 클럭 신호와 동기화된 발전된 형태의 DRAM DDR SDRAM 최근 가장 흔히 사용되는 램 대역폭을 넓혀 속도를 빠르게 만든 SDRAM 한 클럭당 하나씩 데이터를 주고받을 수 있는 SDRAM을 SDS..

[혼공학습단 11기] 혼공컴운 2주차 미션

기본 미션 1. P.125 확인 문제 2번 문제 설명에 맞는 레지스터를 보기에서 찾아 빈칸을 채워보세요 [프로그램 카운터, 명령어 레지스터, 플래그 레지스터, 범용 레지스터] (1): 연산 결과 혹은 CPU 상태에 대한 부가 정보를 저장하는 레지스터 (2): 메모리에서 가져올 명령어의 주소를 저장하는 레지스터 (3): 데이터와 주소를 모두 저장할 수 있는 레지스터 (4): 해석할 명령어를 저장하는 레지스터 정답 (1) 플래그 레지스터 (2) 프로그램 카운터 (3) 범용 레지스터 (4) 명령어 레지스터 해설 반드시 알아야 할 레지스터 프로그램 카운터 (PC) 메모리에서 가져올 명령어의 주소 저장 (== 명령어 포인터) 명령어 레지스터 메모리에서 읽어 들인 명령어를 저장하는 레지스터 제어장치는 명령어 레지스..

[혼공 컴운] chapter 05. CPU 성능 향상 기법

05-1. 빠른 CPU를 위한 설계 기법 클럭 컴퓨터 부품들을 움직이는 신호 -> 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 더 빠른 박자에 맞추어 움직임 > 클럭 속도 Hz 단위로 측정 CPU로 속도 단위 클럭 속도가 높을수록 CPU의 성능이 좋음 클럭 속도는 일정하지 않다. 유연하게 속도를 변화시킬 수 있다. 오버클럭킹: 최대 클럭 속도를 강제로 끌어올리는 기법 클럭 속도를 무작정 높이면 발열 문제가 심각해짐 클럭 속도만으로 CPU의 성능을 높이는 것은 한계가 있음 코어와 멀티코어 클럭 속도를 높이는 방식 외에 CPU의 성능을 높이는 방법 -> CPU의 코어, 스레드 수 늘리기 > 코어 CPU 내부에서 명령어를 실행하는 부품 > 멀티코어 CPU (== 멀티코어 프로세서) CPU 내에..

[혼공컴운] chapter 04. CPU의 작동 원리

| 참고 도서: 혼자 공부하는 컴퓨터 구조+운영체제 04-1. ALU와 제어 장치 ALU CPU에서 계산을 하는 부품 레지스터를 통해 피연산자와 제어 신호를 받아들인다. 피연산자와 제어신호를 바탕으로 다양한 연산 수행 > ALU의 결과 값을 레지스터에 우선 저장하는 이유 CPU에서 레지스터에 접근하는 속도는 메모리에 접근하는 속도보다 빠르다 접근 속도를 줄여 프로그램의 실행 속도를 높이기 위해 메모리가 아닌 레지스터에 연산의 결괏값을 저장한다. > 플래그 (flag) 연산에 대한 추가적인 상태 정보 부호, 제로, 캐리, 오버플로우, 인터럽트, 슈퍼바이저 플래그 플래그는 플래그 레지스터에 저장된다. 플래그 레지스터를 통해 연산 결과에 대한 추가적인 정보를 얻을 수 있다. 제어장치 제어 신호를 내보내고, 명..

[혼공학습단 11기] 혼공컴운 1주차 미션

[혼공학습단 11기] 스터디 활동과 도서별 커리큘럼 안내 » 혼자 공부하는 책 (hanbit.co.kr) [혼공학습단 11기] 스터디 활동과 도서별 커리큘럼 안내 안녕하세요, 한빛미디어 혼공학습단의 🧙‍♀️혼공족장🧙‍♀️입니다. 혼공학습단 활동과 도서별 커리큘럼 안내 드립니다. 11기 활동 기간 1주차: 1월 2일 ~ 1월 7일 2주차: 1월 8일 ~ 1월 14 hongong.hanbit.co.kr 1주차 기본 미션 1. P.51 확인 문제 3번 다음 설명의 빈칸에 들어갈 알맞은 내용을 써 보세요 프로그램이 실행되려면 반드시 [ ___ ]에 저장되어 있어야 합니다. 정답 메모리 (P.40 참고) 해설 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다. 그렇기에 만약 프로그램이 실행되기..

[혼공컴운] chapter 03. 명령어

03-1. 소스 코드와 명령어 고급 언어와 저급 언어 고급 언어: 사람을 위한 언어 저급 언어: 컴퓨터를 위한 언어 예) 기계어, 어셈블리어 기계어: 0과 1의 명령어 비트로 이루어진 언어 고급 언어로 작성된 소스 코드는 반드시 저급 언어(명령어)로 변환되어야 한다 컴파일 언어와 인터프리터 언어 컴파일 방식: 소스 코드 전체를 저급 언어로 변환 -> 목적코드 생성 인터프리터 방식: 소스 코드를 한 줄씩 실행 목적 파일 vs 실행 파일 목적 파일: 목적 코드로 이루어진 파일 실행 파일: 실행 코드로 이루어진 파일 링킹: 목적 코드를 실행 코드로 변환하는 과정 03-2. 명령어의 구조 연산 코드와 오퍼랜드 명령어 = 연산 코드 + 오퍼랜드 연산 코드 (== 연산자): 명령어가 수행할 연산 오퍼랜드 (== 피..

[혼공컴운] chapter 02. 데이터

| 참고 도서: 혼자 공부하는 컴퓨터 구조+운영체제 02-1. 0과 1로 숫자를 표현하는 방법 정보 단위 비트 (bit): 가장 작은 정보 단위 바이트(byte): 8비트 킬로바이트(kB): 1000byte 메가바이트(MB): 1000kB 기가바이트(GB): 1000MB 테라바이트(TB): 1000GB 워드: CPU가 한 번에 처리할 수 있는 데이터의 크기 이진법 이진법: 0과 1으로 모든 숫자를 표현 하는 방법 음수 표현: 2의 보수법 + flag 사용 십육진법 이진법으로 모든 숫자를 표현하면 숫자의 길이가 너무 길어짐 & 이진법으로 변환하기 쉬움-> 십육진법으로 해결 15를 넘어가는 시점에서 올림 0x--으로 표시 이진수 -> 십육진수: 네자리씩 십육진수로 변환하고 이어 붙이기 십육진수 -> 이진수:..

[혼공컴운] chapter 01. 컴퓨터 구조 시작하기

| 참고 도서: 혼자 공부하는 컴퓨터 구조+운영체제 01-1. 컴퓨터 구조를 알아야 하는 이유 컴퓨터 구조 이해를 통해 문제 해결 능력 향상 성능/용량/비용을 고려하여 개발 가능 01-2. 컴퓨터 구조의 큰 그림 컴퓨터 구조 지식 컴퓨터가 이해하는 정보 컴퓨터의 네 가지 핵심 부품 컴퓨터가 이해하는 정보 데이터: 0 과 1로 이루어진 정보 명령어: 데이터를 움직이고 컴퓨터를 작동시키는 정보 => 명령어: 컴퓨터 작동 정보, 데이터: 재료 컴퓨터의 4가지 핵심 부품 중앙처리장치 (CPU) 주기억장치 (메모리 - RAM, ROM, ...) 보조기억장치 입출력장치 1. 메모리 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품 => 실행되기 위해서는 반드시 메모리에 프로그램이 저장되어 있어야 한다 주소:..