-
[정보처리기사]기사따기6일차_2과목_전자계산기구조_2_190131자격증/정보처리기사-합 2024. 11. 20. 22:59반응형
# 최초 등록일 : 2024년 11월 19일 23:30
# 최근 변경일 : 2024년 11월 19일 23:30
# 내용 : 정보처리기사 필기 2과목 공부 후 정리한 내용 올리기
이전 기사따기5일차는 아래에 링크로
이건 많이 언급되는 단어
이건 내가 궁금한거 쳐봐서 나온 결과
------------------------------------------------------------------------------------------------------------------------------
2. 자료 표현 및 연산
- 자료 표현의 기본
Bit -> Nibble -> Byte -> Word -> Field -> Record -> Block -> File -> Database
Bit : 0,1의 표현으로 전산기 구조의 초소 단위
Nibble : 4bit 묶음의 16진수 표현 단위 사용
Byte : 8bit 묶음의 문자 표현의 단위
Word : 내부 표현이나 처리를 이해 사용되는 단위
Field : 속성표현을 위한 최소의 논리적 단위
Record : 필드가 모여 정보가 처리되는 단위
Block : 레코드를 묶어 물리적 레코드
File : 저장 장치에 저장되는 단위
Database : 파일을 통합하여 묶어 놓은 데이터 그룹
- 자료의 외부 표현
표준 BCD코드
EBCDIC 코드
ASCII 코드
- 수의 체계
2진수, 8진수, 10진수, 18진수
우리가 쓰는 10을 2진수는 2로 쓰는 방식으로 익히기!
- 코드의 표현
가중치 코드 : 8421코드, 2421코드, 7121코드, 8421코드, 5421코드, 5111코드, Biauinary코드, Ring Counter 코드
비가중치 코드 : 3초과 코드, 그레이 코드, 2-out-of-5코드, 3-out-of-5코드
자기 보수 코드 : 3초과 코드, 2421코드, 5211코드, 5111코드, 8421코드
에러 검출 코드 : 패리티 비트 코드, 해밍 코드, Biquinary 코드, Ring Counter 코드, 2-out-of-5코드, 3-out-of-5 코드
3. 명령어 및 프로세서
- 명령어의 설계
명령어 = 연산자와 그 연산자에 사용할 대상체로 구성
연산자 = 동작,컴퓨터가 행하는 동작
모드 = 대상체를 지정하는 방법 - 직접 주소와 간접 주소
주소 = 처리할 정보를 기억시킬 곳 - 레지스터 번호나 메모리 주소
고려사항 - 어떤 종류의 연산자를? 어떻게 지정? 어떤 방식으로?
- 연산자의 기능
함수 연산, 전달 기능, 제어 기능, 입출력 기능
- 명령어
데이터 처리 명령어
산술
ADD + , SUB - , MUL * , DIV / , INC 1증가 , DEC 1감소
논리연산
AND 특정 문제 삭제시 사용, OR 특정 문자 삽입 시 사용, XOR 비교 시나 부분 반전 시 사용, COMPLEMENT 1의 보수를 구할 때 사용, CLEAR 모든 내용을 0으로 리셋할 때 사용
시프트 연산
산술 shift 2를 곱하거나 나누기를 하기 위한 오른쪽이나 왼쪽으로의 이동 명령 , 논리 shift 자료를 오른쪽이나 왼쪽으로 이동시키기 위한 명령, ROTATE 문자의 위치 변환을 위한 이동 명령(ROL, ROR)
데이터 전송 명령어
자료의 변경 벗이 한 장소에서 다른 장소로 전송시키는 명령어
LOAD 메모리로부터 CPU의 레지스터로 자료를 가져오는 명령, STORE CPU의 레지스터 자료를 메모리에 기억시키는 명령, MOVE 데이터를 전달하는 명령, PUSH,POP 스택에 데이터를 입출력하는 명령, INPUT 데이터를 메모리로 전달, OUTPUT 메모리에 있는 데이터를 출력 장치로 전달
데이터 제어 명령어
모든 명령어들이 상황에 맞게 적절히 수행될 수 있도록 조작을 가하는 것
JUMP 원하는 곳으로 무조건 분기, SKIP 다음 명령어를 건너뛰고 수행, SMA ACC가 0보다 작을 때 skip, SZA ACC가 0과 같을 때 skip, SZC C가 0과 같을 때 skip, ISZ 1증가하여 0과 같으면 skip, RETI 인터럽트로부터 복귀, CALL 서브 프로그램의 호출, RETURN 서브 프로그램에서 메인 프로그램으로 복귀, HALT 컴퓨터의 동작을 일시적으로 정지시킴
기타 명령
리커션 = 자기가 자신을 호출하는 경우, STACK , 잘못하면 무한 루프에 빠질 수 있다.
반복 = 처음에 실시된 계산은 정확한 정보를 나타내 주지 못하므로 결과를 가지고 처음의 자료를 다시 수정하여 계산하는 방법을 반복적으로 행하느 것으로 루틴 내부에서 자료를 얻어야함.
매크로 = 반복되는 일련의 루틴을 별도로 작성해 놓음 , 부 프로그램과 이런 점이 비슷
하지만, 부 프로그램은 CALL문으로 호출해 사용함 / BUT 매크로는 본문 자체에 삽입되어 사용
또, 매크로는 자주 사용하는 여러개의 명령어를 묶어서 하나의 명령어로 만든 형태
그러므로 컴파일 시 원래의 명령어로 대치되기 때문에 인수의 형은 신경 쓸 필요가 없음.
공부하다가 문득, 매크로에 대해서 궁금해졌다. 매크로의 본질이 알고 싶어서 검색하기 시작했다. 왜냐 게임할때 사용했기 때문ㅋㅋㅋㅋ
매크로(Macro)는 프로그램 작성 시 한 프로그램 내에서 동일한 코드가 반복 될 경우 반복되는 코드를 한번만 작성하여 특정 이름으로 정의한 후 그 코드가 필요할 때마다 정의된 이름을 호출하여 사용하는 기법입니다.
1. 일종의 부 프로그램(Sub-Program)으로 개방 서브루틴(Poened Sub-routine)이라고도 합니다.
2. 매크로는 문자열 바꾸기와 같이 매크로 이름이 호출되면 호출된 횟수만큼 정의된 매크로 코드가 해당 위치에 삽입되어 실행됩니다.
3. 매크로 정의 내에 또 다른 매크로를 정의할 수 있습니다.
4. 사용자의 반복적인 코드 입력을 줄여줍니다.
5. 매크로 정의형태는 주로 어셈블리어 형태입니다.
매크로 용어
매크로 정의 : 프로그래머가 일정한 형식에 따라 매크로를 작성하는 것을 말합니다.
매크로 호출 : 정의된 매크로 이름을 주 프로그램에 기술하는것을 뜻합니다.
매크로 확장 : 매크로 호출부분에 정의된 매크로 코드를 삽입하는것을 뜻합니다.
매크로 라이브러리 : 여러 프로그램에서 공통적으로 자주 사용되는 매크로들을 모아놓은 라이브러리입니다.
그리고 일단 킵!
- 기타 프로그램
연계 편집기 : 시스템 서비스 프로그램
기계어 : 신속하나 언어의 호환성이 없다는 단점
고급 언어 : 하드웨어와 호환되도록 한 언어
- 명령어의 형식
피연산자 개수에 따른 명령어 형식
0-주소 명령어 형식
오퍼레이션 부분만 존재, STACK 구조
1-주소 명령어 형식
오퍼레이션 부분과 1개의 오퍼랜드 부분으로 구성, 누산기
2-주소 명령어 형식
오퍼레이션 부분과 2개의 오퍼랜드 부분으로 구성, 레지스터, 중앙처리장치 내에서 직접 시험이 가능(기억장치뿐아니라 중앙처리장치에도 결과가 남아있음)
3-주소 명령어 형식
오퍼레이션 부분과 3개의 오퍼랜드 부분으로 구성,메모리, 정보를 잃지않고 모두 보존할 수 있음.
피연산자 위치에 따른 구분
스택 명령어 = SI, 0-주소 명령어 형식
누산기 명령어 = AI, 1주소 명령어 형식
레지스터-레지스터 명령어 = RRI, 수행속도가 빠르고 명령어가 짧음
메모리-레지스터 명렁어 = MRI, 주기억장치로 한번 접근해야하기 때문에 RRI보다 느림
메모리-메모리 = MMI, 주기억 장치로 두번 접근해야하기 때문에 느림
- 주소 지정 방식
즉시 주소 지정 > 직접 주소 지정 > 계산에 의한 주소 지정 > 간접 주소 지정
Immediate Direct Calculate Indirect
메모리에 접근 X 한번 접근 한번 접근 두번 접근
즉시 주소 지정
수행속도가 빠르지만, 명령어 길이에 제약
직접 주소 지정
기억 장소의 주소를 따라감, 한번만 참조하면 됨, 단순한 대신 융통성이 조금 떨어짐
간접 주소 지정
메모리를 두번 참조, 명령어의 길이가 짧고 제한되어 있어도 긴 주소를 찾을 수 있기때문에 융통성 존재함
계산에 의한 주소
인덱스 주소 지정, 상대 주소 지정, 기존 주소 지정
묵시적 주소 = 스택이나 누산기의 위치를 지정할 때 명시적으로 하지 않는것?
레지스터 주소 = 명령어의 오퍼랜드에 레지스터의 위치를 지정하는 방식
- 프로세서
CISC - 마이크로프로그램 제어 방식, 메모리 참조 많음
RISC - 하드 와이어드 제어 방식, 제시트서 참조 연산
- 중앙 처리 장치 = CPU
컴퓨터 시스템에서 가장 중요한 일을 하는 부분,
CPU 구분
스택 구조 CPU - 0주소 명령어 형식 사용
단일 누산기 구조 CPU - 누산기에 넣고 운용하는 CPU , 1주소 명령어 형식
범용 레지스터 구조 CPU - 레지스터나 메모에 넣고 운용하는 CPU, 2주소 명령어 형식
ALU = 연산장치 = 사술 연산 및 논리 연산을 수행하는 장치
CU = 제어장치 = 해독, 제어 신초를 각 장치에 보내는 역할 (PC, IR, 명령 해독기, MBR, MAR, 순서 제어기, 주소 처리기, 신호 발생 장치)
Bus = 정보 교환을 위해 버스를 사용, 결선의 수를 줄일 수 잇는 최선의 방법이기 때문에 사용!!
주소 버스 = 메모리의 특정 위치를 지정
데이터 버스 = 양방향 회선을 CPU가 한번에 처리할수 있는 bit수
제어 버스 = 단방향 신호 회선
CPU의 기능 - 연산(ALU), 제어(CU), 기억(레지스터나 CPU, 프로그램 상태를 나타냄, 플래그들에 의해 수행), 전달(버스)
- 레지스터!!!!
= 중앙처리장치 안에 임시 기억 장치(신속접근을 위함)
PC = LC= 다음 명령어의 주소값기억하는 레지스터
MAR = 접근하고자 하는 곳의 주소 값을 기억하고 있는 레지스터
MBR = 주기억 장치에 정보를 기억시켜주는 레지스터
IR = 현재 수행하고 있는 명령어를 깅거하는 레지스터
- DR = 데이터 레지스터
ACC = 누산기 = 데이터 및 연산 결과를 임시적으로 기억하는 레지스터
MBR
GPR = 함수 연산 기능을 수행하는 명령어에서 사용할 수 있도록 설계된 레지스터들
- AR = 주소 레지스터
PC
MAR
Index R = 배열의 시작 주소와 같은 반복 계수를 기억시키는 용도
Base R = 하나의 서브 프로그램에 대하여 기준이 되는 주소를 기억시키는 레지스터 ( 최초의 번지를 기억함 )
- Status Register = 상대 레지스터
플래그 레지스터 = 프로그램 상태 워드 레지스터 PSWR = 매 순간마다 프로그램의 수행 상태를 포함하는 중앙 처리 장치의 상태를 나타내는 레지스터
MSR = 메이저 상태 레지스터, CPU가 뭐하고있는지 나타내는 레지스터
반응형'자격증 > 정보처리기사-합' 카테고리의 다른 글
[정보처리기사]기사따기8일차_2과목_전자계산기구조_4_190202 (0) 2024.11.22 [정보처리기사]기사따기7일차_2과목_전자계산기구조_3_190201 (2) 2024.11.21 [정보처리기사]기사따기5일차_2과목_전자계산기구조_1_190130 (0) 2024.11.19 [정보처리기사]기사따기4일차_1과목_데이터베이스_3_190129 (0) 2024.11.18 [정보처리기사]기사따기3일차_1과목_데이터베이스_2_190128 (0) 2024.11.17