-
[시스템프로그래밍] 2강 정보의 단위, 진법, 컴퓨터 조직, 주기억장치의 작동, 명령어 수행 사이클, 데이터의 표현, 인터럽트프로그래밍/시스템프로그래밍 2014. 4. 25. 01:46반응형
* 정보의 단위
컴퓨터 시스템은 기계어 즉 0,1로 기억장치에 정보를 저장
1.정보의 표현단위
bit : 2진1비트, 정보 표현의 최소단위로 binary digit의 약자, 가장 작은 기억단위로서 1개의 비트로 2가지 정보를 저장(0,1)할 수 있다.
nibble : 4bit, 비트가 4개 모인 것을 의미
byte : 8bit, 의미를 주는 기억단위로 8개의 비트로 구성, 0부터 255까지 256가지 정보를 표현할 수 있으며 컴퓨터코드 표현의 기본단위
word : half word(2byte), full word(4byte), double word(8byte) : 자료를 처리하는 기본단위로서 1단어는 8, 16, 32, 64비트로 구성
2.정보(자료)의 처리단위
IPS(Instructions Per Second) : 1초당 하나의 고정 소수점 연산 처리시간
MIPS(Millions of Instructions Per Second) : 초당 100만개의 고정 소수점 연산 처리시간
FLOPS(Floating Operations Per Second) : 1초당 하나의 부동 소수점 연산 처리시간
MFLOPS(Millions Floating Operations Per Second) : 1초당 100만 개의 부동 소수점 연산 처리시간
* 진법
1.2진수, 8진수, 10진수, 16진수의 데이터 표현
모든 자연수를 그 수만큼의 숫자로 표현하는 방법
수를 숫자로 표현하는 방법
2진수, 8진수, 16진수
2진수 데이터 : 0,1
8진수 데이터 : 0에서 7까지, 연속되는 3자리 숫자를 묶음
10진수 데이터 : 0에서 9까지
16진수 데이터 : 0에서 9까지 A~E까지 16가지 수를 표현
2.2진수, 8진수, 16진수의 변한
진수의 변환을 크게 다른 진수에서 10진수의 변환, 10진수에서 다른 진수로의 변환, 2진수에서 8진수, 16진수로의 변환 등으로 구분가능
* 컴퓨터 조직
컴퓨터 시스템은 중앙처리장치, 주기억장치, 입출력장치, 장치들을 연결해주는 시스템 버스로 구성
시스템 버스 : 주소 버스, 데이터 버스, 제어 버스로 구성
1.논리연산장치(ALU : Arithmetic and Logic Unit)
덧셈, 뺄셈, 곱셈, 나눗셈과 같은 산술 연산과 AND, OR, NOT, XOR과 같은 논리 연산을 처리해주는 장치
2.제어장치(CU : Control Unit)
컴퓨터 처리 시스템에서 하나 이상의 프로그램에 의해 주어진 연산의 순서대로 실행하기 위해 기억, 연산, 입출력장치에 제어신호를 발생시켜주는 장치
제어기능 단위로 기억장치에 축적되어 있는 일련의 프로그램 명령을 순차적으로 꺼내 분석, 해독하여 각 장치에 필요한 명령신호를 주고 장치간의 정보 조작을 제어하는 기능
3.레지스터
레지스터는 컴퓨터 중앙처리장치에서 사용되는 소규모 데이터 저장장치
내부 버스가 연산장치와 레지스터를 연결해준다
4.재배치 레지스터(Relocation Register)
재배치 레지스터는 수행중인 프로그램을 다른 곳으로 옮길 수 있도록 해준다
5.메모리(주기억장치)
주기억장치는 현재 실행중인 프로그램과 이 프로그램이 필요로 하는 데이터를 일시적으로 저장하는 장치
6.입출력장치(Input-Output unit)
컴퓨터와 사용자 사이의 정보를 교환할 수 있는 장치의 집합
7.시스템 버스
시스템 버스는 장치들을 연결하는 기능
주소 버스(Address Bus) : 중앙처리장치가 메모리나 입출력기기의 주소를 지정할 때 사용되는 전송로 2n개의 주소 지정가능, 단방향 버스
데이터 버스(Data Bus) : 중앙처리장치에서 기억장치나 입출력기기에 데이터를 송출하거나 반대로 기억장치나 입출력기기에서 CPU에 데이터를 읽어 들일 때 필요한 전송로, 양방향 버스
제어 버스(Control Bus) : 주소 신호 버스, 데이터 신호 버스와 함께 컴퓨터 신호 버스의 3요소 중하나, 자신의 신호를 다른 장치에게 알리기 위해 사용하는 신호를 전달
* 주기억장치의 작동
주기억장치는 실행할 프로그램과 데이터를 저장
중앙처리장치는 주기억장치에 저장된 프로그램에서 명령을 하나씩 제어장치로 꺼내서 해독
1.MAR(Memory Address Register), MBR(Memory Buffer Register)
MAR는 컴퓨터에 저장된 명령어 주소가 시스템 주소 버스로 출력되기 전에 일시적으로 저장되는 주소 레지스터이고 MBR는 기억장치에 쓰여질 데이터 혹은 기억장치로부터 읽혀진 데이터를 일시적으로 저장하는 버퍼 레지스터를 말한다.
명령어 사이클은 인출-해독-실행-저장의 4단계에 의해 동작
2.데이터의 읽기와 쓰기
CPU내의 제어장치는 데이터를 일거나 쓰기 동작을 수행하도록 제어 신호를 발생
쓰기 동작 모드 : 입력장치나 보조기억장치에서 주기억장치로 입력정보 전달, 기록회로는 입력된 프로그램과 데이터를 임시적으로 저장하였다가 기억매체에 전달
읽기 동작 모드 : 제어장치는 일기 제어신호를 발생하고 인출될 정보가 저장된 기억소자의 위치를 지정, 판독회로는 해당 번지에 저장된 내용을 판독하고 외부로 출력
3.논리주소와 물리주소
논리주소는 CPU가 생성하는 주소
물리주소는 메모리 취급 주소, 즉 주소 레지스터에 의해 주어지는 주소
4.논리주소를 물리주소로의 사상
기준 레지스터를 재배치된 레지스터라 부른다
사용자 프로세스는 논리주소만을 만들어낼 뿐 반드시 논리주소는 사용되기 전에 실제 물리주소로 변환되어야 한다.
물리주소 공간이 논리주소 공간에 바인드 되어야한다.
* 명령어 수행 사이클
1.인출 사이클, 실행 사이클
명령어 사이클은 인출(fetch) 사이클과 실행(excute)사이클로 구성되며 인출 사이클과 실행 사이클은 상호 폐로로 표시되는 귀환제어로 구성된다.
간접 사이클은 주기억 장치에서 판독한 명령어가 간접 주소지정방식일 EO 유효주소를 주기억장치에서 읽어내는 기능을 수행한다
인터럽트 사이클은 명령어 실행 도중에 인터럽트가 발생했을 때 그에 합당한 인터럽트 처리를 수행
2.명령어의 실행
프로세서는 자료의 기억장치에서 읽어오고 기억장치에 기록하게 된다.
판독사이클 : 판독요구, 주소 전송, 데이터 수신, 판독 완료
기록사이클 : 기록요구, 주소 전송, 데이터 전송, 기록 완료
* 데이터의 표현
1.ASCII code, BCD Code, unicode
컴퓨터에서 사용되는 데이터로는 영문자, 숫자, 특수문자등이 있다
ASCII : 미국에서 표준화가 추진된 정보교환용 7비트 부호
BCD : 이진화 십진 코드라고도 부르며 기본적으로 6비트의 길이를 갖는 코드이지만 좀더 효율적으로 사용하기 위해서 존비트와 숫자 비트로 분리하고 이를 조합해서 코드를 생성
가장 왼쪽의 최상위 비트는 패리티 비트
유니코드 : 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현되고 다룰 수 있도록 설계된 산업표준코드
2.문자의 표현
정수 데이터 표현
실수 데이터 표현 : 가수, 밑수, 지수로 이루어짐
문자 데이터 표현
3.데이터의 해석
연산을 포함한 모든 논리 연산은 컴퓨터 중앙처리장치 내에 있는 산술 논리 연산장치에 의해 이루어진다.
* 인터럽트
일시중단이라는 뜻으로 CPU가 프로그램을 실행하고 있을 때 다른 프로그램을 처리하기 위해 진행중인 프로그램을 바로 다시 재개할 수 있도록 일시중단 상태에서 다른 프로그램을 처리하는 것을 말한다.
트랩
트랩이란 오류나 사용자 요청에 의해 소프트웨어가 발생시킨 인터럽트
2. 시스템 호출
시스템 호출은 운영체제가 제공하는 서비스에 대한 프로그래밍 인터페이스다. 주로 C, C++과 같은 고급언어로 작성
반응형'프로그래밍 > 시스템프로그래밍' 카테고리의 다른 글
[시스템프로그래밍] 6강 매크로, 매크로의 기능, 매크로 프로세서의 설계 (0) 2014.04.26 [시스템 프로그래밍] 5강 어셈블러 개요, 이중 패스 어셈블러, 이중 패스 어셈블러의 설계, 다중 패스 어셈블러, 테이블 처리 (0) 2014.04.26 [시스템프로그래밍] 4강 어셈블리어 개요, 어셈블리 명령어, 어셈블러 지시어(의사 명령어) (0) 2014.04.26 [시스템프로그래밍] 3강 기계 명령어의 구성, 주소지정방식 (0) 2014.04.25 [시스템프로그래밍] 1강 컴퓨터의 구성, 사용자 프로그램의 처리과정 (0) 2014.04.24