• 검색 결과가 없습니다.

3장 컴퓨터 구조

N/A
N/A
Protected

Academic year: 2023

Share "3장 컴퓨터 구조"

Copied!
56
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

3장 컴퓨터 구조

컴퓨터공학 개론

(2)

학습 목표

 컴퓨터의 동작을 이해하는 것이 왜 필요한지 배운다.

 CPU는 무엇이고, 어떻게 동작하는지 배운다.

 디지털 논리 회로가 어떻게 동작하는지 배운다.

 기본적인 부울(Boolean) 연산에 대해 배운다.

 기본적인 논리 게이트가 어떻게 동작하는지,

또 이것이 복잡한 컴퓨터 회로를 구축하는데

어떻게 사용되는지 이해한다.

(3)

학습 목표(계속)

폰 노이만(Von Neumann) 구조의 중요성을 배운다.

컴퓨터가 어떻게 메모리를 사용하는지 이해한다.

시스템 버스가 무엇이고 그것의 목적은 무엇인지 배운다.

메모리와 저장 장치의 차이점을 이해한다.

기본적인 입/출력 장치에 대해 배운다.

컴퓨터가 어떻게 인터럽트와 폴링을 사용하는지 이해한다.

(4)

컴퓨터 구조를 배워야 하는 이유

 컴퓨터: 소프트웨어를 실행시키기 위해 디자인된 하드웨어

 컴퓨터 과학 전공자를 위한 중요한 공지:

하드웨어와 소프트웨어간의 논리적 연결을 이해하라

 컴퓨터 구조: 컴퓨터 시스템에 존재하는

하드웨어 컴포넌트들의 구성

(5)

본체 내부

 컴퓨터 구조: 외부적 관점

모니터

키보드와 마우스

컴퓨터 케이스

 CPU (central processing unit)

케이스 안의 메인보드 또는 마더보드에 존재

다른 모든 것들은 CPU를 지원하기 위해 존재

컴퓨터 구조 공부의 포인트

(6)
(7)

그림 3-2 컴포넌트의 이름이 표시된 메인 보드

(8)

CPU

 CPU는 컴퓨터

실제 처리를 수행하는 디지털 컴포넌트를 포함

수백만 개의 트랜지스터로 이루어짐

 트랜지스터

켜짐(on) 상태와 꺼짐(off) 상태를 나타낼 수 있는 소형 전자 스위치

칩 하나에 수 백만개의 트랜지스터가 들어감

회로: 트랜지스터가 모여 이루어진 상위구조

(9)

CPU (계속)

 네 가지 기본 기능 : 덧셈, 디코딩, 시프팅, 저장

 기능을 수행하는 네 가지 회로

가산기 : 덧셈, 뺄셈, 곱셈, 나눗셈을 수행

디코더 : 패턴이 인식되면 특정한 비트의 출력을 1로 설정

시프터: 비트들을 오른쪽 또는 왼쪽으로 이동

플립-플롭 (래치): 메모리 비트를 저장

(10)

트랜지스터의 동작

 구성 재료: 실리콘 또는 게르마늄

 논리적 구성: 이미터, 컬렉터, 베이스

 전기 스위치같은 트랜지스터

베이스는 현재 전원 상태를 제어

전압의 출력으로 1과 0을 표현

 크기: 펜티엄 IV CPU에서 트랜지스터의

너비는 130 나노미터(nanometer)

(11)

그림 3-3 NOT 게이트와 같은 논리 회로를 만드는데 사용되는 트랜지스터

(12)

디지털 논리 회로

 논리 회로

트랜지스터 구성의 다음 단계

단계적 스위칭 기능을 갖는 트랜지스터

부울 대수 표현 기능

 부울 대수

이진 입력과 출력의 관계를 기술

기본 연산자: AND, OR, NOT

부울 대수의 값은 참(1), 거짓(0)

부울 수식은 부울 연산자와 이진 값으로 이루어짐

(13)

