23.09.06(수) Today I Learned

수업때 배운 내용을 복습할겸 정리해보려고 한다.

수업 목표 : 코드를 작성하면 컴퓨터가 어떻게 이해하는지 알기
내용 : 소프트웨어 공학에서 필요한 하드웨어 위주로 공부하기

컴퓨터 아키텍처(Computer Architecture)란?
컴퓨터 시스템의 구조와 동작 방식을 설명하는 개념이다.
컴퓨터 하드웨어와 소프트웨어 간의 상호작용을 이해하는데 중요한 역할을 한다.

컴퓨터 구조

컴퓨터의 구조는 크게 네가지로 나뉜다.

  1. CPU : 중앙 처리 장치로, 명령어를 실행하고 데이터를 처리하는 주요 구성 요소이다. 프로세서는 산술 논리 연산(ALU), 제어 유닛, 레지스터 등으로 구성된다.
  • Arithmetic Logic Unit / ALU (산술 논리 연산) : ALU는 컴퓨터의 CPU 내부에 위치하며, 모든 산술 연산(덧셈, 뺄셈, 곱셈 등)과 논리 연산(AND, OR, NOT 등)을 수행하는 컴포넌트이다.
  • Control unit (제어 유닛) : 제어 신호(control signal)라는 전기 신호를 내보내고 명령어를 해석하는 장치이다. 여기서 제어 신호란 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호이다.
  • Register (레지스터) : 레지스터는 CPU 내부에 위치한 매우 빠른 메모리로서, CPU가 현재 처리 중인 작업에 필요한 데이터나 명령어를 임시로 저장한다.
  1. Memory(주기억장치) : 메모리는 주로 RAM(Random Access Memory)을 의미하며, 컴퓨터가 현재 실행 중인 프로그램 및 작업에 필요한 데이터와 명령들을 일시적으로 저장하는 공간이다. RAM은 휘발성 메모리로서 전원이 꺼지면 저장된 모든 정보가 사라진다.
  2. 보조기억장치(Disk/SSD) : 비휘발성 저장 장치로서 전원이 꺼져도 데이터가 지속된다.
  3. 입출력장치 :
  • 입력 장치(Input Devices) - 키보드나 마우스처럼 사용자로부터 정보를 받아들여 컴퓨터 내부로 전달하는 장치이다.
  • 출력 장치(Output Devices) - 모니터나 프린터처럼 컴퓨터 내부의 정보를 사용자에게 전달하는 장치이다.

CPU와 캐시의 관계는 매우 밀접하다. CPU는 컴퓨터에서 연산을 수행하는 핵심적인 구성 요소이며, 
캐시는 CPU의 성능을 향상시키기 위한 중요한 역할을 한다.

캐시 메모리는 CPU와 주 메모리(RAM) 사이에 위치하여 작동하며, 자주 사용되거나 최근에 사용된 
데이터를 빠르게 접근할 수 있도록 임시로 저장하는 역할을 한다. 
이는 CPU가 필요한 데이터를 RAM에서 직접 가져오는 것보다 훨씬 빠른 속도로 데이터에 접근하게 해준다.

CPU가 필요한 데이터를 찾기 위해 먼저 캐시 메모리를 확인한다. 
만약 해당 데이터가 캐시에 있다면(이것을 '캐시 히트'라고 함), CPU는 바로 그 데이터를 가져와 
작업을 계속 진행한다. 반면, 해당 데이터가 캐시에 없다면(이것을 '캐시 미스'라고 함), 
CPU는 RAM에서 해당 데이터를 찾아야 하며, 이 과정은 상대적으로 많은 시간이 소요된다.

따라서 적절하게 관리되고 최적화된 캐시 시스템은 CPU의 성능과 전체 시스템의 효율성을 크게 향상시킬 수 있다. 

Register 종류 :

  • PC (Program Counter) : 다음 인출(Fetch) 될 명령어의 주소를 가지고 있는 레지스터

  • AC (Accumulator) : 연산 결과 데이터를 일시적으로 저장하는 레지스터

  • IR (Instruction Register) : 가장 최근에 인출된 명령어(현재 실행 중인 명령어)가 저장되어 있는 레지스터

Cache Memory : 캐시 메모리는 RAM과 CPU 사이에 위치하여 자주 사용되거나 최근에 사용된 데이터를 임시로 저장하는 공간이다. 이를 통해 CPU가 RAM에서 직접 데이터를 가져오는 것보다 훨씬 더 빠르게 필요한 데이터에 접근할 수 있다.

Hit Ratio : 히트 비율은 캐시 메모리에서 요청된 데이터를 성공적으로 찾은 비율을 의미한다. 예를 들어 100개의 요청 중 80개의 요청이 캐시에서 성공적으로 처리된 경우, 히트 비율은 80%이다. 컴퓨터의 성능을 알 수 있는 수치로, hit 수 / CPU에 의한 메모리 참조 수(주기억장치 포함) 이다.

System Bus : 시스템 버스는 컴퓨터 내부의 여러 구성 요소(CPU, 메모리 등) 간 정보를 전송하는 경로이다. 주로 데이터 버스(Data Bus), 주소 버스(Address Bus), 그리고 제어 버스(Control Bus) 세 가지 유형으로 나뉜다.

  • 데이터 버스(Data Bus): 실제 정보(데이터 및 명령어)가 전달되는 경로이다.
  • 주소 버스(Address Bus): 어느 위치의 메모리에서 정보를 읽거나 쓸 것인지 결정하는 주소 정보가 전달되는 경로이다.
  • 제어 버스(Control Bus): 시간 순서 제어 신호와 같은 다양한 제어 신호들이 전달되는 경로이다.
    이들 모두 컴퓨터 아키텍처에서 중요한 역할을 수행하며, 서로 상호작용하여 컴퓨터 시스템이 원활하게 동작하도록 한다.

0개의 댓글