본문 바로가기

System/컴퓨터구조

컴퓨터구조1

  • 퓨터 시스템의 주요 구성요소

 

  • 컴퓨터 하드웨어의 구성

CPU

 

중앙처리장치

연산을 담당

 

메인 메모리

 

램(RAM)이라는 저장장치로 구성되는 메인 메모리는 컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역

프로그램 실행을 위해 존재하는 메모리

 

입출력 버스(Input/Output Bus)

컴퓨터를 구성하는 구성요소 사이에서 데이터를 주고 받기 위해 사용되는 경로

- 어드레서 버스 : 메모리의 몇번지에 있는 데이터를 가져갈 것인지에 대한 주소 전송

- 데이터 버스 : 데이터 전송

- 컨트롤 버스 : CPU가 원하는 바를 메모리에 전달할 때 사용(메모리가 원하는 바를 CPU에 전송)된다. 

 

  • CPU의 구성요소

 

 

ALU(Arithmetic Logic Unit)

 

- 연산을 담당한다.

- ALU가 처리하는 기본적인 연산은 산술연산(ex 덧셈, 뺄셈), 논리연산(ex AND, OR)이 있다.

 

컨트롤 유닛(Control Unit)

 

CPU가 처리해야 할 명령어를 해석하고, 그 결과에 따라 적절한 신호를 CPU의 다른 블록에 보내는 일을 한다.

 

CPU 내부에 존재하는 레지스터들(Register Set)

 

- 임시적으로 데이터를 저장하기 위한 조그마한 메모리 공간

- CPU 내부에 존재하는 2진 데이터 저장을 위한 저장장치

- CPU 내부에 여러 개가 존재하는데 CPU의 종류에 따라 그 개수와 형태가 다양

- 각각의 용도가 정해져 있는 것이 일반적이고, CPU가 연산을 하기 위해 반드시 필요

 

버스 인터페이스(Bus Interface)

 

- 버스가 어떻게 데이터를 전송하는지, 그에 대한 프로토콜 혹은 통신방식을 알고 있는 것

- CPU는 버스 인터페이스를 통해 CPU 내부에 저장되어 있는 데이터를 I/O 버스에 실어보내기도 하고, I/O 버스를 통해 전송되어 오는 데이터들을 수신하기도 한다.

 

클럭 신호(Clock Pulse)

 

- 클럭발생기에 의해 발생되는 클럭 신호는 CPU를 구성하는 요소 요소에 제공되며, 이 신호에 맞춰서 CPU가 일을 한다.

- CPU의 클럭 속도가 높으면 초당 처리하는 명령어의 개수가 많아지므로 컴퓨터의 전체적인 성능이 좋아진다.

- 클럭신호에 맞춰 일해야하는 이유는 동기화를 위해서이다.

+ 연산장치가 연산하는 속도와 출력장치가 데이터를 가져가는 속도가 일치하지 않으면 문제가 되는데 해결하는 방법은 속도가 느린 장치의 장단에 맞추는 것이다.

 

 

 

 

 

 

 

  • 프로그램 실행과정

단계 1 : '#' 으로 시작하는 지시자의 지시에 따라 소스코드를 적절히 변경

단계 2 : 소스코드는 컴파일러에 의해 어셈블리 코드로 번역

단계 3 : 어셈블리 코드를 바이너리 코드로 번역

단계 4: 프로그램 내에서 참조하는 함수나 라이브러리들을 하나로 묶는 작업을 수행

 

단계 1. Fetch : 메모리상에 존재하는 명령어를 CPU로 가져오는 작업

단계 2. Decode : 가져다 놓은 명령어를 CPU가 해석(컨트롤 유닛)

단계 3. Execution : 해석된 명령어의 명령대로 CPU가 실행

'System > 컴퓨터구조' 카테고리의 다른 글

컴퓨터구조2  (0) 2019.05.31