2004 부전공연수(정보․컴퓨터)

컴 퓨 터  시 스 템

지도교수 : 오 현 주

과제명 : 1~4장의 주요내용

제출자 : 김 두 호(전기,전자,통신)

I. 컴퓨터시스템 1~2장의 주요내용

1. 폰 노이만의 프로그램 내장방식이란?

- 반드시 Program과 Data가 Memory에 저장되어 있어야만, 해당 프로그램을 실행시킬 수 있다.

- 처리해야할 문제의 해결방법과 순서를 먼저 작성하여 컴퓨터의 기억장치 속에 미리 기억시켜 두고 저장된 명령에 따라 자동적으로 처리하는 방식

- 오늘날에는 상식이 되기에 이른 이러한 원칙은 초기의 대형 컴퓨터뿐만 아니라 그 이후 개발된 소형 컴퓨터의 설계에도 중요한 지침이다.

2. 주어진 10진수를 2진수, 8진수, 16진수로 고치는 방법은?

1) 고전적인 방법...

주어진 10진수를 변환해야할 진수로 거듭 나누어 나머지를 역순으로 가져온다.

2) 2, 8, 16진수의 상호관계를 이용한 방법

주어진 10진수를 2n 테이블을 이용하여 해당 숫자조합을 만드는 자릿수만을 ‘1’을 취하고

아닌 것은 ‘0’을 취하여  2진수로 변환 후 다음과 예와 같이 변형한다.

예) 225일 경우

128	64	32	16	8	4	2	1	2n 테이블
1	1	1					1	합=225=128+64+32+1

◈ 2진수로의 변환

1	1	1	0	0	0	0	1	1110001(2진수)

◈ 8진수로 변환 --- 8=23 을 이용 뒤에서 부터 3자리씩 묶어 변환

1	1	1	0	0	0	0	1	2진수

3	4	1	341(8진수)

◈ 16진수로 변환 --- 16=24 을 이용 뒤에서 부터 4자리씩 묶어 변환

1	1	1	0	0	0	0	1	2진수

D	1	D1(16진수)

3. 컴퓨터에서 뺄셈이 이루어지는 방식을 아래의 내용을 통해 생각해 본다.

1) 컴퓨터 안에, 감산기(뺄셈을 사용하는 연산장치)가 있는가?

- 없다.

2) 12-5는 어떤 방법으로 계산하는가?

- 빼는 수 5의 10에 대한 보수=5를 피감수 12에 더하여 17을 얻고 앞자리를 뺀 7만을 취한다.

3) 보수가 필요한 이유

- 컴퓨터에서는 덧셈만 가능하기 때문에 뺄셈을 비롯한 산술 연산은 덧셈을 응용한 방법으로 결과를 얻어낸다.

4) -5를 1의 보수와 2의 보수로 나타내면?

5의 2진수...101(2),   1의 보수...010(-5),    2의 보수 = 1의 보수 +1...011(-5)

※ 가시적인 숫자는 다르지만 -라고 정의

5) 12-5를 2진수로 계산해 보면

1의 보수로 계산

12-5...1100-0101...(1의 보수)...1100+(1010)=10110<-자리올림을 1의 자리에 더해준다

☞ 0111=7=12-5 값이 된다.

2의 보수로 계산

12-5...1100-0101...(2의 보수)...1100+(1011)=10111<-자리올림은 버린다.

☞ 0111=7=12-5 값이 된다.

※ 2의 보수를 계산하는 순간 1의 보수에서 자리올림을 더하는 부분이 자연적으로 되어진다.

4. 컴퓨터에 사용되는 자료들, 문자, 숫자, 특수문자 등은 2진수로 표현되어져야 한다.

그렇다면, 키보드에 있는 모든 자료들을 2진수로 바꾸어 표현하기 위해선 어떻게 해야할까?

1) 키보드 알의 갯수 103개의 자료를 표현하기 위한 비트수는?

128(27) 보다는 작고 64(26)보다 커야하므로 최소 7자리의 비트가 필요하다.

2) 103개의 자료를 2진수로 나타내는 표준화된 코드체계는?

키보드의 103개의 자료를 표현하기 위하여 7bit + (부호 1비트) 체계인 ASCII코드 체계사용

5. 프로그래밍을 할 때 선언하는 정수형, 실수형, 문자형 자료가 컴퓨터에 저장되는 방식은?

1) 정수형...고정 소수점 데이터 형식으로 제일앞엔 부호비트를 둔다.(소수점이 끝에 있다고 가정)

