정보처리 산업기사 필기 2
메이저 상태 (Major State) : CPU가 무엇을 하고 있는가를 나타내는 상태, 종류:인출주기(FETCH CYCLE) 명령어를 기억 장치에서 중앙처리 장치로 읽어오는 주기 & 명령어 해독 주기 & 명령어의 종류가 판단되는 주기 & PC가 하나 증가되어 다음 명령어 지시 / 간접주기(Indirect Cycle) 유효 주소를 얻기 위해 기억 장치에 한번 더 접근 & 오퍼랜드(Operand)에 표현된 주소가 간접 주소인 경우 수행 / 실행주기(Execute Cycle) 기억 장치로부터 실제 데이터를 읽어다가 연산 동작 수행 & 다양한 형태의 명령어가 분기 처리 / 인터럽트 주기(Interrupt Cycle) 정상적으로 수행과정을 계속할 수 없어 응급 조치 후 수행할 수 있도록 CPU의 현 상태를 보관하기 위해 기억장치에 접근 & 인터럽트 처리 완려되면 반드시 인출 주기로 간다.
캐시 - 주기억 장치와 cpu 사이 속도 차이 극복을 위해 CPU와 주기억 장치 사이에 설치한 메모리, 가격비쌈, 일종의 버퍼기능 수행, 분리캐시 (SPLIT CACHE)사용
캐시에서 주기억 장치의 블록을 캐시에 사상하는 방법 - 직접사상(Direct Mapping) / 전체 연합 사상 (Fully Associative Mapping) / 세트 연합 사상(Set Associative Mapping)
연관기억장치(Associative Memory) : 데이터 내용에 엑세스되는 메모리 장치 , 메모리의 각 셀(cell)은 저장 능력뿐만 아니라 외부의 인수(argument)와 내용을 비교하기 위한 논리 회로를 갖고있다, 검색시간 중요, 매우 짧아야 하는 특수한 경우에 사용, 일부 내용으로 검색할 수 있음
연관 기억 장치(Associative Memory) 내용 지정 메모리(CAM Content Addressable Memory) : 내용 일부를 가지고 원하는 내용을 찾음, 병렬 판독 회로 내장 , 가격 비쌈 ,캐시 메모리보다 빠르다, 구성요소: 검색 데이터 레지스터/마스크 레지스터/일치레지스터
캐시메모리 에서 사용되는 매핑 : direct mapping, associative mapping , set-associative mapping
마이크로 오퍼레이션 - 명령(Instruction) 수행 위해 CPU 레지스터와 플래그 변환. clock pulse, 원자(atomic) 연산
마이크로 오퍼레이션을 동기시키는 방법 - 동기 고정식(Synchronous Fixed) : 마이크로 사이클 타임이 가장 긴 것 선택하여 CPU의 클록 주기로 사용, 비효율적, 수행시간 유사한 경우 사용, 제어장치 구현 간단 / 동기 가변식(Synchronous Variable) : 마이크로 사이클 타임에 따라 몇 개의 군으로 분류하여 군별로 CPU의 클록 주기를 따로 부여, 수행 시간의 차이가 현저할 때 사용 , 제어기 구현 복잡 / 비동기식(Asynchronous) : 모든 마이크로 오퍼레이션에 대해 서로 다른 마이크로 사이클 시간을 부여, 제어장치 복잡
마이크로 연산 - 종류 : 레지스터 전송 마이크로 연산/산술 마이크로 연산/논리 마이크로 연산
마이크로프로그램 - 어떤 명령을 수행할 수 있는 일련의 제어 워드가 특수한 기억장치(ROM) 속에 저장되어 기계어 명령어들이 수행되도록 제어신호 발생시킨다, CPU 내의 제어장치, 마이크로 명령어로 구성, 펌웨어(Firmware 하드웨어와 소프트웨어 중간)
마이크로 명령어 - 데이터 경로 제어 위해 제어 신호 발생에 필요한 정보와 수행 순서를 제어하는 정보로 구성, 마이크로 액션 나타낸다.
폰 노이만(Von Neumann)형 컴퓨터 인스트럭션
-명령어를 순차적으로 처리하는 일반 컴퓨터
-기능 : 전달기능, 제어기능, 함수연산 기능
연산코드 (Operation Code) - 기능 : 입출력/제어/논리연산/자료전달
인터럽트 - CPU와 I/O 간 정보 전달
인터럽트 우선순위 높은 순 - Power Fail / Machine Check / External Signal / I/O / Instruction Fail / Program Check / SVC
Polling - 인터럽트 발생 원인이나 종류를 소프트웨어로 판단하는 방법, 느림, 우선순위는 프로그램 상에서 결정하므로 융통성 있음, 경제적임, 인터럽트 요청한 장치를 차례대로 검사
Daisy Chain - 하드웨어 이용, 빠름, 비쌈, 직렬 연결 , 중요장치 상위배치
스트로브 (Strobe) 제어 - 데이터 전송 제어 방식, 제어선 한개와 데이터 버스 선 한개로 연결, 데이터를 전송할 때 실제 전송하는 것을 알려주기 위해 보내는 신호, 확실히 수신하였는지 알 수 없다.
핸드셰이킹 (Handshaking) 제어 - 데이터 전송 제어 방식, 제어신호를 보내는 별도의 2개 회선과 데이터 버스 선 한개로 연결, 데이터를 받아들일 수 있는지 여부를 송신부에 알려주고(수신신호), 버스에 데이터가 실려있음을 수신측에 알려준다(존재신호).
CPU의 명령어 사이클 (instruction cycle) - fetch / indirect / execution / inturrupt
CPU 명령어 수행 순서 - fetch / decode / execute / writeback
CPU 기능 - 연산기능 / 제어기능 / 기억기능 / 전달기능
CPU 제어장치 구성 - 명령레지스터, 명령 해독기, 신호 발생기
접근시간(access time 주기억장치) - 판독 신호 발생 후 자료를 메모리 버퍼 레지스터에 옮기기까지 시간
명령 레지스터 (Instruction Register) : 주기억 장치에서 인출된 명령어가 저장되는 레지스터, 실행될 명령어를 기억할 수 있다.
범용 레지스터 : 를 사용하여 기억할 수 있는 것 - 연산할 데이터 / 연산된 결과 / 주기억 장치에서 보내온 데이터
데이터 버퍼 레지스터 DBR(Data Buffer Register) : 입출력되는 하나의 워드를 기억시키는 레지스터
상태 레지스터 (Status Register) : DMA의 상태를 나타내는 레지스터
주소 레지스터(Address Register) : 입출력시킬 워드의 주소값을 가지고 있는 레지스터
인덱스 레지스터(index Register) : 주소 변환 및 계산에 필요한 수를 기억한다, 주소값 기억, 배열의 시작 주소와 같은 반복 계수를 기억시키는 용도로 사용
MAR(Memory Address Register) : 메모리에 접근하고자 할 때 접근하고자 하는 곳의 주소값을 기억, 기억 장치 용량과 관계가 있음
MBR(Memory Buffer Register) : 기억 레지스터, 주기억 장치에서 정보를 읽을 때 읽은 정보를 기억시키거나 주기억 장치에 정보를 기억시키는 레지스터, WORD 크기와 관계가 있음(만약 1워드가 8비트라 할 때 MBR은 8비트임) / 주기억 장치에서 정보를 읽을 때 읽은 정보를 기억 시켜놓는 레지스터
간접주소지정방식(Indirect Addressing Mode) : 오퍼랜드 필드가 메모리 내의 주소를 참조하여 그 주소로부터 유효번지를 계산하여 메모리에 접근하는 주소지정방식
함수연산기능 인스트럭션의 수행이 필요한 피 연산자를 기억시킬 레지스터의 종류에 따라 컴퓨터 구조 : 스택 컴퓨터 구조 / AC 컴퓨터 구조 / 범용 레지스터 구조
데이터 레지스터 : 누산기(ACC), 기억 레지스터(MBR memory buffer register), 범용레지스터(GPR general purpose register)
가상기억장치(Virtual Memory) - 주기억 장치보다 큰 보조기억 공간, 소프트웨어로 실현, 직접 접근 장치(DASD 자기디스크) 이어야 한다, 매핑 필요함.
페이징(Paging) - 가상기억장치(보조기억장치)에 있는 내용을 어떤 일정한 단위로 분류할 때 분류 단위가 똑같은 크기
세그먼트(Sagment) - 분류단위가 똑같은 크기가 아닐 때
스태깅(Staging) - 가상 기억 체제에서 Page Fault가 발생하면 희생 페이지를 결정해서 보조기억 장치의 이전 위치에 기억시키고 새로운 페이지를 이전 희생된 페이지가 있던 곳에 위치시키는 과정
인터리빙(Interleaving) - 기억장치를 여러 모듈로 나누고, 한 번지(address) 엑세스 시에 다음에 사용할 번지를 미리 액세스하여 처리 속도를 향상시키는 접근 방법
메모리 인터리빙 (Memory Interleaving) - CPU가 시분할 하여 여러 모듈을 번갈아 가며 접근, 캐시기억장치나 고속 DMA 전송에서 사용, 중앙 처리 장치 쉬는 시간 줄일 수 있음, 명령어 수 증가시킬 수 있음, 동시접근 가능, 기억 장치 버스를 시분할 하여 사용
BandWidth (밴드 폭, 대역 폭, 전송률) - 기억 장치에서 자료를 일거나 기억시길 때 기억장치가 1초동안에 전달하거나 받아들일 수 있는 비트 수, 주기억 장치와 중앙처리장치(CPU) 사이의 정보 전달 능력의 한계를 의미 / 하드웨어의 특성상 주기억장치가 제공할 수 있는 정보전달의 능력한계
DMA(Direct Memory Access) - DMA에 의한 입출력 방식은 CPU의 개입 없이 직접 주기억 장치와 DMA 사이에서 일련의 입출력 동작이 이루어짐, CPU 경유하지 않음, 직접 기억 장치와 입출력 장치 사이에서 전송 이루어짐, Cycle Steal에 의해 전송이 이루어짐, 전송이 끝나면 인터럽트 발생시킴, 구성요소 : DBR(Data Buffer Register)/ F 플립플롭/ 상태 레지스터/ 주소 레지스터/ 단어 계수기 / 중앙처리 장치를 통하지 않고 직접 주기억장치를 접근하여 입출력하는 방식으로 한번에 한 블록 씩 전송하는 방법
사이클스틸 - DMA 제어기가 하나의 워드 전송을 위해서 일시적으로 cpu의 사이클을 훔쳐서 사용
인터럽트와 사이클스틸 차이점 - 사이클스틸:cpu 상태 보존 필요 x, cpu가 잠시 쉬어감, 아무 사이클 훔치는 것 가능 / 인터럽트 : cpu보존 필요 o, 인터럽트 처리, 실행 사이클 이후에만 인터럽트 인지
cycle stealing - 주변 장치가 기억 장치를 접근 할 때 CPU가 기억장치를 접근하지 못하게 하는 것
채널 - 주 기억 장치와 입출력 장치 사이에서 입출력 제어(i/o processor), 직접 주기억 장치에 접근, 고속, 종류:셀렉터/바이트멀티플랙서/블록멀티플랙서 / 시험에서는 주변장치와 기억 장치 사이에서 중앙처리 장치의 지시를 받아 정보를 이송하는 기능, 채널의 기능 : 입출력 명령 해독/입출력 명령 지시/입출력 데이터 실행
주기억 장치 영역 구분 - 시스템 프로그램 영역 / 사용자 프로그램 영역
보조기억장치 종류 - 자기디스크 / 자기테이프 / 자기 드럼 / DVD / CD-ROM / 플로피 디스켓 / Flash Memory / Hard Disk / SSD
자기디스크 : 순차처리와 랜덤처리 병행 가능, 액세스 시간 빠르다, 변경 쉽다, 등선속도(CLV Constant Linear Velocity) : 디스크 전송 속도가 처음부터 마지막까지 일정한 방식 / 디스크 안쪽은 빠르고 바깥쪽은 느리다 / 소음 적음 / 복잡함, 등각속도(CAV Constant Angular Velocity) : 디스크 회전 속도를 일정하게 하여 디스크의 회전각에 따라 데이터 저장 / 디스크 내부면과 외부면의 회전 속도 차이로 외부 저장밀도 떨어짐 / 공간낭비 / 속도 빠름
RISC(Reduced Instruction Set Computer) 프로세스 : 명령어의 길이가 일정 / 하나의 클럭으로 실행 / 명령어 적음 / 주소지정 간단 / 레지스터 많음 / 워크스테이션 <->CISC
I/O채널 : DMA 확장된 개념 / i/o장치는 제어장치를 통해 채널과 연결 / 특수목적처리명령 수행
-multiplexer 채널 : 저속 입출력 / 동시
-slelector 채널 : 고속 입출력
SRAM - 재충전 필요 없음, 집적도 낮다, 비싸다, 전력소모 크다, 종류 : static RAM
DRAM - 재충전 필요함. 종류 : Dynamic RAM
CISC(Complex Instruction Set Computer) - 복합명령집합컴퓨터, 프로그래밍 작업 간단, 많은 명령어 가짐, 느림, 마이크로프로그래밍 제어방식 사용, 다양한 주소 모드 지원, 레지스터와 메모리의 다양한 명령어 제공
RISC(Reduced Instructioin Set Computer) - 축소명령집합컴퓨터, 상대적으로 많은 범용 레지스터 사용, CPU에 레지스터에 저장된 오퍼랜드만을 사용하여 처리, 해석속도 빠름, 파이프라이닝 처리 적함, 고정길이 명령어
turnaround time - 데이터를 수집하고 계산 처리용으로 변환하여 계산 후 결과를 사용자에게 반환하는데 걸리는 시간
전가산기 - 2개의 반가산기와 1개의 OR Gate로 구성
Hardwired control (고정배선방식구현) 제어장치구현방법- 제어장치가 순서 회로로 만들어짐, 미리 정해놓은 제어 신호들이 순서대로 발생, 하드웨어적으로 구현, 변경 힘들다, 빠르다, 비쌈 , RISC 구조를 기본적으로 하는 컴퓨터에서 주로 많이 사용, 논리회로설계기법에 의해서 제어신호 생성
Microprogram (마이크로 프로그램) 제어장치구현방법 - 마이크로 명령어로 구성, 변경 쉬움, 속도 느림, 제어메모리 필요, 명령어 세트 복잡, 큰 컴퓨터에서 비용 절감
ROTATE - 문자 위치 변환
산술 SHIFT - 곱셈 나눗셈 (부호 보존 O), 단항 연산
논리 SHIFT - 부호 보존X , 단항 연산
Branch 혹은 Jump 명령문은 PC Register를 수정한다.
프로그램 진행에 대한 제어 명령 : JUMP / BRANCH / INTERRUPT
XOR : 전가산기(full adder)의 합의 출력을 얻는 논리회로
AND : 비수치 데이터에서 마스크를 이용하여 불필요한 부분을 제거하는데 사용되는 연산
Parity Bit - 2진수로 이루어진 코드에서 1의 개수가 홀수개가 되는지 짝수개가 되는지 체크하기 위해 추가되는 비트, 1Bit 오류검출 가능
AND 연산(Mask 마이크로 동작) - 비수치 자료의 특정 비트나 문자 삭제, Mask(0000 0000) 이용하여 이항 연산(AND)에 의해 삭제
OR 연산(Selective-Set 마이크로 동작) - 비수지적 자료에서 특정 비트 또는 문자를 삽입하거나 결합 시 사용, 특정비트를 1로 설정하기 위해 사용
Exclusive-OR 연산(Compare 마이크로 동작) - 비수지적 자료의 비교 시 또는 검출 시 사용, 결과가 모두 0이면 같은 경우, 특정비트의 반전에 사용
2진-5진 Biquinary Code - 7bit 코드에서 정보 전송 시에 발생하는 오류의 검색이 용이한 코드
NOT 연산 (Cmplement) - 각 비트의 값을 반전시키는 연산 , 보수를 구할 때 사용
피연산자(Operand Address) 개수에 따른 구분
-0-주소 형식 명령어 : 오퍼레이션만 있고 오퍼랜드 부분인 주소가 없는 명령어 형식, 스택 구조, 원래 데이터 모두 잃음
-1-주소 형식 명령어 : 오퍼레이션과 1개의 오퍼랜드, 누산기, 연산 시 두개의 자료 중 하나는 묵시적으로 누산기를 지정하여 연산하고 연산 결과도 누산기에 저장
-2-주소 명령어 형식 : 오퍼레이션과 2개의 오퍼랜드, 연산 시 두개의 자료는 오퍼랜드가 지정한 2개의 자료를 대상으로 연산하고, 연산 결과는 Operand-1 에 저장, operand-1 에 있던 내용 잃어버림, 기억장치 뿐 아니라 중앙처리장치에도 결과가 남아 있음
-3-주소 명령어 형식 : 오퍼레이션과 3개의 오퍼랜드, 연산 시 두개의 자료는 오퍼랜드 1과 2 에서 지정된 2개의 자료를 대상으로 연산하고 연산 결과는 Operand-3 에 저장, 연산 후 결과는 Operand-3또는 1에 저장되므로 원래 내용 모두 보존 가능, 명령어 길이 길다.
접근속도 빠른 순서
Register cache 주기억장치 보조(디스크, 테이프 , 드럼)
MOD-5 카운터를 설계하려고 할 때 필요한 최소의 플립플롭의 개수는?
MOD-5 는 5개의 상태를 갖는 카운터로 카운터를 설계할 때 필요한 플립플롭의 개수는 log₂N 따라서 최소 세개
죄측으로 한 비트씩 이동할 때마다 2를 곱한 것, 좌측으로 n 비트 이동시킨다면 원래값*2^n
컴퓨터에서 정수를 표기할 때 크기를 제한받는 큰 이유는 워드의 비트 수 때문이다.
메인 메모리의 용량이 1024K*24bit 일 때 MAR=20 MBR=24
MBR은 비트
MAR은 1024KB = 2^10KByte = 2^20Byte
메모리용량 4K 워드, 워드 길이가 16비트, AR(주소레지스터) 는 12 DR(데이터 레지스터)는 16
AR -> 2^2 * 2^10 = 2^12 그래서 12
주소 선의 수가 11개이고 데이터 선의 수가 8개인 ROM 내부조직은 2K * 8
K = 2^10
2^1*2^10 = 2^11 따라서 주소선 수가 11임
MRI (Memory Reference Instruction)개수 구하기. opcode 가 주소 제외하여 4개. 2^4 = 16개
8*2 RAM을 이용하여 16*4 메모리를 구성하고자 한다. 몇 개의 8*2 RAM이 필요한가?
8*2=16 16*4=64 64/16=4 따라서 4개의 8*2RAM이 필요하다
OP코드가 5비트, OPERAND가 11비트인 명령어가 갖는 최대 마이크로 연산 종류는? 32개
최대 마이크로 연산 종류는 2^5
CPU(레지스터) --store> 주기억 장지 --save> 보조M (반대는 모두 load)
문제) 레지스터의 내용을 메모리에 전달하는 기능은? store
주기억 장치 용량이 256MB 이면 주소버스의 폭은 최소한 몇 bit? 28bit
정보의 물리적 표현 방법으로 2 바이트를 사용할 때 표현범위는 ? (k는 kilo이다) 0~64K
2바이트는 16비트. 2의 16승은 65536 64K (K는 10의 3승) 이거 모르겠당..