디지털 논리 회로(계속)

 진리표

부울 수식을 표를 사용하여 표현한 것

행은 가능한 모든 입력의 조합을 나타냄

2n 개의 행은 n 개의 입력이 필요 (n이 양수일 경우)

예: 2개의 입력은 4개의 행을 나타냄 22 = 4

(14)

기본 부울 연산자

세 가지 기본 연산자 : AND, OR, NOT

AND 연산자

두 개의 값(x, y)을 입력 받아 하나의 출력(z)을 만든다.

두 개의 입력이 모두 1일 때 출력이 1(참)

x = 1, y = 1 -> z = 1

다른 모든 입력 조합은 0을 출력

부울 수식 : xy = z

(15)

기본 부울 연산자(계속)

OR 연산자

두 개의 값(x, y)을 입력 받아 하나의 출력(z)을 만든다.

두 개의 입력 중

하나만 1이면 1을 반환

두 개의 입력이 모두 0일 때 출력이 0(거짓)

부울 수식 : x + y = z

(16)

기본 부울 연산자(계속)

NOT 연산자

하나의 입력 (x) 으로 하나의 출력 (z)을 만듬

입력을 반대로 만드는

x = 1 -> z = 0

x = 0 -> z = 1

부울 수식: x = z or x

= z

(17)

디지털 빌딩 블록

회로 계층

게이트: 부울 논리를 구현하기 위해 컴퓨터에 있는 트랜지스터 기반 회로

게이트의 조합은 결국 컴퓨터가 원하는 모든 작업을 할 수 있도록 만들어 준다

연관성

서로 다른 전압 레벨로 이진의 0과 1을 표현

하나의 게이트에서 나온 출력은 다른 게이트에 대한 입력 중의 하나가 된다

기본 게이트 6가지

AND, OR, NOT (기본 게이트)

NAND, NOR, XOR (AND, OR, NOT으로 구성)

(18)

디지털 빌딩 블록 (계속)

AND 게이트

두 개의 입력과 하나의 출력으로 구성

진리표는 AND 부울 연산자의 진리표와 동일

(19)

디지털 빌딩 블록 (계속)

OR 게이트

두 개의 입력과 하나의 출력으로 구성

진리표는 OR 부울 연산자의 진리표와 동일

(20)

디지털 빌딩 블록 (계속)

NOT 게이트

하나의 입력과 하나의 출력으로 구성

진리표는 NOT 부울 연산자의 진리표와 동일

(21)

디지털 빌딩 블록 (계속)

NAND 게이트

AND 게이트의 출력을 받아서 NOT을

사용하여 반대로 만든

출력은 AND 게이트의 출력과 정확히 반대

(22)

디지털 빌딩 블록 (계속)

 NOR 게이트

OR 게이트의 출력을 받아서 NOT을 사용하여 반대로 만든 것

출력은 OR

게이트의 출력과 정확히 반대

(23)

디지털 빌딩 블록 (계속)

XOR 게이트

Exclusive OR

입력이 서로 다르면 출력이 1

(24)

게이트 행동

게이트의 예측

진리표로 예측 가능

모든 입력 집합에 대한 출력은 진리표에서 주어진 명세에 따름

복잡한 특수 회로를

구성하기 위해 게이트를 연결

게이트로부터 나온 출력은 또 다른 게이트를 위한 입력으로 연결

예제: 두 개의 2-입력 AND 게이트로부터 3-입력 AND

(25)

복잡한 회로

4개의 주요 회로

가산기, 디코더, 시프터, 플립-플롭

기본 게이트의 조합

가산기

기능: 두 개의 이진수를 더해서 결과를 생성

입력: 더할 두 개의 비트 (x, y) 와 한 개의 캐리-인 (ci)

출력: 더해진 비트 (s) 와 하나의 캐리-아웃 (co)

(26)

복잡한 회로 (계속)

디코더

기능: 주소 할당, 입출력 장치 선택

