컴퓨터 구조와 운영체제/컴퓨터 구조

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 입출력 장치 - 입출력 방법

CPU와 장치 컨트롤러가 정보를 주고 받는 방법은 크게 3가지가 있다. 1. 프로그램 입출력 프로그램 속 명령어를 통해 입출력 장치를 제어하는 방법 CPU가 장치 컨트롤러의 레지스터 값을 읽고 쓰면서 입출력이 이루어진다. 프로그램을 실행하다 입출력 명령어를 만나면 CPU는 입출력 장치와 연결된 장치 컨트롤러와 상호작용하여 입출력 작업을 수행한다. 메모리 정보를 하드 디스크에 저장(백업)하기 1) CPU가 하드 디스크 장치 컨트롤러(의 제어 레지스터)에 쓰기 명령을 보낸다. 2) 장치 컨트롤러는 하드 디스크의 상태를 확인하여 상태 레지스터에 준비된 상태임을 표시한다. 3) CPU가 주기적으로 상태 레지스터를 확인하다가 장치가 준비된 상태가 되면, 저장할 데이터를 데이터 레지스터에 쓴다. 입출력 장치의 종류..

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 입출력 장치 - 장치 컨트롤러, 장치 드라이버

입출력 장치 컴퓨터와 연결되어 컴퓨터 외부에서 내부와 데이터를 주고 받을 수 있는 장치 모니터, 스피커, 키보드, 마우스, 헤드셋, 프린터 등 입출력장치의 종류는 다양하고 장치마다 속도, 데이터 전송 형식 또한 다르다. 이렇게 다양한 입출력장치들과 정보를 주고 받는 형식을 규격화 하기가 어렵다. 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다. * 전송률 : 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표 1. 장치 컨트롤러 위와 같은 이유들로 인해 입출력장치는 장치 컨트롤러를 통해 컴퓨터 내부와 연결되어 정보를 주고 받는다. 우리는 이를 입출력 제어기(I/O controller, I/O module)이라고도 한다. 1) 장치 컨트롤러의 역할 CPU와 입출력장..

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 보조기억장치 - RAID

1. RAID(Redundant Array of Independent Disks)란 하드 디스크, SSD 같은 저장장치를 효율적으로 사용할 수 있는 방법 데이터의 안정성 또는 성능을 위해 여러 개의 물리 보조기억장치들을 하나의 논리 보조기억장치처럼 사용하는 기술 2. RAID의 레벨 RAID를 구성하는 기술 RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6, RAID 10, RAID 50 등이 있다. 1) RAID 0 데이터를 단순히 나누어서 저장하는 방식 하드 디스크를 번갈아 가면서 데이터를 저장한다. 저장되는 데이터가 하드 디스크의 개수만큼 나뉘어서 저장된다. 스트라이프(stripe) : 줄무늬처럼 분산되어 저장된 데이터를 뜻한다. 스프라이핑(strip..

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 보조기억장치

보조기억장치 대표적인 보조기억장치에는 하드 디스트와 플래시 메모리가 있다. - 하드 디스크 : HDD, CD, 플로피 디스크 - 플래시 메모리 : SSD, USB, SD카드 1. 하드 디스크 자기적인 방식으로 데이터를 저장하는 보조기억장치 참고 : https://whitesnake1004.tistory.com/273 1) 하드 디스크의 구성 요소 a) 플래터 N극과 S극으로 덮여있는 원판, 데이터가 저장되는 곳이며 일반적으로 양면을 모두 사용한다. b) 스핀들 플래터를 회전시켜준다. c) 헤드 스핀들이 플래터를 회전 시킬 때, 플래터에 코팅된 자성체를 소거를 하여 플래터에 있는 데이터를 읽고 쓰는 역할 플래터는 양면을 사용하기 때문에 헤드는 플래터의 2배가 필요하다. 연속된 정보는 한 실린더에 기록된다...

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 메모리와 캐시 메모리

1. 메모리 주기억장치(Main Memory)는 크게 RAM과 ROM으로 나눌 수 있고 우리가 주로 메모리라고 하는 것은 RAM을 뜻한다. RAM을 중점적으로 알아보자. 1) RAM이라는 하드웨어는 무엇인가? RAM(Ramdom Access Memory) : 사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치를 뜻하며, CPU가 연산을 하기 위해서 필요한 내용들이 저장된다. 그러면 ROM은 무엇인가? ROM(Read Only Memory) : 한 번 기록된 정보를 읽을 수만 있고 수정할 수 없는 기억장치를 뜻한다. 한번 기록한 정보는 전원 유무와 상관없이 기억되지만, 삭제나 수정이 불가능하다. 컴퓨터의 바이오스나 UEFI 같은 펌웨어를 저장하는 내장형 롬이나 게임기에 들어가는 게임 패키지를 담거나..

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] CPU

