SMALL
TOPIC : CPU 및 명령어 체제
1. CPU 중앙 처리장치
컴퓨터의 뇌, CPU에 따라서 컴퓨터의 성능이 좌지우지됨.
1-1. CPU의 기능 4가지
- 제어 - PC (Program Counter)와 Major State에 의해 제어됨.
- 연산 - ALU (Arithmetic Logic Unit)에 의해 처리. 수로 산술 및 논리연산
- 전달 - BUS, CPU와 ALU, 주기억장치와 주변장치를 연결시켜주는 통로
- 기억 - 레지스터, CPU에서의 임시기억장치
1-2. CPU의 구성
- 버스(BUS) : 명령 전달 기능 담당, 데이터 전달 통로. 종류에는 내부버스 · 외부버스가 있다.
- 내부버스 : 주로 컴퓨터 CPU내의 신호를 연결하는 통로
- 외부버스 : 구조 / 신호에 따라 구분된다.
- 구조에 따라 : I/O 버스, 신호 시스템
- 신호에 따라 : 데이터 버스, 주소 버스, 제어 버스
- PSW 상태 레지스터 (Program Status Word), 프로그램 상태를 워드 단위로 기록함. (1 Word = 4 Byte)
2. 명령어
한낱 인간의 언어를 콤퓨타님이 실행할 수 있도록
2-1. 명령어의 구성
① 명령 코드 라 써있는 부분은 연산자 OP-Code (Operation Code), 명령 지시부분을 의미하고, ② 오퍼랜드 주소 라 써있는 부분은 주소부 (Operand), 해당 데이터가 위치한 장소를 의미한다.
트리플머쉬룸와퍼를 내게 줘 | 식탁 위에 있는거 |
OP-Code (명령 지시부) | Operand (주소부) |
지금 보니까 영어 문법이랑 비슷하네 Toss me a hamburger which is on the table..
OP-Code에 위치한 명령어의 형식에 따라서도 속도가 다르다. (중요)
SI | RRI | ACI | MRI | MMI |
STACK | 레지스터 | 누산기(AC) | 메모리 | 메모리-메모리 |
왼쪽으로 갈수록 빠른 속도이며, 생각해보면 CPU는 레지스터로 이뤄져있고, 메모리는 일반 기억장치인데 중앙에서 처리하는 게 빠르겠냐 저장장치 까지 가서 명령 실행하는 게 빠르겠냐.
외울 땐 스람무~(SRAMM)
2-2. 명령어 해석
저급언어 (Machine Language) |
어셈블리어 (Assembly Language) |
고급언어 |
> 컴퓨터용 언어 (Bianary) > 단순하게 이뤄져있어 속도가 높다. |
>완벽한 저급언어는 아니지만 저급언어의 일종 >종류에는 두 가지. 1. Symbolic Language : 기계어와 1:1 대응되는 기호로 작성하는 언어 2. 매크로 : 단순 명령 반복 언어 |
> 사람용 언어 (Decimal) > 사람이 작성하므로 오류 수정, 작성 쉬우나 속도가 느림 > 따라서 컴퓨터가 이해하도록 바꿔주는 게 번역이고 이는 컴파일러와 인터프리터, 그리고 어셈블러가 담당함. |
위에서도 살펴봤듯, 사람의 명령을 컴퓨터가 실행하기 위해선 일련의 과정이 필요하다.
언어 번역과정은 다음과 같다.
언어 번역과정 : 원시프로그램 - 번역 - 목적프로그램(Binary) - 링커 - 로드모듈 - 로더 - 실행
- 중간에 있는 링커는 말 그대로 중간역할을 수행. 무슨얘기냐면 목적프로그램들 중 실행 가능한 애들을 뽑아서 로드모듈로 실행 가능하게 만들어줌. 이걸 로더가 실행시키는 것.
- 로더는 그럼 실행만 하나? - 그건 아니고, 주기억장치 쪽으로 실행하게 만들어주는 역할이고 기능은 다음과 같다.
- 할당 (Allocation)
- 재배치 (Relocation)
- 적재 (Loading)
- 연결 (Linking)
2-3. 언어 번역기의 비교
중간 매개자인 링커에게 선택받는 애들은 목적프로그램 (2진수, Binary). 원시프로그램을 번역해야만 목적프로그램이 될 수 있고, 이렇게 번역하는 데에는 위 고급언어에서 살펴봤듯 세 친구가 참여함.
- 컴파일러, 인터프리터 : 고급언어 → 기계어(Binary)
- 어셈블러 : 기계어(Binary) → 고급언어(Decimal)
고급언어에서 기계어로 바꾸는 컴파일러와 인터프리터는 각각 성질이 다르다.
컴파일러 | 인터프리터 |
> 대화형, 행단위 번역 > 목적프로그램을 생성하지 않는다. > 사용 언어는 BASIC, LISP |
> 전체를 한번에 번역해 속도가 빠르다 > 목적프로그램을 생성한다. > 사용 언어는 COBOL, Fortran |
LIST
'[공부] > [정보처리기사]' 카테고리의 다른 글
[필기] 정보처리기사 14강 (0) | 2021.03.12 |
---|---|
[필기] 정보처리기사 13강 (0) | 2021.03.11 |
[필기] 정보처리기사 11강 (0) | 2021.03.10 |
[필기] 정보처리기사 10강 (0) | 2021.02.22 |
[필기] 정보처리기사 9강 (0) | 2021.02.22 |