주어진 입력 패턴에 대해 출력 라인이 선택

n 개의 입력을 가진 회로는 2n 줄을 제어 가능

예제: 32 개 입력은 40억 줄을 제어가능

두개의 입력을 가진 디코더

네 가지의 출력이 가능

진리표는 네 개의 진리표를 하나로 합한 것

(27)

복잡한 회로 (계속)

플립-플롭

래치 회로의 특수한 형태

기능: 비트를 잡아서 변경될 때까지 출력 상태를 유지

입력: S (set) 와 R (reset)

출력: Q 와 Q

저장 장치에 사용

CPU의 고속 메모리 SRAM, 캐시

(28)

복잡한 회로 (계속)

 시프터

용도: 곱셈과 나눗셈과 같은 수학 연산에 많이 사용

기능: 입력 만큼 왼쪽이나 오른쪽으로 비트를 이동

(29)

복잡한 회로 (계속)

 다른 회로: 멀티플렉서, 패리티 생성기, 계수기

 구성 과정 3단계

각각의 가능한 입력 배열에 대해 원하는 출력을 보여주는 진리표를 구성

이러한 진리표와 동등한 부울 대수를 생성

완성된 부울 수식을 구현하는 회로 다이어그램을 생성

(30)

복잡한 회로 (계속)

 현대적 디자인은 소프트웨어 지원의 성과

 집적회로 (IC)

모든 회로를 한 장의 반도체 소재 위에 집적

초고밀도 집적회로 (VLSI) 칩

수백만 개의 회로를 가지고 있는 칩

(31)

폰 노이만 구조

다음과 같은 특성을 가지는 다목적 기계:

메모리로부터 이진 명령을 가져와서 순차적으로 처리한 다음 그 명령을 실행

명령과 데이터는 모두 주기억 장치 시스템에 저장

명령 실행은 중앙 처리 장치(CPU)에 의해 수행

CPU 의 구성:

제어 장치 (CU)

연산 장치 (ALU)

레지스터 (소형 기억 장치).

CPU는 외부 장치로부터 입력을 받아들일 수 있고 출력을 제공할 수 있는 능력을 가지고 있다.

(32)

그림 3-19 폰 노이만 구조

(33)

폰 노이만 구조 (계속)

 일반적인 인출-실행 사이클 :

제어 장치는 주기억 장치로부터 명령을 인출하기 위해 프로그램 계수기(counter)를 사용한다.

명령은 실행을 완료하기 위해 필요한 데이터가 무엇인지 결정하기 위해 디코드된다.

필요한 다른 데이터도 메모리로부터 인출되어 다른 레지스터에 저장된다.

ALU는 필요하다면 레지스터에 있는 데이터를 사용하여 명령을 실행한다.

명령을 수행하는데 필요한 입력 또는 출력 연산이 수행된다.

(34)

폰 노이만 구조 (계속)

 크리스탈 (시스템) 클록은 인출-실행

사이클에 있는 각각의 단계를 동기화 한다.

컴퓨터는 종종 이러한 클록 속도로 불리어 진다.

예: 펜티엄 IV, 3GHz / 매초마다 30억 개의 인출- 실행 단계를 완료하고 있다.

 클록 속도의 경향

60년 넘게 컴퓨터의 대들보 역할

클록 속도는 100MHz 근처에서 벽을 만났다.

전류의 법칙과 물리적 성질에 의한 한계

(35)

버스

버스: 데이터 전송에 필요한 전선, 규칙, 프로토콜의 집합

컴포넌트들은 시스템 버스로 연결되어 있다.

버스 전선은 다음과 같은 세 가지 신호 그룹으로 나눌 수 있다:

제어

주소

데이터

오늘날 버스의 기준: PCI (Peripheral Component Interconnect)

(36)

주변 장치 버스

 SCSI: Small Computer System Interface

다양한 유형의 I/O 장치를 컴퓨터와 연결시키는데 사용

