Computer Science
[Computer Science] 컴퓨터 아키텍쳐와 운영체제 / Computer Architecture & OS
HongCorin
2022. 11. 22. 21:03
반응형
1. 개념
- Computer Architecture(컴퓨터 아키텍쳐)
: 컴퓨터의 여러 구성 요소를 배치하는 방법 - OS(Operating system, 운영체제)
: 프로그램들의 실행을 제어하기 위한 감독 프로그램
2. 기본 컴퓨터 구조
- 폰 노이만(von Neumann) 구조
- 메모리에서 동시에 명령어와 데이터를 가져올 수 없다.(데이터 버스와 주소 버스가 하나이다.)
- 하버드(Havard) 구조
- 동시에 명령어와 데이터를 가져올 수 있다.
3. 프로세서 코어
이전에 CPU 라고 부르던 것을 요즘은 "프로세서 코어(Processor Core)" 라고 부른다.
이런 코어가 여럿 들어가는 "멀티코어 프로세서(Multicore Processor) 가 이제는 일반적으로 쓰인다.
4. 마이크로프로세서 & 마이크로컴퓨터
- 마이크로프로세서(micro-processor)
- 메모리와 I/O가 프로세서 코어와 같은 패키지에 들어 있지 않은 프로세서
- 큰 시스템에 들어가는 부품으로 주로 쓰임
- 마이크로컴퓨터(micro-computer) / 마이크로컨트롤러(micro-controller)
- 모든 요소를 한 칩 안에 패키징한 것
- 가전제품이나 장난감에 주로 쓰이는 단일 칩으로 된 작은 컴퓨터
5. 프로시저 / 서브루틴 / 함수(Procedure / SubRoutine / Function)
- 코드의 반복을 피하기 위해 코드를 재사용하는 주요 수단
- 함수를 호출하는 부분에서 함수를 실행하고 다시 원래 자리로 돌아올 방법이 필요
=> 프로그램 카운터(program counter) 값
6. 스택(Stack)
- Last In First Out 구조 - 나중에 들어온 것이 먼저 나간다
- 함수가 자신이 전달받은 반환 주소를 나중에 사용하기 위해 스택에 저장할 수 있다.
- 지역 변수 값도 스택에 저장한다.
- 스택 프레임(Stack Frame) : 함수가 호출될 때마다 스택에 저장되는 데이터 모음
7. 인터럽트(Interrupt)
- 실행 중인 프로그램을 잠깐 중단시켜서 주의를 기울여야 하는 외부의 요소에 대응할 수 있도록 만든 시스템
- 인터럽트 시스템 작동 방식
- CPU가 주의를 기울여야 하는 주변장치가 인터럽트 요청(interrupt request) 생성
- 프로세서는 현재 실행 중인 명령어를 끝까지 실행 후, 현재 실행 중인 프로그램을 잠시 중단시키고
인터럽트 핸들러(interrupt handler = 함수)라는 전혀 다른 프로그램을 실행한다. - 인터럽트 핸들러가 필요한 작업을 마치면 원래 실행 중이던 프로그램이 중단된 위치부터 다시 실행을 계속한다.
- 고려 요소
- Interrupt 에 대한 응답 시간
: Interrupt 처리를 정해진 시간 안에 끝내야 한다. - Interrupt 를 service 후 다시 돌아오기 위한 현재 상태(state) 저장 방법
: 스택(stack)에 서비스 후 돌아올 프로그램 위치 저장
- Interrupt 에 대한 응답 시간
- 인터럽트 핸들러 주소를 저장하기로 약속한 메모리 주소가 존재해서 컴퓨터가 이를 찾는다.
- 이 주소에는 여러 인터럽트 벡터(interrupt vector) 가 들어 있고, 각 인터럽트 벡터는 CPU가 지원하는 각 인터럽트 핸들러 주소를 지정한다.
<출처>
- 위키백과
- 한 권으로 읽는 컴퓨터 구조와 프로그래밍 . 조너선 스타인하트