Download presentation
Presentation is loading. Please wait.
1
제 2장 컴퓨터동작의 기본 개념
2
학습내용 컴퓨터 연산 단위: 컴퓨터 조직 명령어의 실행 개념 기억장치의 주소관리 방법과 형태
비트, 음수의 표현,바이트,단어의 개념 2진수 연산과 16진수 표현 컴퓨터 조직 8086 프로세서, 시스템버스, 기억장치,I/O장치 명령어의 실행 개념 판독과 기록사이클 기억장치의 주소관리 방법과 형태
3
자료의 단위 비트(bit) 니블(nibble) 바이트(byte) : 고유주소 문자(character)
코드 : 비트들이 모여서 문자를 표현하는 방법 단어(word) : 주기억장치와 CPU 사이 전송되는 정보의 단위 항목(item) :필드, 레코드 구성의 논리적 자료 단위 레코드, 파일 블록 : 보조기억장치와 컴퓨터내부 사이 전송되는 다수의 레코드의 묶음
4
진법 및 진법변환 진법: 자리수를 정하는 기수법(예: k진법은 0에서 k-1까지의 숫자로 모든 수를 나타냄, k 진법으로 표현된 수를 k진수라 함.) 소수점이 있는 경우(2를 곱한 정수부분을 오른쪽에 쓰고 소수부분에 다시 2를 곱한다. 소수부분이 없어질 때까지) 0.375(10) = 0.011(2) 0.3752=0.75: 0.752=1.5: 0.52=1 2 → 8, 16 → 10 (2) → 30.24(8) → (10)
5
정수의 표현 가장 왼쪽의 한 비트를 부호비트로 한다. 음의 정수를 나타내는 방법
부호 절대값의 방법 : -(2n-1-1)~(2n-1-1) 1의 보수 방법 2의 보수 방법
6
음수의 표현 r진수에서 r-1의 보수 r진수에서 r의 보수 * r-1에서 각 자리 숫자를 뺀다
* 2진수 0011에 대한 1의 보수 =1100 * -(2n-1-1)~(2n-1-1) r진수에서 r의 보수 * r-1의 보수에 1을 더함 * 2진수 0011에 대한 2의 보수 1100+1=1101 * -(2n-1)~(2n-1-1) 1) 음수의 표현 수치적 자료의 컴퓨터 내부에서의 표현은 기억장치의 공간을 작게 차지하고 연산회로를 포함한 중앙처리장치 내에서 자료의 처리 및 이동이 용이하도록 하는데 있다. 또한 입출력시 10진수로부터 내부적 표현으로 또는 내부적 표현으로부터 10진수로의 변환이 용이하고 한정된 수의 비트를 가지며 자료표현에 높은 정밀도를 가질 수 있도록 하는데 중점을 두고 있다. 컴퓨터 내부에서의 수치자료의 표현은 크게 소숫점이 고정된 고정소숫점 수와 소숫점의 위치가 변할 수 있는 부동소숫점 수로 나눌 수 있다. 일반적으로 연산에 사용되는 수에는 양수와 음수가 있다. 음수의 표현에는 부호와 절대치, 부호와 1의 보수, 부호와 2의 보수 방법이 있다. 오늘날 대부분의 컴퓨터에서는 부호와 2의 보수 표현을 주로 사용하고 있다. 2의 보수를 구하기 위해서는 1의 보수에 1을 더하면 된다. 예를 들어 8비트로 2의 보수 표현 방법에 의해 10과 -10을 나타내면 아래와 같다. ㅇ 10의 2진수 표현 : ㅇ -10의 2의 보수 표현 : > (1의 보수) + 1 = (2의 보수)
7
--- -------- --- -------- --- -------- --- --------
2의 보수 방법의 장점 계산 결과가 동일한 2의 보수 뺄셈이 덧셈으로 계산 * cpu의 덧셈에 대한 논리회로가 뺄셈도 수행 가능 0(zero)에 대한 하나의 표현
8
예 2 - 1 = 1 부호 절대치 방법 (2) (-1) (-3) 1의 보수 방법 (2) (-1) (0) 2의 보수 방법 (2) (-1) (1)
9
실수의 표현 V = (-1)S F RE IBM S/370 V:실수 S:부호 F:소수 E:지수 R:기수
* 다른 컴퓨터에서도 비트수와 기수 그리고 바이어스만 다를 뿐 개념적으로 동일 * 바이어스(bias) : 지수가 음수인 경우를 고려하여 지수에 64를 더함(-64 ~ 63) * 밑은 16 S(1) E(7) F(24)
10
예 R 이 16이고 바이어스가 64일 때 * 예) 165 S = 1 E = 5+64 =69 = F = = C
11
4비트에 의한 정수표 | 2진수 | 2의 보수 | 1의 보수 | 양수| | 0111 | 7 | 7 | 7 |
| 2진수 | 2의 보수 | 1의 보수 | 양수| | | | | 7 | | | | | 6 | | | | | 5 | | | | | 4 | | | | | 3 | | | | | 2 | | | | | 1 | | | | | 0 | | | | | 15 | | | | | 14 | | | | | 13 | | | | | 12 | | | | | 11 | | | | | 10 | | | | | 9 | | | | | 8 | 2) 음수의 표현 연산에 사용되는 수에는 양수와 음수가 있다. 음수의 표현에는 10진수와 같이 부호만을 바꾸고 절대치는 그대로 사용하는 부호와 절대치 표현방법외에 보수를 이용하여 표현하는 방법이 있다. 보수를 이용하여 음수를 표현하는 것은 연산을 용이하게 할 수 있기 때문인데 베이스가 R인 수의 체계에서는 R의 보수와 (R-1)의 보수가 있다. 베이스가 R인 수의 체계에서 (R-1)의 보수는 보수를 만들고자 하는 수의 각 자리의 숫자를 (R-1)에서 빼면 된다. 또한 R의 보수는 (R-1)의 보수의 가장 오른쪽 끝 자리에 1을 더하면 구할 수 있다. 예를 들어 10진법 수 274의 9의 보수와 10의 보수, 그리고 2진법 수 1100의 1의 보수 및 2의 보수를 구해보면 다음과 같다. ㅇ 10진법 수 274의 9의 보수 ----> = 725 10진법 수 274의 10의 보수 ---> = 726 ㅇ 2진법 수 1100의 1의 보수 ----> = 0011 2진법 수 1100의 2의 보수 ----> = 0100
12
바이트의 개념 의미를 주는 기억단위 8개의 비트로 구성 ASCII와 EBCDIC로 구분 1 1
1바이트=8비트 1 1 1) 비트의 개념 컴퓨터내부에서 사용되는 모든 정보는 0과 1의 값의 집합으로 표현된다. 이와같이 0과 1로 표현되는 가장 작은 기억 단위를 비트(bit ; binary digit)라 한다. 하나의 비트를 이용하여 표현할 수 있는 정보는 0과 1의 2가지, 2개의 비트를 이용하여 나타낼 수 있는 정보의 개수는 4가지, 3비트는 8가지, 8비트는 256가지로서 n개의 비트로 표현할 수 있는 정보의 종류는 2**n개가 된다. 한편 4비트를 이용하면 16가지의 정보를 표현할 수 있는데 이 4비트를 특별히 니블(nibble)이라 하고 8비트를 바이트(byte)라고 한다. ‘A’=65(10)= (2)=41(16)
13
8비트에 의한 정수표 | 2진수 | 정수 10진수 | 문자형(양수) | ASCII 문자 |
| | | | DEL | | | | | ~ | | ... … | ...… | ...… | ...… | | ... … | | | ..… | | | | | A | | ... … | | | | | | | | | | | | | Null | | | | | | | | | | |
14
단어(Word)의 개념 자료를 처리하는 기본단위 1단어 = 8,16,32,64비트 BUS나 register와 밀접한 관계
표현 범위 * 16비트 = 0 ~ 65535 * 32비트 = 0 ~ 2) 비트, 니블, 바이트, 워드, 필드, 레코드, 파일 ㅇ비트:정보를 기억할 수 있는 최소 단위로 0또는1의 값을 가진다 ㅇ니블 : 4개의 비트로 구성되는 표현 단위이다. ㅇ바이트:8개의 비트로 구성되며 표현범위는 0에서 255까지이다. ㅇ워드(단어): 정보의 접근 및 자료처리 단위로 8,16,32,64비트 등 컴퓨터 시스템에 따라 다양하다. ㅇ필드 : 바이트가 모여 구성되는데 학번, 이름, 주소 등의 논리적 최소 단위이다. ㅇ레코드: 필드가 모여 구성되는데 자료 처리의 단위이다. ㅇ파일 : 레코드가 모여 구성되는 자료의 집합이다.
15
2진수의 연산규칙 1 + 1 = 10 1 + 0 = 1 1 * 0 = 0 1 * 1 = 1 1 - 1 = 0 = 1
16
2진수 연산의 예 10111= =23 11101= =29 110100= =52 +
17
데이터의 16진수 표현 니블 니블 1 1 1 1 1(10) 13(10) 1(16) D(16) 1D(16)
1 1 1 1 1(10) 13(10) 1(16) D(16) 10진수 23에 해당하는 은 8진수로는 27(8)이 되고 16진수로는 17(16)이 된다. 한편 16진수에서는 10, 11, 12, 13, 14, 15, 16을 각각 A, B, C, D, E, F로 표시한다. 따라서 다음 등식이 성립한다. (2) = 29(10) = 1D(16) 이때 8비트에 기록된 값을 16진수로 표현한 값을 관찰하면 4비트(니블)씩 나누어 표현했음을 알 수 있다. 즉, 그림 2.3에서 첫번째 4비트의 값이 1(16)이고 두번째 것이 D(16)이고, 이것을 단순 연결한 1D가 16진수의 값이 된다. 1D(16)
18
컴퓨터의 조직 시 스 템 버 기억장치 프로 세서 입출력 장치 RAM ROM 키보드 CRT 주소버스 데이터버스 제어버스 보조기억
컴퓨터의 조직에서 시스템버스는 프로세서, 기억장치, 입출력장치 사이를 연결하는 선으로 주소버스, 데이터버스, 제어버스로 구성된다. 1) 시스템 버스 컴퓨터시스템 내부에는 크게 나누어 제어버스, 주소버스, 데이터버스라는 3개의 시스템버스가 있는데 제어버스는 제어신호가 다니는 통로이고 주소버스는 주소를 전달할 수 있는 통로이며 데이터버스는 데이터가 전송되는 통로이다. 이 중 주소버스는 프로세서가 접근할 수 있는 주기억장치의 주소공간을 결정하며 데이터버스의 크기는 동시에 전송될 데이터의 양을 결정하게 된다. 주소버스의 크기가 20비트라면 주소공간의 크기는 1M바이트, 24비트라면 16M바이트, 80486과 80586의 경우 32비트로 4G바이트가 되며 펜티엄 II 프로세서의 경우 64G바이트까지의 주소공간을 갖고 있어 주소버스의 크기는 최소 36비트는 되어야 한다. 데이터버스의 경우 일반적으로 단어의 크기나 레지스터의 크기와 관련성을 갖는데 초기에는 8비트, 16비트를 사용하다가 80386과 프로세서에서는 32비트, 80586에서는 64비트의 크기가 사용되고 있다. 일반적으로 버스는 여러개의 전선으로 구성되는데 n개로 구성되어있으면 버스의 크기를 n비트라고 부른다. 따라서 n비트 버스를 통해 한 사이클 시간에 전달될 수 잇는 정보의 크기는 2^n 이다. 예를 들어 데이터 버스가 32비트로 구성되어 있으면 한 사이클시간에 최대 2^32 크기의 정보를 전달할 수 있다.. RAM ROM 모뎀 키보드 CRT
19
8086 프로세서 내부 (EU) (BIU) 명 령 어 실 행 버스 제어 로직 명령큐 버퍼 AH . DH AL . DL
Adder SP,BP,SI,DI CS DS SS ES IP 명 령 어 실 행 버스 제어 로직 임시 레지스터 EU 제어 시스템 내부 커뮤 니케이션 레지스터 - EU에서는 명령이 실행되고, 산술 논리 연산 장치, 범용 레지스터(general purpose register)등이 있다. - BIU에서는 명령어 페치, 기억 장치나 입출력 장치로부터 데이타를 읽어 오거나 출력등을 행하며, 내부 통신을 위한 세그먼트 레지스터, 유효 주소 계산을 위한 가산기(adder), 실행할 명령어를 기억장치로부터 가져와 임시로 보관하는 버퍼인 명령어 큐(instruction queue)등으로 구성된다. 또한 프로세서 내부에는 각 부분 사이의 자료를 전달해 주는 내부 버스(internal bus)가 있다.(그림 2.4) 레지스터들은 자료를 잠시 저장하고 신속히 이용하기 위한 일종의 기억장소로서, 범용 레지스터(generala register), 세그먼트 레지스터(segment register), 명령어 포인터(IP: Instruction pointer), 인덱스(index) 레지스터 등이 있다. Intel 8086/88 프로세서는 16비트 레지스터 14개를 가지고 있다. 산술 논리 연산 장치(ALU)는 데이타를 처리하기 위하여 4칙 연산과 논리 연산 등을 처리하는 장치이다. 그 구성은 누산기(accumulator), 계수기(counter) 등으로 이루어져 있다. 이때 누산기, 계수기 등은 데이타를 원할히 처리하기 위하여 사용되는 레지스터의 일종이다. 이 연산 장치는 2진수로 숫자를 처리하며, 여러 개의 비트로 구성되어 있다. 예를 들어 연산 장치가 8비트로 되어 있으면 28범위 내의 숫자는 한 시스템 사이클 시간에 처리할 수 있다. 8086/8088 프로세서는 산술논리 연산 장치(ALU)의 크기가 16비트이다. ALU 명령큐 버퍼 플래그레지스터
20
시스템버스 프로세스,기억장치,입출력장치는 버스라 불리우는 신호선을 통하여 결합 주소버스, 데이타버스, 제어버스
주소버스 : 기억용량의 크기 결정 데이타버스 : 한 사이클 시간에 읽어올 수 있는 데이터 양 결정
21
기억장치 SAM RWM SRAM RAM DRAM mask ROM PROM ROM FPROM UVPROM EPROM EEPROM
I.C 메모리 RWM ROM RAM SAM DRAM SRAM FPROM mask ROM EPROM PROM EEPROM UVPROM
22
컴퓨터 동작의 판독사이클 시 스 템 버 기억장치 프로세서 RAM ROM 1단계:판독요구신호 2단계:주소전송 주소버스 데이터버스
제어버스 1 2 기억장치 프로세서 1) 판독 요구 신호(read request) : 프로세서가 판독을 위해서는 먼저 버스를 사용해야 한다. 따라서 제어 버스(control bus)를 통하여 버스 사용 요구(bus request signal)를 보낸다. 이때 버스가 다른 일에 이용되고 있으면 프로세서는 기다려야 한다. 2) 주소 전송(send address) : 버스를 이용할 수 있게 되면, 판독할 자료가 있는 기억 소자의 주소를 주소 버스에 준다. 기억 장치는 이 지정된 주소를 받아야, 이 주소를 찾아 데이타를 읽는다. RAM ROM 1단계:판독요구신호 2단계:주소전송
23
컴퓨터 동작의 판독사이클 시 스 템 버 기억장치 프로세서 RAM ROM 3단계:데이터전송 4단계:판독완료신호 주소버스
데이터버스 제어버스 4 3 기억장치 프로세서 3) 데이타 수신(receive data) : 기억 장치에서 전송해 온 데이타를 프로세서에서 받는다. 이 때 사용하는 버스는 데이타 버스(data bus)이다. 4) 판독 완료 신호(signal OK) : 프로세서가 데이타를 받으면 버스 사용이 끝났다는 신호를 제어 버스에서 보낸다. 이 신호는 버스가 다른 목적으로 사용될 수 있도록 해 주기 위하여 필요하다. RAM ROM 3단계:데이터전송 4단계:판독완료신호
24
컴퓨터 동작의 기록사이클 시 스 템 버 기억장치 프로세서 RAM ROM 1단계:기록요구신호 2단계:주소전송 주소버스 데이터버스
제어버스 1 2 기억장치 프로세서 1) 기록 요구 신호(write request) : 제어 버스에 버스 사용 신호를 보낸다. 2) 주소 전송(send adress) : 버스를 이용할 수 있게 되면, 주소 버스를 통하여 데이타가 기록될 주소를 보낸다 RAM ROM 1단계:기록요구신호 2단계:주소전송
25
컴퓨터 동작의 기록사이클 시 스 템 버 기억장치 프로세서 RAM ROM 3단계:데이터전송 4단계:기록완료신호 주소버스
데이터버스 제어버스 4 3 기억장치 프로세서 3) 데이타 전송(data send) : 데이타 버스를 통하여 기록할 데이타를 보낸다. 4) 기록 완료 신호 (signal OK) : 기록을 완료하면 기록 작업이 끝났다는 신호를 제어 버스에 보낸다 RAM ROM 3단계:데이터전송 4단계:기록완료신호
26
명령어의 실행 단계 명 령 어 인 출 명 령 어 해 독 데 이 터 인 출 실 행 사 이 클 IP주소→주소버스 명령어→EU
명령어→명령어큐 IP+2→IP 명령어→EU 필요한 동작 판단 데 이 터 인 출 실 행 사 이 클 명령어의 실행은 크게 4단계로 나누어 진다. ㅇ 명령어 인출 프로세서내에 있는 명령어포인터에는 항상 다음에 실행될 명령어의 주소가 들어 있다. 8086의 경우 코드세그먼트 레지스터와 짝을 이루어 실제 물리주소를 만들고 주기억으로부터 명령어를 인출하여 버스인터페이스장치 내의 명령어 큐에 저장한다. ㅇ 명려어 해독 명령어 큐에 잠시 저장된 명령어는 해독되기 위해 명령어 실행장치에 보내지고 여기서 프로세서가 할 일이 정해진다. ㅇ 데이터 인출 해독된 명령어의 연산항에 주소가 주어지면 주소에 기록된 주기억장치로부터 데이터를 인출하여 프로세서 내의 레지스터에 저장한다. ㅇ 명령어 실행 인출된 데이터를 가지고 해독된 명령에 의해 산술논리장치에서 명령을 실행하고 연산된 결과는 레지스터에 저장되든지 또는 기억장소에 보내기 위해 데이터버퍼에 일시적으로 보관된다. 연산항 주소에 대한 데이터 인출 →레지스터 명령어 실행 실행 결과→레지스터 혹은 주기억
27
명령어 실행속도 한 명령어가 실행되는 시간은 명령어 호출, 명령어 해독, 데이타 호출, 실행 시간을 합
fetch time(I-time) : 명령어 호출 시간 execution time(E-time) : 명령어 해석하여 데이터 인출하고 연산 수행하는 시간 instruction cycle = I-time + E-time MIPS 결정요소 : 사이클시간, 데이타버스크기, 레지스터크기, 논리연산장치크기, 명령어크기 명령어의 길이가 각기 다르기 때문에 명령어 실행 시간은 일정하지 않다. 보통 하나의 명령어를 실행하기 위해서는 사이클 시간이 소요 된다. 명령어 실행 속도를 나타내는 단위는 MIPS(Million Instruction Per Second)가 많이 사용된다. 이것은 1초에 몇 개의 명령어가 실행되는가 하는 것을 나타내는 단위로서, 컴퓨터의 성능을 측정하는 중요한 단위이다. 앞에서 살펴본 바와 같이 MIPS를 결정하는 요소는 사이클 시간, 데이타 버스 크기, 레지스터 크기, 논리 연산 장치 크기, 명령어 크기 등이 있다. 오늘날 대형 컴퓨터는 MIPS 정도이고, 마이크로 컴퓨터는 MIPS 정도이다. 이 책에서 주로 다루는 8086 프로세서를 사용한 컴퓨터들은 보통 MIPS 정도이다.
28
기억장치의 주소 64KB의 기억장치 주소예 기억장치 기억된 내용 1 1 1 1 1 주기억장치 주 소 바이트 0 1 . .
주 소 바이트 0 기억된 내용 1 1 1 1 1 1 . . 바이트 N N 기억장치의 주소는 비트 단위, 바이트 단위, 워드 단위 등 다양할 수 있으나 일반적으로 바이트 단위로 사용되고 있다. 바이트는 짝수 바이트와 홀수 바이트로 구분되는데 짝수 번지부터 시작되면 하나의 사이클에 2바이트를 가져오나 홀수 바이트 번지에서부터 시작되면 1 사이클에 한 바이트만을 가져오게 된다. . . 바이트65535 65535
29
기억장치 관리방법 선형 기억장치 관리 * 주소를 선형으로 배열 * 논리주소 = 물리주소 세그먼트 기억장치 관리
* 기억장소를 세그먼트로 구분 * 논리주소≠물리주소 * 물리주소=논리주소+세그먼트번호
30
선형기억장치 관리형태 기억장치 논리적인 주소 1 2 . N N 24비트 끝
31
선형기억장치 관리형태 시스템 관리자 프로그램 시스템 관리자 프로그램 시스템 관리자 데이터 시스템 관리자 데이터 . 프로그램1
선형 기억 장치는 그림 2.14에서 보는 것과 같이 기억 장치의 주소를 선형으로 배열해 놓았다. 따라서 프로그램에서 지시하는 주소(logical adress, 논리적 주소)가 바로 기억 장치의 기계적주소(physical address, 실제주소)와 대응하게 된다. 이때는 기억 장치 관리기가 있어서 여러 개의 프로그램과 데이타를 적절히 기록되도록 조절한다. 이 선형 기억 장치 방법은 모토롤라(Motorola)사의 M68000 프로세서 등이 이용하고 있다 프로그램2 프로그램2 기억장치 관리자 기억장치
32
세그먼트 기억장치 관리형태 + + 논리적 주소 기계적 주소 프로그램 세그먼트 프로 그램1 번호 데 이 데이터 터 세그먼트 2
데이터 3 세그먼트 프로그램 세그먼트 번호 프로그램 1 세그먼트 프로 그램1 + 프로그램 2 세그먼트 데이터 1 세그먼트 데 이 터 2 데이터 세그먼트 번호 데이터 2 세그먼트 세그먼테이션(segmentation) 또는 세그먼트(segment)관리 방법은 기억 장소가 여러 개의 세그먼트(segment : 기억 장소의 집합)로 나누어져 있다. 각 세그먼트는 대개 64k바이트씩 되어 있다. 그림 2.15에서와 같이 프로그램에서 지정하는 논리적 주소는 기억 장소의 실제 기계적 주소와 일치하지 않는다. 이때는 논리적 주소에다 세그먼트 번호를 합하여야 실제 기계적 주소를 얻을 수 있다. 이 세그먼트 기억 장치 관리 방법을 채택하는 컴퓨터로는 인텔(intel)사의 8088/8086 계열의 컴퓨터와 많은 대형 컴퓨터들이 있다. + 기억장치
33
제2장 요약 비트,바이트,단어의 개념 이해 2진수 연산과 관련된 개념이해 시스템버스와 프로세서의 이해
컴퓨터동작의 기본사이클의 이해 선형 및 세그먼트기억장치 관리방법 이해
Similar presentations