목록컴퓨터 구조 (10)
안 쓰던 블로그
1. 코드(텍스트) 영역 유저가 작성한 소스코드가 들어가는 영역, 실행할 프로그램의 코드가 바이너리화 되어 저장된다 이곳의 명령 실행 순서는 순차적이지 않다. 왜냐하면 하이레벨 언어 구조가 jump, call 등을 많이 쓰기 때문이다 그래서 순서를 맞추기 위해 EIP 레지스터를 이용한다 EIP 레지스터는 다음에 실행할 명령의 메모리 주소가 저장되어 있는 레지스터로, 현재 실행 중인 명령어가 종료되면 프로세서는 자동으로 EIP 레지스터에 저장된 명령어를 실행한 뒤에 그 다음 명령어를 EIP에 저장한다 프로그램이 실행되면 EIP 레지스터는 코드 영역의 맨 처음 위치로 설정된다 이곳에는 진짜 코드만 저장하고 있기 때문에 쓰기가 금지되어 있다. 읽기만 가능하다 2. 데이터 영역 초기값이 있는 전역(global)..
MIPS 구조 1980년대 스탠포드대학에서 John Hennessy와 그의 동료들에 의해 개발됨 Silicon Graphics, Nintendo, Cisco의 제품에서 사용되고 있음 디자인 원리 1. 규칙적인 것이 간단성을 위해 좋음 (일관성있는 명령어 형태) 2. 많이 발생되는 사항을 빨리 처리함 (복잡한 명령어를 여러개 단순한 명령어로) 3. 적을수록 빠름 (32개의 레지스터가 1000개보다 빠름) 4. 좋은 설계는 좋은 절충안을 요구함 (융통성 제공, 적은 수의 명령어 유지) 설계원칙1: 규칙적인 것이 간단성을 위해 좋음 일관성있는 명령어 형태 같은 수의 피연산자 (두 개의 source와 한 개의 destination) 하드웨어로 구현하기 쉬움 명령어 addtion(더하기) subtraction(빼..
개념 주기억장치에 저장되어 있는 명령어와 데이터 중의 일부를 임시적으로 복사해서 저 장하는 장치 특징 -명령어와 데이터를 저장하고 인출하는 속도가 주기억장치보다 빠름 -자주사용되는명령들을저장하고있다가중앙처리장치에빠른속도로 제공 -느리게 동작하는 주기억장치와 빠르게 동작하는 중앙처리장치(CPU) 사이에서 속도 차이를 줄여주는 고속완충기억장치 -캐시기억장치의 용량에 의해 CPU의 가격이 결정됨 캐시 기억장치가 없는 시스템 1단계: CPU가 명령어와 데이터를 인출하기 위해서 주기억장치에 접근 2단계: 주기억장치에서 명령어나 필요한 정보를 획득하여 CPU내의 명령어 레지스터 등에 저장 주기억장치는 보조기억장치보단 빠르지만 중앙처리장치에 비해 매우 느리기 때문에, 둘 사이의 속도 차이를 맞추기 위해서 캐시기억장치..
1. 분기 명령어 실행의 흐름을 변경하거나 어떤 루틴을 호출하는 데 사용한다 -BRZ X (Branch if Zero): 조건 코드가 0이면 X로 분기 -BR X: 무조건 X로 분기 -BRE R1, R2, X (Branch if equal): 레지스터 R1과 레지스터 R2의 내용이 같다면 X로 분기 -BRP X (Branch if Positive): 조건 코드가 양수면 X로 분기 -BRN X (Branch if Negative): 조건 코드가 음수면 X로 분기 -BRO X (Branch if Overflow): 오버플로우가 발생하면 X로 분기 2. 서브루틴의 호출과 복귀과정 서브루틴: 사용자에 의해서 메인 진행 중에 다른 코드 블럭에 가서 어떤 작업을 처리하고 오는 것, 인터럽트와 반대되는 개념(시스템이..
메모리 구조 프로그램이 실행되면 OS가 메모리(RAM)에 공간을 할당한다 할당해주는 메모리 공간은 데이터, 코드, 스택, 힙의 4가지가 있다 1. 데이터 영역 전역변수와 static변수가 할당된다 프로그램 시작과 동시에 할당되며, 프로그램이 종료될 때 메모리가 소멸된다 2. 코드 영역 유저가 작성한 소스코드가 들어가는 영역, 실행할 프로그램의 코드가 저장된다 3. 스택 영역 프로그램이 자동으로 사용하는 임시 메모리 영역 함수 호출 시 생성되는 지역 변수와 매개변수가 저장되며, 함수 호출이 완료되면 메모리가 소멸된다 컴파일될 때 메모리 공간을 가짐 4. 힙 영역 프로그래머가 할당하고 해제하는 메모리 공간 이 공간을 동적 데이터 영역이라고도 하며, 여기에 메모리를 할당하는 것을 동적 할당이라고 한다 런타임 ..
1. 주소 지정 방식 주소: 주기억장치에서 데이터가 저장된 위치 주소 지정 방식: 주소를 지정하는 방식 1) 직접 주소지정 방식 가장 일반적인 개념의 간단한 주소 방식 주기억장치의 주소가 오퍼랜드 필드에 들어 있다면 직접 주소 지정 방식이다 (오퍼랜드: 연산코드가 아닌 나머지 부분) 오퍼랜드 필드의 내용이 유효 주소(EA)가 되는 방식 EA=A (EA=(A)가 실제로 이런 주소를 쓰진 않고 지정방식 설명 할 때 쓰는 표현방식인데 포인터 같은 것) 그냥 그 주소값 그대로 어떤 연산을 거치지 않고 바로 주기억장치에 가서 데이터 가져오면 된다 장점 한번만 엑세스: 위에 사진 보면 화살표가 한 번만 간다. 직접 접근하기 때문에 1번만 접근하면 된다 컴퓨터에서는 메모리가 데이터 처리 속도가 다 다르니까 속도를 맞..
컴퓨터에서 정보 표현 단위 -비트 Bit: 컴퓨터 정보표현의 기초 단위, 2진법에서 데이터 표현하는 단위 0과 1 -바이트 Byte: 비트들로 구성됨 1byte = 8bit -워드 Word: 바이트들로 구성됨 1word = 2Byte or 4Byte(컴퓨터 마다 다름) 진법 10진법: 인간이 사용하는 수의 체계, 0~9를 사용한다 2진법: 컴퓨터에서 사용하는 수의 체계, 0/1을 사용한다 16진법: 0~9, A,B,C~F까지 사용한다 ex) 10진수 12는 2진수로 1100이고 16진수로는 C다 10진수 20은 2진수로 0001 0100이고 16진수로는 14다 10진수 248은 2진수로 1111 1000이고 16진수로는 F8이다 10진수->부호 없는 2진수 변환 10진수 값을 2로 연속해서 나눈 나머지값..