컴퓨터 구조 기초

라용·2022년 10월 24일
0

유튜브 기술노트 with 알렉 영상을 보고 정리한 내용입니다.

영상 내용 중 발췌

  • 컴퓨터 구조는 크게 CPU - 메모리 - 디스크로 구성되는데 이를 폰노이만 구조라고 한다.
  • CPU는 계산을 담당하는 프로세서로 대표적으로 실제 연산을 하는 ALU 라는 연산장치와 레지스터라는 기억장치, 이를 제어하는 명령 제어 장치로 구성된다.
  • CPU의 속도는 hz. 메모리나 디스크도 속도가 있긴 하지만 CPU의 속도가 성능에 더 연관성이 높다. 레지스터에 데이터가 들어가서 특정 계산을 하고 계산 결과를 다른 레지스터에 반납하고 결과값을 참조하는..
  • 메모리와 디스크는 둘 다 저장소인데 메모리는 CPU와 디스크 사이의 임시 저장공간이다.
  • 디스크에는 파일 단위 프로그램이 저장되어 있는데 요즘은 그런 프로그램의 크기가 크다. 그런 프로그램은 결국 어떤 명령어의 집합, 결국 그 명령어들이 수행되어서 프로그램이 구동되는 것. 그러려면 CPU에 해당 명령어들이 전달되어야 하는데 이를 한번에 올릴 수 없으니 일부만 메모리에 적재하고 개중 순서에 따라 CPU 에 올라간다.
  • 개발자들이 프로그래밍하며 작성한 코드를 컴퓨터는 바로 이해할 수 없다. 이를 컴파일 과정을 통해 컴퓨터가 이해할 수 있는 실행파일로 만들어야 하고, 이 실행파일이 디스크에 저장된다. 이 실행파일은 코드부와 리소스부로 구성되는데, 이를 실행할 때 이 코드부의 일부가 메모리로 전달되고, 관련 리소스를 참고한다. 그렇게 실행되어 모인 것은 명령어의 집합이고, 그 명령어 중 일부가 CPU로 올라가서 해당 명령어를 처리한다. 파일로 저장된 프로그램이 메모리로 올라가는 순간을 프로세스라고 하고, 이는 프로그램이 실행되고 있다고 말한다.
  • 프로세스와 프로세서는 다르다. 프로세서는 CPU 다. 컴퓨터는 여러개의 프로그램을 실행하므로 많은 프로세스가 있는데 프로세서가 하나일 경우를 가정한다면, 해당 프로세스에게 한번씩 기회를 준다. 하나씩 처리를 한다.
  • 프로세스가 여러개라면 특정 시간을 배분받아서 순서대로 실행되는데 이 시간 배분을 시분할이라고 하고, 프로세스에게 얼만큼 시간을 줄지 어떤 것을 먼저할지에 대한 관리를 스케줄링이라고 한다.
  • CPU의 스케줄링은 아주 중요한데, 가장 선호하는 방식은 선점형 스케줄링이다. 프로세스 중 우선순위가 높은 것을 먼저 해주는 방식이다. 그 외에 요청한 순서대로 처리하는 방식도 있다.
  • 메모리는 저장공간 관리가 핵심이다. 디스크로 갈 수록 저장공간에 대한 코스트가 낮아지지만, CPU 로 갈수록 비싸진다.
  • 프로그램의 모든 데이터를 메모리에 올릴 수 없으므로 일부를 올렸다 내렸다 하는데, 이때 어떤 프로세스에 어떤 데이터를 적재시킬지 관리해야 한다. 그것이 메모리 관리이고, 교체 알고리즘이다.
  • 이렇게 CPU 스케줄링, 메모리, 디스크를 관리하는 일을 운영체제가 한다. 여러 프로그램이 동시에 최적의 성능을 내도록 구동한다.

추가 용어 정리

  • CU - Control Uni, 명령 제어장치. 입력된 명령어를 해독해 cpu 내부 움직임 총괄. 주로 데이터를 메모리에서 ALU 로 옯기는 명령과 다시 메모리로 옯기는 명령 내림
  • ALU - Arithmetic Logic Unit, 산술연산장치. CU로부터 명령을 받아 cpu 로 들어온 데이터들을 산술연산, 논리연산 함.
  • Register - cpu 내부 저장장치로 주 기억장치인 램보다 빠른 속도로 cpu 에 정보를 제공. 용도에 따라 종류가 다양한데, 메모리에 인출될 명령어 주소를 가진 레지스터, 연산 결과를 임시 저장하는 레지스터, 현재 실행되고 있는 명령어를 기억하는 레지스터등이 있다.

참고 링크
CPU 구조 : 산술논리연산장치(ALU) , CU , 레지스터

profile
Today I Learned

0개의 댓글