1. CPU란 CPU(central processing unit) : 중앙 처리 장치 메모리에 저장된 명령어를 읽어 해석하고 실행하는 장치 2. CPU의 구성요소 ALU(Arithmetic Logic Unit) : 계산(연산)을 수행하는 장치 제어장치 : 제어 신호를 발생시키고, 명령어를 해석하는 장치 레지스터 : 임시 저장 장치 3. CPU의 작동 원리 1) ALU ALU의 Input 레지스터로부터 피연산자를 받는다. 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받는다. ➡️ 받은 피연산자와 제어 신호를 가지고 산술, 논리 연산 등 다양한 연산 작업을 수행한다. ALU의 Output 연산을 수행한 결과(문자, 숫자, 혹은 메모리 주소)를 레지스터에 임시로 저장한다. 플래그 레지스터에 플래그를 보낸..

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 명령어

1. 명령어의 구조 [대상][수행할 명령어] 연산코드 + operand 연산코드 : 수행할 연산 데이터 전송 : MOVE, STORE, LOAD(FETCH), PUSH, POP 산술/논리 연산 : ADD, SUBTRACT, MULTIPLY, DIVIDE, INCREMENT, DECREMENT, AND, OR, NOT, COMPARE 제어 흐름 변경 : JUMP, CONDITIONAL JUMP, HALT, CALL, RETURN 입출력 제어 : READ, WRITE, START IO, TEST IO ➡️ CPU마다 연산코드의 종류나 개수가 다르다 operand : 연산에 사용될 데이터 혹은 데이터가 저장된 위치 ➡️ 더해라 , 1과 2를 여기서 연산코드는 더해라(흔히, sum..?) operand는 1과 ..

컴퓨터 구조와 운영체제/컴퓨터 구조

[컴퓨터 구조] 고급언어와 저급언어

1. 고급언어 개발자가 이해하기 쉽게 만든 언어 고급언어가 저급언어로 변환되는 방식에 따라 아래와 같이 2가지로 나뉜다. 1) 컴파일 언어 개발자가 작성한 소스 코드를 컴파일러를 통해 컴파일하여 저급언어(목적 코드)로 변환하는 언어 컴파일 : 컴파일 언어로 작성된 소스 코드를 컴파일러에 의해 저급 언어로 변환되는 과정 목적 코드 : 컴파일의 결과로 생성된 저급 언어 2) 인터프리터 언어 인터프리터에 의해 한 줄 씩 실행되는 언어 소스 전체가 저급 언어로 변환될 때까지 기다리지 않아도 된다. 컴파일 에러가 발생하면 소스 코드 전체가 실행되지 않는 컴파일 언어와는 달리, 인터프리터 언어는 오류 발생 전까지의 코드는 실행 된다. 2. 저급언어 컴퓨터가 이해하고 실행하는 언어 1) 기계어 이진수(0과 1)로 이..

github.com/hyunbenny/study
'컴퓨터 구조와 운영체제/컴퓨터 구조' 카테고리의 글 목록