본문 바로가기

CS/컴퓨터 구조14

다양한 입출력 방법 [혼공컴구] 1. 프로그램 입출력 - 프로그램 속 명령어로 입출력장치를 제어하는 방법입니다. - 입출력 명령어를 만나면 CPU는 입출력장치에 연결된 장치 컨트롤러와 상호작용하면 입출력 잡업을 수행 - 메모리 맵 입출력 - 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 하나의 주소 공간으로 간주하는 방법 - 1024개의 주소를 표현하는 공간에 512는 메모리를 위한 공간, 512는 입출력을 위한 공간으로 할당 - CPU는 메모리의 주소들이나 장치 컨트롤러의 레지스터들이나 모두 똑같이 메모리 주소 대하듯 할 수 있음 - 따라서 메모리와 입출력 장치에 접근하는 명령어도 다르게 쓸 필요가 없음 - 고립형 입출력 - 메모리를 위한 주소 공간과 입출력장치를 위한 주소 공간을 분리 - 입출력과 메모리.. 2023. 11. 30.
장치 컨트롤러와 장치 드라이버 [혼공컴구] 1. 장치 컨트롤러 - 입출력 장치는 다루기 어려움 - 입출력 장치에는 종류가 너무 많음 - 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮음 - 전송률 - 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표 - 전송률의 차이가 CPU, 메모리, 입력장치 간의 통신을 어렵게 함 - CPU와 입출력장치 간의 총신 중개 - 자신과 연결된 입출력장치에 문제는 없는지 오류를 검출 - 데이터 버퍼링 - 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방법 - 버퍼에 데이터를 조금씩 모았다가 한꺼번에 내보내거나, 데이터를 한 번에 많이 받아 조금씩 내보내는 방법 - 데이터 레지스터 - CPU와 입출력장치 사.. 2023. 11. 30.
RAID [혼공컴구] 1. RAID - 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술 - 스트라입 - 줄무늬처럼 분산되어 저장된 데이터 - 스트라이핑 - 분산하여 저장하는 것 - RAID 0 - 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식 - 저장 장치 한개를 읽고 쓰는 속도보다 훨씬 빠른 속도를 가짐 - 하드 디스크 중 하나에 문제가 생긴다면 다른 모든 하드 디스크이 정보를 읽는 데 문제가 생길 수 있음 - RAID 1 - 복사본을 만드는 방식 - 미러링이라고도 부름 - 복구가 매우 간단함 - 데이터를 원본과 복사본 두곳에 쓰기 때문에 RAID0보다 느림 - 많은 양의 하드 디스크가 필요하게 되고, 비용이 증가 - RAID 4.. 2023. 11. 30.
플래시 메모리 [혼공컴구] 1. 플래시 메모리 - 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치 - 종류 - NAND 플래시 메모리 - NAND 연산을 수행하는 회로를 기반 - 직렬 구조 - 읽고 쓰는 속도가 NOR방식에 느리지만 대용량화가 쉬움 - NOR 플래시 메모리 - NAND 연산을 수행하는 회로를 기반 - 병렬 구조 - 읽고 쓰는 속도가 NAND방식보다 빠르지만 각 셀의 위치를 기억하고 있어야해서 대용량화가 어려움 - 셀 - 플래시 메모리에서 데이터를 저장하는 가장 작은 단위 - 타입 - SLC - 셀당 bit: 1bit - 수명: 길다 - 읽기/쓰기 속도: 빠르다 - 용량 대비 가격: 높다 - MLC - 셀당 bit: 2bit - 수명: 보통 - 읽기/쓰기 속도: 보통 - 용량 대비 가격: 보통 - TL.. 2023. 11. 30.