2) 실수형...부동 소수점 데이터 형식을 사용하여 부호비트1개, 지수부+기수부로 나타낸다.

지수부와 기수부도 2진수로 변환하여 저장한다.

3) 문자형...다음과 같은 방식이 사용되고 있다.

※ 아스키코드(ASCII) : 패리티코드(1)+존비트(3)→(001:숫자,100:A~O,101:P~Z)+디지트비트(4개)

→8비트 체계

※ BCD코드 : 6비트를 사용하여 하나의 문자를 표현하는 방식

※ 한문자를 8비트로 나타내어 기존의 BCD코드를 확장한 코드로 256개의 문자까지 표현가능

6. 컴퓨터의 모든 회로를 설계하는 이론이 되어지는 부울 대수를 이용하여 아래의 회로를 설계해

보시오.

패리티 비트는 2진 정보와 함께 전송되면, 정보를 받은 후 오류를 검출하기 위하여 패리티 비트가 검사되고, 검사된 패리티가 전송된 패리티와 일치하지 않을 경우 오류가 검출된다.

전송부에서 패리티를 산출하는 회로를 “패리티 발생기”라고 하고, 수신측에서 패리티를 검사하는 회로를 “패리티 검사기”라 한다.

홀수 패리티 비트와 함께 3개 비트의 정보를 전송하려고 한다.

이때 홀수 패리티 피트를 만드는, “패리티 발생기” 회로를 설계해 보시오.

1) 입력/출력 변수 설정 : 각각 몇 비트가 필요한지 정한다.

입력비트수...3개비트+ 출력비트수 패리티 1개 비트

(패리티 발생기-세개 입력비트에 따라 패리티가 변한다)

x	y	z	P	논리식
0	0	0	1	x'y'z'
0	0	1	0
0	1	0	0
0	1	1	1	x'yz
1	0	0	0
1	0	1	1	xy'z
1	1	0	1	xyz'
1	1	1	0

2) 회로 결선도

※ 출력이 1이 되게 하는 입력만 모아 AND 게이트로 묶어 패리티를 만들고

각각을 Or 게이트로 모은다.(최적화생략)

II. 컴퓨터시스템 3~4장의 주요내용

1. 64M DRAM(입출력선 24bit : 한꺼번에 처리 가능한 데이터 양)인 메모리가 있다.

주소, MAR, MBR을 중심으로 메모리의 블록도를 그려보시오.

1) MAR-주소저장에 필요한 bit 수 : 64M = 26× 220 = 226  ⇒ 26bit가 필요하다.

주의) 입출력선이 24bit이기 때문에 RAM의 구조를 설계할 수 없다.

다른 예를 들어 설명하기로 한다.

예) 1KB RAM, win98(16bit)사용

MAR-주소저장에 필요한 bit 수 : 1K=1024=210 ⇒ 10bit가 필요하다.

MBR-데이터 저장에 필요한 bit 수 : Win98체제에서는 16bit

◈ 메모리 블럭도

1K RAM

(i/o 16)

MAR

(주소저장)

MBR

(data의 임시저장소)

W

R

16bit

10bit

0

1024

16bit

2. 컴퓨터 시스템엔 다양한 기억장치들이 있다.

가격, 속도, 저장용량 등을 전제로 메모리들을 나타내 보시오.

◈ 기억장치의 계층구조

기억장치 속도 증가

비트당 기억장치의

비용증가

기억장치 용량 감소

프로그램과 데이터를

직접 읽을 수 있다.

실행되기 위해서는 프로그램이나 데이터가 주기억장치에 옮겨져야 한다.

레지스터

캐시

주기억 장치

보조기억장치

◈ 기억장치의 종류와 특징

	장치	접근속도	메모리용량에 따른 비용
주기억장치	동적RAM	빠름	높음
캐쉬기억장치	캐쉬(정적RAM)	가장빠름	가장높음
보조기억장치	하드디스크	보통	보통
	CD-ROM	느림	낮음
	백업테이프	매우느림	매우낮음

3. PC에 사용되는 RAM에는 2가지 종류가 있다.

즉, SRAM과 DRAM인데, 이들에 대해 간략하게 설명하시오.

◈ SRAM - 전원이 공급되는 한 내용이 기억되며, 복잡한 재생 클럭이 필요 없고 속도는 빠르지만

가격이 비싸 작은 용량의 메모리에 사용되고 있다.

◈ DRAM - 기억된 자료를 유지하기 위한 Refresh pulse를 항상 공급해야 하며,

가격이 싸 대용량에 적합,

PC의 대부분의 RAM은 이 방식을 사용하고 있다.

