본문 바로가기

운영체제7

[컴퓨터 구조] 클럭, 스레드, 코어 1. 클럭 컴퓨터 부품들은 클럭 신호에 맞춰 움직인다CPU는 명령어 사이클에 맞춰 명령어 실행클럭 속도가 높으면 CPU는 명령어 사이클 더 빠르게 반복클럭 속도가 높은 CPU가 성능 더 좋음 일반적으로!클럭 속도는 Hz(헤르츠) 단위로 측정1초에 클럭 몇 번 반복되는지 나타냄 -> 즉, 1초에 100번 반복한다면 100Hz내 컴퓨터 CPU의 클럭 속도는? 언리얼 돌리다 보면 데탑이 엄청 뜨거워지는데, 이건 클럭속도가 빨라져서 CPU에 무리가 가서 임 2. 코어와 멀티코어CPU 성능은 어떻게 높이는가?CPU는 명령어를 실행하는 부품내 겜트북은 8코어! -> 명령어 실행하는 부품이 8개코어가 여러개 있는 CPU를 멀티코어 or 멀티프로세서 라고 부름8개짜리는 옥타코어라고 부름코어가 8개라고 속도가 8배 빨라.. 2024. 8. 12.
[컴퓨터 구조] 명령어 사이클과 인터럽트 1. 명령어 사이클프로그램 속 각 명령어들은 일정 주기 반복하며 실행함이 주기가 곧 명령어 사이클!명령어를 메모리에서 CPU로 가져온다(인출 사이클 == Fetch Cycle)-> 명령어 실행한다 (실행 사이클 == Execution Cycle) 간접 사이클(Indirect Cycle)?바로 실행 사이클 돌입할 수 없을 때가 있는 사이클임예) 간접주소지정방식에서 명령어 실행하려면 메모리 접근 한 번 더 해야 함! 2. 인터럽트?방해하다, 중단시키다CPU의 작업을 방해하는 신호CPU가 수행 중인 작업은 방해를 받으면 중단될 수 있음 동기 인터럽트?CPU에 의해 발생하는 인터럽트예외라고도 부름(Exception)비동기 인터럽트? (asynchronous interrupts)주로 입출력장치에 의해 발생하는 인.. 2024. 8. 9.
[컴퓨터 구조] 레지스터 1. 꼭 알아야 할 레지스터 8가지프로그램 카운터명령어 레지스터메모리 주소 레지스터메모리 버퍼 레지스터플래그 레지스터범용 레지스터스택 포인터베이스 레지스터 1.1 프로그램 카운터?PC 프로그램 카운터는 메모리에서 일을 명령어의 주소 저장명령어 포인터(IP : Instruction Pointers)라고도 부름1.2. 명령어 레지스터?IR(Instruction Register)은 해석할 명령어를 저장하는 레지스터제어장치는 명령어 레지스터 속 명령어를 받아서 해석하고 제어신호를 보냄1.3. 메모리 주소 레지스터?MAR(Memory Address Register)는 메모리의 주소를 저장하는 레지스터CPU가 읽을 주소 값을 버스로 보낼 때 메모리 주소 레지스터 거침1.4. 메모리 버퍼 레지스터?MBR(Memory.. 2024. 8. 8.
[컴퓨터 구조] CPU 작동 원리1 : ALU 1. ALU와 제어 장치1.1. ALU (산술논리연산장치)ALU는레지스터에게 피연산자를 받음제어장치에게 제어신호(수행할 연산)를 받음연산 수행 결과는 숫자 or 문자 or 메모리 주소이 결과 값은 메모리 저장 전 일시적으로 레지스터에 저장됨 CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도 보다 훨 느림ALU가 연산 시 마다 결과를 메모리에 저장한다면?-> CPU는 메모리에 자주 접근하게 되고, 프로그램 실행 속도도 늦추게 됨.--> 즉, ALU의 결과 값을 레지스터에 우선 저장함 ALU가 내보내는 것결과 값( to 레지스터)플래그 (to 플래그 레지스터)이진수로는 음수인지 양수인지 확인X-> 구분 위해 플래그 사용연산 결과 너무 크면 결과 값 너무 크다고도 알려줌->ALU 연산 결과가 연산 결.. 2024. 8. 6.
[컴퓨터 구조] 명령어와 명령어의 구조 1. 소스 코드와 명령어모든 소스코드는 컴 내부에서 명령어로 변환됨이 언어가 어떻게 명령어가 되어 실행되는가?1.1. HighLevel 언어와 LowLevel언어고급 언어사람을 위한 언어대부분의 프로그래밍 언어가 고급언어임저급 언어컴이 직접 이해, 실행 가능한 언어기계어기계어는 0, 1의 명령어 비트로 이루어진 언어임즉, 기계어는 0, 1로 이뤄진 명령어 모음어셈블리어기계어를 읽기 편한 형태로 번역한 언어1.2. 컴파일 언어와 인터프리터 언어고급 언어는 어떻게 저급 언어로 변환되는가?컴파일 방식인터프리트 방식컴파일 언어컴파일 언어는 컴파일러로 소스코드 전체가 저급언어로 변환되어 실행되는 고급언어임대표적 예시 : C언어컴파일러가 소스 코드(고급언어) → 목적코드(저급언어)로 바꿔주는 게 컴파일임오류가 1개.. 2024. 8. 3.
[컴퓨터 구조] 2진수, 16진수, 인코딩 1. 0과 1로 숫자 표현하기1.1. 정보 단위0과 1을 나타내는 가장 작은 정보 단위 == bit1 byte == 8bit1 kB == 1,000 byte == 1,024 byte1MB = =1,000 kB1GB == 1,000 MB1TB == 1,000 GB1.2. 이진법이진법(binary)0, 1로 숫자를 표현하는 방법십진법 (decimal)0 ~ 9 로 표현1.3. 이진수의 음수 표현2의 보수 (two’s complement)를 구함보수가 뭐냐?어떤 수를 그 보다 큰 2n승에서 뺀 값좀 더 쉽게 말하자면 모든 0과 1 뒤집고, 거기에 1 더하면 됨!ex) 11 (2) 의 음수는 ?00으로 바꿔주고, 1 더하면 → 01 (2)컴 내부에서 는 양수, 음수 구분 위해 플래그(flag) 사용flag는 부.. 2024. 7. 31.