버스 마스터링은 두 장치가 서로 통신하는

동안 CPU가 다른 과제를 수행하도록 해 준다.

(37)

저장 장치

 저장 장치: 프로그램과 데이터를

저장하는데 사용되는 컴포넌트의 구성원

 저장 장치 계층

주 기억 장치

보조 기억 장치 (대량 저장 장치)

(38)

메모리

 두 가지로 구분

ROM (read-only memory)

칩에 영구적으로 새겨짐

일반적으로 수정이 불가능

BIOS (basic input/output system) 에 사용

RAM (random access memory)

메모리 직접 접근 가능

읽기, 쓰기 허용

휘발성

CPU는 RAM에서 프로그램을 인출하여 실행

(39)

메모리 (계속)

 RAM의 종류

DRAM (Dynamic RAM)

비트당 하나의 트랜지스터를 사용한 회로로 만들어짐

저장된 데이터를 유지하기 위해 계속적으로 데이터를 새롭게 하는 것이 필요

접근 시간은 10-70ns의 범위

SRAM

플립-플롭 회로를 사용하여 만들어짐

모든 메모리 유형 중에서 가장 빠르다

CPU의 레지스터나 캐시 메모리에만 사용

(40)

대용량 저장 장치

 보조 기억 장치 특성

RAM이나 ROM에 비해 훨씬 많은 저장 용량

하드 드라이브나 CD-ROM과 같은 장치를 사용

메가바이트 당 가격이 훨씬 저렴

비휘발성

RAM과 ROM에 비해 느림

(41)

대용량 저장 장치 (계속)

 하드 드라이브

대용량 저장 장치 중에서 가장 널리 사용되는 형태

자기 입자로 구성된 하나 이상의 금속 원반

트랙이라고 불리는 동심원의 집합

트랙은 섹터로 나누어짐

원반은 보통 1분에 7200 회전 정도로 빠르게 회전

판독/기록 헤드는 디스크 표면의 특정 지역에 위치

RAM에 비해 비교적 저렴

RAID (Redundant Array of Independent Discs)

(42)

그림 3-20 하드 드라이브 원반과 판독/기록 헤드

(43)

대용량 저장 장치 (계속)

 광학 저장 장치

널리 사용되는 장치: CDs (compact disks) 와 DVDs (digital video disks)

광학(빛) 기술을 사용하여 데이터를 저장

CD의 표면에 미세한 홈을 만드는 레이저를 사용

디스크의 안쪽에서부터 바깥쪽으로 연속적인 나선형을 이루며 기록

하드 디스크와 마찬가지로, CD도 회전

판독/기록 헤드는 디스크 표면의 특정 지역에 위치

저장 비용이 저렴

(44)

대용량 저장 장치 (계속)

 플래시 드라이브

USB(universal serial bus)에 꽂는 이동식 저장 장치

플로피 드라이브를 대체

비휘발성 플래시 메모리 사용

저장 비용이 저렴

(45)

입/출력 장치

 폰 노이만 구조에 있는 마지막 컴포넌트

 I/O 장치는 컴퓨터를 사용자와 연결시켜

준다

(46)

입력 장치

키보드

대부분의 컴퓨터 시스템에서 주 입력 장치

키보드 제어 회로와 시스템 버스를 통해 CPU와 연결

키 입력은 1과 0의 이진 신호로 변환되고, CPU에 의해 문자, 숫자, 제어 코드로 해석

마우스

키보드와 함께 사용

이동을 감지하여 감지된 이동을 이진 코드로 변환

다른 장치: 트랙볼, 스타일러스, 터치패드/ 스크린

(47)

그림 3-21 주변 장치와 연결하기 위한 여러 개의 포트를 제공하는 마더보드

(48)

출력 장치

 외부 세계와 통신하는 능력

 모니터

1차적인 출력 장치

CRT (cathode ray tubes)

래스터 스캐닝 기술 사용

디스플레이의 질은 해상도와 주사율에 의해 정의

