[TIL] 코드스쿼드 CS16 7일차
오늘의 활동
- 미션 구현(?)
- 코드리뷰는 내일
느낀 점
- 코드리뷰를 진행 못한 날은 오늘이 처음이다. 그룹원들 대부분이 나와 같이 발표할 준비가 안 되었고, 그 이유는 문제 구현이 상상 이상으로 까다롭기 때문이다.
- 학습저장소를 통해 다른 조들도 살펴 보니 우리 조와 다른 점이 거의 없었다. 반 이상은 구현을 시작 조차 못한 걸 보고 다행히 나만 많이 뒤쳐지는 게 아니라는 생각을 했다.
- 내일 스케줄이 있는 팀원이 있어서 오전에 로이가 발표하고, 오후에는 6시 전에 모여 발표하기로 했다.
- JK가 구현 원리를 알고, 참고자료를 보고 구현할 수 있으면 충분하다고 해서 그렇게 시도해보았지만 100%의 힌트를 얻기는 어려웠다.
- JK는 절대 남이랑 비교하지 말고 자신만의 길을 걸어가라고 하는데 그룹활동이다 보니 아무리 최면을 걸어도 난 그게 쉽지가 않다.. 🥲
dump of memory
- dump는 RAM의 모든 정보 콘텐츠를 가져와 스토리지 드라이브에 쓰는 프로세스이다. 즉, 특정 시점에서 컴퓨터 메모리 내용의 복사본이다.
- 충돌 또는 기타 문제의 원인을 식별하는 데 도움이 되므로 디버깅 목적에 유용할 수 있다.
fetch
- 컴퓨팅에서 “fetch”라는 용어는 일반적으로 메모리나 데이터베이스와 같은 특정 위치에서 무언가를 검색하는 프로세스를 나타낸다.
- 예를 들어, 컴퓨터의 메모리 계층 구조에서 CPU는 명령을 실행하기 위해 메인 메모리에서 명령을 “fetch”한다. 여기에는 CPU가 메모리 컨트롤러에 요청을 보내는 것과 관련되며 메모리 컨트롤러는 요청된 데이터를 메모리에서 검색하여 CPU로 다시 보낸다.
execute
-
컴퓨팅에서 “execute”라는 용어는 프로그램이나 명령을 실행하는 프로세스를 나타낸다.
- 일반적으로 프로그램 실행 프로세스에는 다음 단계가 포함된다.
- 프로그램은 운영 체제에 의해 메모리에 로드된다.
- CPU는 메모리에서 첫 번째 명령을 가져와 해독하고 명령 내용에 따라 수행할 조치를 결정한다.
- CPU는 지정된 작업을 수행하여 명령을 실행한다. 여기에는 계산 수행, 메모리의 데이터 액세스 또는 다른 하드웨어 또는 소프트웨어와의 상호 작용이 포함될 수 있다.
- CPU는 실행할 다음 명령을 찾을 위치를 알려주는 프로그램 카운터를 증가시킨다.
- 프로그램이 완료될 때까지 CPU가 가져오기, 디코딩 및 각 명령을 차례로 실행하면서 프로세스가 반복된다.
- “execute”라는 용어는 명령이나 요청에 대한 응답으로 컴퓨터가 취하는 모든 작업을 지칭하기 위해, 보다 광범위하게 사용될 수도 있다. 예를 들어 컴퓨터가 문서 인쇄 명령을 “execute”하거나 결과 목록을 반환하여 검색어를 “execute”한다고 말할 수 있다.
decode
- 컴퓨팅에서 “decode”라는 용어는 인코딩된 데이터를 원래 형식으로 다시 변환하는 프로세스를 나타낸다. 즉, 명령어를 분석해서 처리할 컨트롤 신호를 만든다.
- “decoding”은 데이터를 압축된 형태로 전송하거나 저장한 다음 필요할 때 검색하여 사용할 수 있기 때문에 컴퓨팅에서 중요한 프로세스이다.
CPU 명령어
-
CPU(중앙 처리 장치) 명령은 컴퓨터의 CPU가 실행할 수 있는 명령이다. 이러한 지침은 컴퓨터의 하드웨어에서 제공되며 기본 기능을 수행하기 위해 운영 체제 및 응용 프로그램에서 사용된다.
- CPU 명령은 다음과 같은 작업을 수행할 수 있다.
- 산술 연산 수행(예: 더하기, 빼기, 곱하기, 나누기)
- 논리 연산 수행(예: AND, OR, NOT)
- 값 비교(예: 두 값이 같은지, 크거나 작은지 확인)
- 메모리에 데이터 읽기 또는 쓰기
- 제어 구조(예: if-else, for, while)를 사용하여 실행 흐름 제어
- CPU 명령은 어셈블리 언어로 작성되며 일반적으로 컴퓨터가 이해할 수 있는 기계 코드로 컴파일되거나 해석된다. CPU가 실행할 수 있는 명령어 집합을 명령어 집합이라고 한다. CPU마다 명령어 세트가 다르며 사용 가능한 명령어는 CPU의 성능과 기능에 상당한 영향을 미칠 수 있다.
CPU 내부 구성요소
- CPU는 일반적으로 다음과 같은 몇 가지 다른 구성 요소로 구성된다.
- 산술 논리 장치(ALU): 더하기, 빼기, 비교와 같은 산술 및 논리 연산을 수행하는 CPU의 일부이다. 산술 논리 장치는 컴퓨터 중앙 처리 장치의 기본 설계 블록이다.
- 제어 장치(CU): 제어 장치는 메모리에서 명령을 가져와 해독하고 명령 내용에 따라 수행할 작업을 결정한다.
- 레지스터 세트: 처리되는 동안 데이터 및 명령을 임시로 저장하는 데 사용되는 CPU에서 사용할 수 있는 소량의 스토리지이다. 액세스 속도가 매우 빠르지만, 내부 회로가 복잡하여 큰 공간을 차지하기 때문에 CPU 내부의 레지스터 개수는 제한적이다. 용도에 따라 범용 레지스터와 특수 목적 레지스터로 구분된다.
- 캐시: 캐시는 자주 액세스하는 데이터 및 명령을 저장하는 데 사용되는 소량의 고속 메모리로, CPU가 더 빠르게 액세스할 수 있도록 한다.
- 버스 인터페이스 장치: 버스 인터페이스 장치는 시스템 버스를 통해 메모리 및 I/O 장치와 같은 시스템의 다른 구성 요소와 통신하는 역할을 한다.
- CPU의 특정 구성 요소 및 디자인은 특정 모델 및 아키텍처에 따라 다를 수 있다.
register
- 컴퓨터 아키텍처에서 레지스터는 CPU(중앙 처리 장치)에서 사용할 수 있는 소량의 저장소이다.
-
레지스터는 CPU에서 처리하는 동안 데이터와 명령을 임시로 저장하는 데 사용된다.
- 다양한 유형의 레지스터가 있으며 각각 특정 목적을 가지고 있다.
- 프로그램 카운터(PC): CPU에서 실행 중인 현재 명령의 주소를 보유하는 레지스터이다.
- 명령어 레지스터(IR): CPU에서 실행 중인 현재 명령어를 저장하는 레지스터이다.
- 범용 레지스터: 데이터를 저장하거나 중간 계산 결과를 저장하는 데 사용할 수 있는 레지스터이다.
- 부동 소수점 레지스터: 부동 소수점 숫자를 저장하고 조작하도록 특별히 설계된 레지스터이다.
- 상태 레지스터: 가장 최근 계산 결과 또는 프로세서의 현재 상태와 같은 CPU에 대한 상태 정보를 보유하는 레지스터이다.
- 레지스터는 메인 메모리보다 액세스 속도가 훨씬 빠르므로 CPU는 레지스터를 사용하여 빠르게 액세스해야 하는 데이터를 저장한다.
- CPU에서 사용 가능한 레지스터의 수와 크기는 성능에 상당한 영향을 미칠 수 있다.
PC (program counter)
- PC는 실행 중인 현재 명령의 주소를 보유하는 컴퓨터 CPU(중앙 처리 장치)의 레지스터이다.
- 각 명령어를 가져와 실행한 후 자동으로 증가하므로 CPU는 다음에 실행할 명령어를 알 수 있습니다.
- 명령 실행을 조정하고 프로세서 내 데이터 흐름을 관리하는 CPU 제어 장치의 중요한 부분이다.
- 실행 중인 프로그램의 현재 위치를 추적하고 다음에 가져올 명령을 결정하는 데 사용된다.
- 일부 아키텍처에서 프로그램 카운터는 프로세서의 현재 상태 또는 실행될 다음 명령의 주소와 같은 다른 정보를 저장하는 데에도 사용될 수 있습니다.
- 일부 CPU에는 기능이나 목적이 각각 다른 여러 개의 프로그램 카운터가 있을 수 있습니다.
- program counter는 종종 PC로 약칭되며 명령 포인터 또는 명령 주소 레지스터라고도 한다.
Leave a comment