◈ 정적 RAM과 동적 RAM의 비교

	정적 RAM	동적 RAM
구성	플립플롭으로 구성된 기억장치이다. 전원만 있으면 계속 기억된다.	콘덴서로 구성된 기억장치이다. 일정한 주기로 재기억 시켜야한다.
사용	고속처리가 요구되는 기억장치에 사용된다.	주기억장치로 사용된다.
장점	속도가 고속이다. 원하는 내용에 즉시 접근가능하다. 특수 목적 기억장치로 사용한다.	회로가 간단하고, 소비전력이 적다. 집적도가 높다(LSI, VLSI, ULSI) 가격이 저렴하다.
단점	소비 전력이 크고 집적도가 낮다 고가이다.	처리속도가 늦다. 일정한 주기로 재생하여야 한다.

4. RAM, ROM, Flash Memory에 대해 간단히 설명해 보시오.

1) ROM : Read only memory

비휘발성-전원 공급이 중단되어도 내용 기억

쓰기-읽기는 자유롭지만, 쓰기는 별도장치 사용

종류-Mask Rom, PROM, EPROM

2) RAM : Random access memory

휘발성-전원 공급이 중단되면 기억된 내용 소멸

읽기쓰기-자유롭다.

종류-정적RAM(SRAM), 동적RAM(DRAM), VRAM(Video RAM)

3) Flash Memory

ROM과 RAM의 장점 수용

읽기 쓰기 자유롭고 비휘발성이다.

가격이 비싸다.

5. ROM Bios에 대하여, booting이 되어지는 과정을 전제로 설명하시오.

booting ① RAM, Keyboard, HDD의 상태체크(입출력 I/O의 상태체크)

② 제조회사 프로그램 로딩, setup 프로그램 로딩

③ ROM Bios(Basic input Output System) 메모리에 OS를 로딩

④ 향후 flash memory로 대체가능성이 높다.

6. CPU의 구성요소 및 각각의 기능에 대해서 논하시오.

CPU : 연산장치+레지스터 세트+제어장치

1) 연산장치

산술연산-사칙연산(ALU)처리, 논리연산(Or, And, Not, Shift)

2) 레지스터세트

연산결과를 임시로 저장하는 레지스터:AC(accumulator)

명령수행에 필요한 레지스터-MBR, MAR, PC, IR 등이 있다.

3) 제어장치

① program, data 등을 memory에 instruction format으로 저장한다.

② instruction의 수행절차를 제어한다.(read-해독-실행)

③ 주변장치를 제어한다.(RAM, USB, BUS, Video, ... )

7. 아래의 조건을 만족하는 instruction format를 그리시오.

① instruction 크기 : 32비트

② 명령의 종류 : 1024개 - 210 - 오퍼레이션 비트수 = 10

③ 직접/간접 비트 : 1개 - data(0), address(1)의 구별에 사용

instruction 크기 32비트
10	1	21
Operation bit	직/간접비트	Operand

8. 위 문제에서 instruction format대로 메모리의 10번지에 아래의 명령이 저장되어 있다.

“MUL 56700”(단, 직/간접 비트 : 0)

이 명령이 실행되는 절차를 필요한 장치들을 그려서 설명하시오.

해독기

주소처리기

MAR

MUL

Ø

56700

PC

MUL

Ø

56700

MUL

Ø

56700

①

②

③

③

10

⇩

⇩

⇩

IR

⇩

①	PC - 다음에 수행할 명령의 주소를 가지고 있다. (10번 주소를 가지고 있다.) 10번 명령을 실행하기 위하여 →PC의 주소를 MAR로 가져온다. →즉 10번을 읽어온다. →MBR로 10번지의 자료를 보낸다.	MAR←PC(PC의 주소를 MAR에 넣고 MBR←MAR(MAR이 가리키는 주소의 데이터를 MBR로 가져온다.)
②	MBR에 있는 명령을 instruction 레지스터로 넣어서 해독할 준비를 한다.	IR←MBR
③	IR의 내용 중 명령은 해독기로, 주소는 주소처리기로 보낸다.	해독기←IR(op code) 주소처리기←(operand)
④	실행한다.
⑤	다음 명령을 위해 PC를 1 증가시킨다.	PC←PC+1

9. CPU, RAM, I/O 장치 사이에 전송되어지는 다양한 자료들은 BUS에 의해서 운반되어 지는데,

BUS가 운반하는 3가지의 자료엔 무엇이 있는가?

① 자료의 전송 : data BUS

② 주소의 전송 : address BUS

③ 제어신호의 전송 : control signal BUS