본문 바로가기

Hardware/assembly language

2장(x86 프로세서 구조)

기본 마이크로컴퓨터 설계

CU(Control unit): 기계 명령어를 실행 하는데 수반되는 단계들의 순서를 조정한다

ALU(Arithmetic logic unit):덧셈, 뺄셈 AND OR NOT 와 같은 논리 연산을 수행한다

데이터에 대한 모든 처리는 CPU 내에서 이루어지며, 메모리에 있는 프로그램은 CPU로 복사되어야 실행할 수 있다.

데이터 버스: 명령어와 데이터를 전송한다.

입출력 버스: 입출력 장치 간에 데이터를 전송한다.

제어 버스: 시스템 버스에 부착된 모든 장치의 동작을 동기화하기 위하여 2진 신호를 사용한다.

주소 버스: 현재 실행 중인 명령어가 CPU와 메모리 간에 데이터를 전송 할 때 명령어와 데이터의 주소를 가지고 있다

 

명령어 실행 사이클

기계어 명령어를 실행하려면 인출(fetch), 해독(decode), 실행(excute)의 3가지 기본 단계가 필요하다.

인출: 제어 장치는 명령어 큐에서 다음 명령어를 인출하고 명령어 포인터(IP)를 증가시킨다

해독: 제어장치는 명령어가 무엇을 할지 결정하기 위해서 명령어의 기능을 해독한다.

실행: ALU는 명명된 레지스터와 내부 레지스터를 피연산자로 사용하여 명령어를 실행 하고 추력을 명명된 레지스터나 메모리로 보낸다. 컴퓨터는 가장 최근에 사용된 명령어와 데이터를 저장하기 위해서 고속 캐시 메모리를 사용한다.

 

캐시 적중: 데이터가 캐시에 있다는 것을 나타낸다

캐시 미스: 데이터가 캐시에 없어서 일반 메모리에서 읽어야 한다는 것을 나타낸다.

 

동작 모드

X86프로세서는 보호 모드, 실제 주소모드, 시스템 관리모드의 세가지 주요 동작 모드를 갖는다

보호 모드: 세그먼트라고 하는 분리된 메모리 영역이 주어지며 프로세서는 지정된 세그먼트 바깥의 메모리를 참조하는 것을 방지.

 

실제 주소 모드: 시스템 메모리와 하드웨어 장치에 직접 접근할 필요가 있는 MS-DOS프로그램을 실행하는 데 에 사용될 수 있다.

 

시스템 관리모드: 시스템 관리모드는 운영체제에 전원 관리와 시스템 보안과 같은 기능을 구현하는 방법을 제공한다.

 

기본적인 프로그램 실행 레지스터

AX: Accumulator register

BX: Base register

CX: Counter register

DX: Data register

BP: Base pointer

SP: Stack Pointer

SI: Source index

DI: Data index

상태 플래그, 부동소수점 장치는 향 후 뒷장에 자세히 나오므로 생략

 

메모리 관리

실제 주소 모드: 응용 프로그램은 시스템 하드웨어에 직접 연결되는 주소를 포함하여 어떠한 메모리 위치도 접근하는 것이 허용된다.

보호 모드: 보호모드에서 프로세서는 동시에 여러 개의 프로그램을 실행할 수 있다.

 

메모리

ROM: ROM은 영구적으로 칩에 구워지며 삭제될 수 없다.

EPROM: 자외선으로 느리게 지워지고 다시 프로그램 될 수 있다.

SRAM: 값비싼 고속 캐쉬 메모리용으로 사용된다

 

X86프로세서들은 복잡한 명령어 집합(CISC) 접근 방법에 기반을 두고 있다.

인텔 명령어 집합은 데이터에 대한 강력한 주소 지정방법과 비교적 고급의 복잡한 동작을 하는 명령어들을 갖고 있다.

마이크로프로세서 설계에 대한 완전히 다른 접근 방법이 축소 명령어 집합 이다.

RISC 기계어 명령어는 프로세서가 빠르게 실행할 수 있는 비교적 적은 수의 짧고 간단한 명령어로 구성된다.

 

페이징: 11장 메모리 관리에 아주 자세히 설명되어 있음…….

 

** 즉 2장에 내용이 11장에 나오는 것처럼 파이프로 계속 보는게 중요하다는 것을 알 수 있다.

11장 읽고 다시 2장 읽으면 느낌이 다름…

'Hardware > assembly language' 카테고리의 다른 글

5장(프로시저)  (0) 2019.12.22
4장(데이터 전송, 주소지정과 산술연산)  (0) 2019.12.22
3장(어셈블리 언어의 기초)  (0) 2019.12.22
1장(기본 개념)  (0) 2019.12.22