LCD (Liquid Crystal Display)

CRT 디스플레이에 비해 훨씬 얇고, 열이 덜 발생

전압이 걸리면 빛을 막는 소형 트랜지스터를 사용 디스플레이의 질은 해상도와 주사율에 의해 정의

(49)

그림 3-22 LCD와 CRT 모니터의 비교

(50)

출력 장치 (계속)

 프린터

중요한 출력 장치

주요 종류: 잉크젯과 레이저 프린터

프린터 출력의 질은 수평과 수직 방향 모두에 대한 해상도로 측정

 사운드 카드

메인 보드에 있는 PCI 버스 확장 슬롯에 장착

저장 장치에 저장할 수 있도록 사운드를

디지털화하고, 이진 사운드 파일을 읽어서 그것을 다시 아날로그 사운드로 변환

(51)

인터럽트와 폴링

 CPU 명령어 사이클은 클록 속도와 동일

 CPU는 프로세스가 필요한 만큼 사이클을 맡김

두 가지 기법 제공

폴링: CPU가 I/O 장치에 요청이 있는지 질문

인터럽트 처리: 서비스의 요청에 따라 I/O 장치를 초기화

(52)

최선의 컴퓨터 하드웨어 선택법

 정해진 것은 없음

 상황에 따라 다름

 몇 가지 기준

장치의 사용 목적

메모리 유형, 버스 속도, 하드 드라이브 속도의 확인

모델의 비교

의견 수렴

가격 고려

(53)

맺는 말

 모든 컴퓨터 공학은 구조적 개념이 필요

 지속적으로 새로운 기술에 관심을 가져야 한다

 최신 기술을 유지한다

(54)

요약

 컴퓨터 구조: 하드웨어 구조

 폰 노이만 구조: 현대 컴퓨터의 표준

 폰 노이만 컴퓨터의 컴포넌트:

중앙 처리 장치 (CPU)

메모리 (계층적으로 구성)

입출력 장치

 CPU: 연산장치/제어장치/레지스터

 시스템 컴포넌트는 버스를 통해 연결

(55)

요약 (계속)

 명령 사이클: 인출-디코드-실행

 클록 속도에 따라 명령 실행

 기본 회로: 가산기/디코더/플립- 플롭/시프터

 통합 회로는 트랜지스터와 다른

컴포넌트가 들어 있는 칩의 조합이다.

 논리 회로는 부울 대수가 기반이다.

(56)

요약 (계속)

 기본 회로 (또는 게이트) 6개

AND, OR, NOT, NAND, NOR, XOR

 모든 회로는 진리표와 부울 수식으로 표현

가능

참조

관련 문서

 지역 인터넷 서비스 제공자(Regional Internet Service Provider).  지역 ISP 또는 하나 이상의 NSP에

– 협업활동을 지원하기 위한 기능과 서비스로 문서작성, 논평, 정보공유, 화상회의, 일정관리, 이메일 및 네트워크 기반의 협업 지원 소프트웨어

폼을 열어 레코드들이 표시될 때 발 생하며, 이 이벤트는 Current 이벤트 전에 발생하고 Open 이벤트 후에 발 생함.

[r]

넷째,각 학생별 컴퓨터 활용능력 편차가 크다.이 특성은 초등학교 각 학교 학급간 의 컴퓨터 교육의 계속성과 연관된 문제로서 각 학교 학급에서 컴퓨터 교육과

강한 AI 는 단순한 컴퓨터가 아니라 프로그램된 컴퓨터 정신이라 는 것이 깃든 AI 를 말한다.. 인간의 사고와 같이 컴퓨터

학생들은 기본적인 전개도위에 상상력을 동원하여 그림을 그리고 조립했을때의 이미지를 떠올려본다.. 어떻게 아이디어를

학습한 원리를 이용하여 어떻게 하면 플라잉 디스크를 멀리 던질 수 있는지 이해한다.. 날개가 없는데 어떻게