code ch.21 버스에 올라 탑시다

31

Click here to load reader

Upload: hyeonseok-choi

Post on 20-May-2015

342 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: CODE Ch.21 버스에 올라 탑시다

CODE Ch. 21버스에 올라탑시다

chois79

13년 3월 18일 월요일

Page 2: CODE Ch.21 버스에 올라 탑시다

Introduction• 프로세서가 컴퓨터를 구성하는 유일한 요소는 아니다.

• RAM, 저장 장치등은 어떻게 연결하면 될까?

• 컴퓨터를 구성하는 모든 직접 회로는 회로 기판에 부착되어야 함 (Printed Circuit Board)

• 모든 IC가 하나의 회로기판에 집적되기도 함

• 컴퓨터를 구성하는 다양한 요소는 여러개의 기판에 나누어 두는것이 효과적

• 버스는 이러한 기판간의 통신에 사용

13년 3월 18일 월요일

Page 3: CODE Ch.21 버스에 올라 탑시다

버스(Bus)• 디지털 신호들의 집합으로, 컴퓨터를 구성하는 다양한 보드로 전력을 공급

• 주소신호

• 마이크로 프로세서에서 생성

• RAM아니 다른 장치에 접근하기 위한 주소로 사용

• 데이터 출력신호

• 마이크로 프로세서에서 생성

• RAM이나 다른 장치에 데이터를 기록할때 사용

• 데이터 입력 신호

• 다른 구성요소에 의하여 생성되며, 마이크로 프로세서가 읽어감

• 제어 신호

• 마이크로 프로세서가 컴퓨터를 동작시킬때 만들어 내는 제어 신호

• ex) Clear, Write ...

13년 3월 18일 월요일

Page 4: CODE Ch.21 버스에 올라 탑시다

개인용 컴퓨터를 위한 Bus의 역사

13년 3월 18일 월요일

Page 5: CODE Ch.21 버스에 올라 탑시다

S-100초기 개인용 컴퓨터를 위한 버스• 1975년, 최초의 개인용 컴퓨터인 MTS 알테어에 사용된 버스

• 8080칩을 위해 설계 되었으며, 주소 신호 16개, 데이터입력 신호 8개, 데이터 출력신호 8개, 인터럽터 신호 8개로 구성

• 한쪽 끝에 100핀 컨넥터를 끼울 수 있는 소켓이 달려 있음

• S-100 버스를 채택한 컴퓨터는 보통 12개 정도의 소켓을 가진 마더 보드라 불리는 기판을 가지고 있음

• 8080 컴퓨터의 회로기판에는 인터럽트 처리를 위한 전용 칩인 인텔 80214 우선순위 기반의 인터런트 제어기(PIC) 가 포함되어 있음

• PIC는 인터럽트 발생시 RST 명령을 프로세서로 전달하여, 프로세서가 프로그램 카운터를 저장하고, 특정 번지로 분기할 수 있게 해 줌

13년 3월 18일 월요일

Page 6: CODE Ch.21 버스에 올라 탑시다

ISA(Industry Standard Architecture)• IBM에서 최초의 PC를 위하여 설계한 버스 규격

• ISA 규격을 사용하는 확장 보드는 62핀 컨넥터를 사용

• 주소신호 20핀, 입/출력 8핀, 인터럽터 6핀, DMA 요청신호 3핀을 포함

• DMA를 사용하는 경우에 마이크로프로세서의 도움 없이 메모리에 대한 읽기와 쓰기를 직접 수행

• S-100과의 차이점

• S-100은 모든 구성요소가 확장보드를 통하여 부착되는 형태

• IBM PC: 마이크로프로세서, 주요 지원 칩셋, RAM의 일부가 마더 보드에 위치

• 1984년, IBM은 16비트 마이크로프로세서인 80286을 채용한 PC-AT를 공개

• ISA 버스를 확장하여 기존 컨넥터에 36핀을 추가

• 주소 신호 7핀, 데이터 입/출력 8핀, 인터럽터 5핀, DMA 요청신호 4핀

13년 3월 18일 월요일

Page 7: CODE Ch.21 버스에 올라 탑시다

ETC..

• 컴퓨터가 향상됨에 따라 데이터의 폭이나 주소 신호의 수가 늘어나므로 버스는 확장되거나 다른 규격으로 대체되어야 함.

• 초기 버스들은 고속동작에 대해 고려하지 않았으므로, 정전기나 전파 간섭 문제가 발생할 수 있었음.

• 1987년 IBM은 마이크로 채널구조(MCA)를 공개

• 특허에 따른 라이선스 비용으로 산업계 표준이 되지 못함

• 1988년 IBM을 제외한 9개의 회사 협의체에서 32비트 EISA 버스를 공개

• 최근 PC 호환 시스템의 경우 인털에서 설계한 PCI 버스를 사용

13년 3월 18일 월요일

Page 8: CODE Ch.21 버스에 올라 탑시다

좀 더 간단했던 1970년대 중반으로 돌아

컴퓨터 보드를 설계해 보자

13년 3월 18일 월요일

Page 9: CODE Ch.21 버스에 올라 탑시다

Memory13년 3월 18일 월요일

Page 10: CODE Ch.21 버스에 올라 탑시다

1 Bit 저장을 위한 Memory

• 주소 입력에 사용되는 비트의 수는 RAM에서 저장할 수 있는 값의 수

• RAM에 저장될 수 있는 값의 수 = 2주소 입력의 수

• 1970년대 중반에 사용된 2012 메모리 칩

• 1024비트를 저장

• 읽기 접근 시간이 350나노초에서 1000나노초까지 존재하므로 용도에 따른 선택적 사용이 가능

• R/W신호: 1의 값을 가질때 읽기 동작이 수행

• 데이터를 기록할 경우 이 신호를 170 ~ 550 나노초 정도 0으로 만들어야 함

• CS신호: 1의 값을 가지고 있을 때 칩은 선택되지 않은 상태이며, R/W 신호에 반응하지 않음

13년 3월 18일 월요일

Page 11: CODE Ch.21 버스에 올라 탑시다

1 Byte 저장을 위한 Memory

• 8비트 마이크로세서를 위한 메모리를 구성할때 1비트단위보다 8비트 단위로 구성

• 2012칩 8개를 연결해서 사용, 1024x8(1KB RAM)

• S-100 기판에는 64개의 메모리 칩을 부착할 수 있음. (8KB)

• 여기서는 32개의 메모리칩을 사용 (4KB)

• 뱅크: 바이트 단위로 데이터를 저장하도록 메모리를 묶음

• 4KB: 8개의 칩을 하나의 뱅크로 총 4개의 뱅크로 구성됨

13년 3월 18일 월요일

Page 12: CODE Ch.21 버스에 올라 탑시다

메모리 주소 지정• 4개의 뱅크를 가지는 4KB 크기의 메모리를 위한 16비트 메모리 주소 신호의 구성

• 보드 선택 신호: 어떤 메모리 보드로 주소가 공급될지를 결정

• 64KB 메모리 영역에서는 16개의 4K 영역으로 구성

• 4KB 메모리를 A000h ~ AFFFh로 사용할 경우 뱅크별 주소

• 1번째 뱅크: A000h ~ A3FFh

• 2번째 뱅크: A400h ~ A7FFh

• 3번째 뱅크: A800h ~ ABFFh

• 4번째 뱅크: AC00h ~ AFFFh

13년 3월 18일 월요일

Page 13: CODE Ch.21 버스에 올라 탑시다

주소지정 - 보드• 4KB 메모리 보드의 경우 할당할 수 있는 주소가 변경될 가능성이 있음

• 변경 가능성은 딥 스위치를 이용함으로 해결

• 버스에서 오는 메모리 주소의 상위 4비트와 딥 스위치를 통하여 설정된 값을 비교

• A13과 A15의 스위치를 닫을 경우, 이는 해당 메모리 보드의 A000h ~ AFFF까지의 메모리 영역에 배치한다는 의미

13년 3월 18일 월요일

Page 14: CODE Ch.21 버스에 올라 탑시다

주소지정 - 뱅크• 보드 선택의 Equal 신호를 뱅크 선택의 입력으로 사용

• 16장에서 RAM에서 출력을 위해 선택기를 사용

• 여기서는 선택기를 사용할수 없음

• 일반적으로 TTL 호환 IC의 출력은 논리값 1을 표현하기 위해 2.2볼트 보다 높은 값을 사용, 0을 표현하기 위해 0.4 볼트보다 낮은 값을 사용

• 출력을 서로 연결할 경우 알수 없는 결과가 나오기 때문에 출력을 연결하지 않음

• 2012칩의 데이터 출력은 3상 출력을 가질 수 있음

• 아무일도 하지 않는 상태가 존재

• CS 신호가 1인 경우 데이터 출력이 이 상태가 됨.

• 3상 출력을 초기 버스를 동작시키는데 필수적인 개념

13년 3월 18일 월요일

Page 15: CODE Ch.21 버스에 올라 탑시다

etc.• 2012칩은 SRAM(Static Random Access Memory)라 알려져 있음

• DRAM(Dynamic Random Access Memory)과의 차이점

• 오늘날의 컴퓨터는 대부분 보드에 메모리를 위한 소켓을 가지고 있음

• SIMM(Single inline memory modules): 단면

• DIMM(Dual inline memory modules): 양면

SRAM DRAM

1bit당 트랜지스터 수 41

(복잡한 주변회로 필요)

전원이 유지되는 동안Refresh 동작 X

O(1초에 수백번)

13년 3월 18일 월요일

Page 16: CODE Ch.21 버스에 올라 탑시다

Monitor13년 3월 18일 월요일

Page 17: CODE Ch.21 버스에 올라 탑시다

영상 출력 장치• 비디오 어댑터

• 영상 표시를 위한 신호를 제공하는 전자 장비

• 대부분의 경우 자체 기판을 구성하고 있어, 비디오 보드, 혹은 비디오 카드라 불림

• 영상 표시 장치의 구성

• 하나의 광선이 연속적으로 아주 빠르게 훑고 지나가면서 영상을 표시

• 왼쪽에서 시작해서 오른쪽으로 지나가며 오른쪽 끝에 도달하면 다음 줄의 왼쪽 끝으로 이동

• 주사선: 왼쪽으로 돌아가는 수평 줄

• 수평귀선: 주사선이 주사를 마치고 다음 주사선의 앞 부분으로 되돌아가는 동작

• 수직귀선: 마지막 주사선의 끝에 도달하여, 왼쪽 맨 윗줄로 돌아가는 과정

• 미국 텔레지번 신호의 정의: 수직귀선은 1초에 60회

13년 3월 18일 월요일

Page 18: CODE Ch.21 버스에 올라 탑시다

영상 출력장치 - 텔레비전

• 비월 주사 방식을 사용

• 한장의 완전한 영상을 만들기 위해 2개의 필드 영상이 필요

• 각 필드 영상은 전체 화면이 가지고 있는 전체 주사선중 절반씩 가지고 있음

• 짝수필드(even field), 홀수필드(odd field)

• 수평 주사율: 수평 주사선이 그려지는 주파수를 의미, 15,750Hz

• 15,750Hz / 60Hz(수직귀선) = 262.4 (하나의 필드의 주사선의 수)

• 완전한 영상은 525줄의 주사선을 가짐

• 대역폭: 해당 신호의 변화에 대하여 텔레비전이 응답할수 있는 최대값

• 흑백 텔레비전

• 대역폭: 영상신호가 검정에서 백색, 다시 백색에서 검증올 변할 수 있는 속도

• 미국 텔레비전 방속 규격: 4.2MHz로 제한

13년 3월 18일 월요일

Page 19: CODE Ch.21 버스에 올라 탑시다

영상 출력장치와 컴퓨터의 연결

• 컴퓨터의 관점에서 영상은 사각 격자(픽셀)의 집합으로 보는것이 간단

• 영상의 대역폭은 수평 주사선에 존재할 수 있는 픽셀의 수를 제한

• 4.2MHz의 대역폭: 1초에 420만번씩 2 픽셀의 값을 설정

• 2 x 4,200,00 / 15,750 = 533( 수평 주사선당 픽셀수)

• 실제로는 1/3정도 영상이 끝에 걸리거나, 수평귀선 과정에 해당

• 따라서 실제로 수평 주사선이 가질수 있는 픽셀의 수는 320

• 수직 방향으로도 525 픽셀을 가질 수 없음

• 맨위와 맨아래가 사라지므로 적절한 픽셀수는 200

• 즉, 텔레비전을 사용하는 컴퓨터 시스템에서의 기본적인 비디오 어댑터의 해상도는 320 x 200

13년 3월 18일 월요일

Page 20: CODE Ch.21 버스에 올라 탑시다

문자 출력• 각 문자에 8x8 격자 크기, 즉 64 픽셀을 할당

• 320x200 크기의 영상 표시 장치에 40문자를 25줄까지 표현

• 비디오 어댑터는 영상의 내용을 저장하기 위해 RAM을 필요

• 마이크로프로세서는 영상의 표시 내용을 변경하기 위하여 RAM에 데이터를 기록

• 이 RAM 영역을 마이크로 프로세서의 일반적인 메모리 영역으로 할당

• 비디오 어댑터를 위해 필요한 메모리양은?

• 40문자 25줄: 1000문자 => 1KB

• 비디오 어댑터는 모든 ASCII 문자에 대응하는 픽셀 형태를 만드는 문자 생성기를 가짐

• 일반적으로 ROM으로 구성

• ROM에 ASCII문자에 해당하는 8x8 픽셀을 저장할 경우 64비트 출력 신호를 가짐

• 64bit 출력은 칩을 크게 만들기 때문에 10 비트 주소와 8 비트 출력을 가짐

• 7비트 특정 ASCII 문자, 3비트는 줄, 8비트는 픽셀 값

• 문자를 표현할 수 있는 비디오 어댑터는 커서를 나타낼수 있는 부분을 가짐

• 두개의 8비트 레지스터에 저장, 마이크로프로세스는 이 부분에 값을 기록 가능

13년 3월 18일 월요일

Page 21: CODE Ch.21 버스에 올라 탑시다

ETC• 비디오 카드가 문자만 출력하는 것이 아닌 경우 이를 그래픽카드로 부름

• 그래픽카드는 훨씬 많은 메모리를 요구

• 320x200이고 픽셀당 1bit를 차지한다면 8000byte가 필요

• 만약 256색을 표현한다면, 64,000byte의 RAM이 필요

• 좀 더 많은 컬러를 표현하려면 픽셀당 3byte가 필요

• 192KB의 메모리가 필요

• 색상의 수 = 2픽셀에 사용된 비트의 수

• 1987년 IBM PS/2, 애플 매킨토시 II를 발표

• 640x480 해상도를 가졌으며, 이후로 PC의 표준 해상도가 됨

• 오늘날의 비디오 어댑터와 모니터는 다양한 해상도를 지원하는 비디오 출력모드를 가짐

13년 3월 18일 월요일

Page 22: CODE Ch.21 버스에 올라 탑시다

Keyboard13년 3월 18일 월요일

Page 23: CODE Ch.21 버스에 올라 탑시다

키보드• 키가 눌렸을 때 특정한 부호를 전달해 줄 수 있는 하드웨어 장치를 가지고 있어야 함

• 키에 대응하는 부호를 ASCII로 할 경우 실용적이지 못함

• 스캔코드

• 키보드 하드웨어에서 보내는 부호

• 간단한 컴퓨터 프로그램을 이용하여, 키보드에서 입력된 특정한 키 값에 해당하는 ASCII 부호 값을 판단 가능

• 16개의 키를 가진 키보드를 가정

• 키보드를 눌렀을때 0000에서 1111 값을 지니는 부호 생성

• 오실레이터, 4비트 카운터, 2:4 디코더, 1:4 선택기로 구성

13년 3월 18일 월요일

Page 24: CODE Ch.21 버스에 올라 탑시다

키보드 하드웨어의 동작• 4비트 카운터가 충분히 빠르게 값이 증가하여 입력된 키에 대하여 16개의 부호를 모두 대입 시키는 작업을 수행

• (2,2) 번째 키가 눌러졌을 경우, 카운터 출력이 0110이 되는 순간 선택기의 출력이 1의 값을 가짐

• 만일 키보드에 64개의 키가 있다면 6비트 스캔 코드가 필요

13년 3월 18일 월요일

Page 25: CODE Ch.21 버스에 올라 탑시다

마이크프로세서의 연계• 키보드 인터페이스를 만들때는 인터럽트 신호가 유용

• 8080 프로세서는 수행중인 작업의 중간에 외부 장치에서 끼어들 수 있도록 입력신호를 두고 있음

• 인터럽트가 발생할 경우 마이크로 프로세서는 메모리에서 명령어를 읽어 오는 동작으로써 응답 코드를 보냄

• RST 명령어 : 인터럽트를 처리할수 있는 프로그램이 저장되어 있는 특정한 영역으로 분기

13년 3월 18일 월요일

Page 26: CODE Ch.21 버스에 올라 탑시다

Storage13년 3월 18일 월요일

Page 27: CODE Ch.21 버스에 올라 탑시다

천공카드• 종이나 카드 보드에 구멍을 뚫는 방식

• 재사용이 쉽지 않음

• 한번 구멍을 뚫으면 메우는 것이 불가능

• 각 비트가 차지하는 공간이 너무 큼

• 이러한 이유로 자기 보존 장치가 널리 보급됨

13년 3월 18일 월요일

Page 28: CODE Ch.21 버스에 올라 탑시다

자기 보존 장치• 1878년 미국 엔지니어인 오벌린 스미스에 의하여 이론이 설명됨

• 1898년 덴마크 발명가 발데마르 포울센에 의해 최초로 개발

• 전화를 받지 못하는 경우 전화 메시지를 녹음하기 위하여 발명

• 전자석과 음성에 따라 움직이는 철심의 특성을 이용하여 음성을 녹음

• 읽기, 쓰기에 사용되는 전자석의 자기 미디어의 형태에 관계 없이 “헤드”라는 이름으로 불림

• 1928년 오스트리아 발명가, 프리츠 플로이머가 종이에 쇳가루를 코팅한 형태의 종이테이프를 이용한 자기 녹음 장치에 대한 특허를 취득

• 이후 종이는 아세틸 셀룰로오스 기반의 좀 더 긴 소재로 교체

• 모든 녹음 매체중 가장 잘 알려진 매체

13년 3월 18일 월요일

Page 29: CODE Ch.21 버스에 올라 탑시다

테이프 및 디스크• 테이프

• 녹음 매체를 플라스틱 케이스에 넣은 것

• 1950년 레밍턴 랜드사

• 최초의 디지털 컴퓨터에서 사용한 상용 테이프 기록 장비를 개발

• 테이프를 이용하는 경우 특정한 위치로 빠르게 이동하는 것이 불가능

• 빨리 감기나 빨리 되감기 이용

• 디스크

• 테이프보다 접근이 용이

• 디스크는 중심축을 기준으로 빠르게 회전하고, 바깥쪽에서 안쪽으로 이동할 수 있는 암에 하나 이상의 헤드가 붙어 있는 형태로 구성

• 디스크의 어떤 위치든 아주 빠르게 접근

13년 3월 18일 월요일

Page 30: CODE Ch.21 버스에 올라 탑시다

디스크 ETC.• 플로피 디스크와 하드 디스크로 구분됨

• 플로피 디스크

• 보호케이스내에 한장의 코딩된 플라스틱 디스크가 들어가 있는 형태

• 하드 디스크

• 몇개의 금속 디스크가 드라이브 안에 내장되되어 있음

• 플로피 디스크보다 훨씬 빠르고 많은 데이터를 저장할 수 있음

• 트랙

• 디스크 내의 동심원 형태의 구역

• 섹터

• 케이크 조각을 내는 것과 같은 모양의 단위

• 섹터당 일정한 크기의 데이터가 저장 됨. 일반적으로 512, 요즘에는 4096

• 디스크는 전자적인 인터페이스와 마이크로프로세서 사이와의 연결을 위한 인터페이스를 자체적으로 가짐

• SCSI, ESDI, IDE.. 모든 인터페이스는 DMA를 이용하여 직접 메모리에 접근

13년 3월 18일 월요일

Page 31: CODE Ch.21 버스에 올라 탑시다

저장장치 와 메모리의 차이

• 메모리는 휘발성이나 저장 장치는 휘발성이 없음

• 마이크로 프로세서에서 주소 신호를 출력할때 항상 메모리에 대하여 주소 지정이 이루어짐

• 저장 장치에 대해서는 주소지정이 이루이 지지 않음

• 마이크로프로세스가 접근하기 위해서는 디스크 저장장치에서 메모리로 값을 가지고 와야 하기 때문에 추가적인 단계가 필요

• 일반적으로 메모리는 책상에 저장장치는 파일 캐비닛과 비교

• 실제로 데이터는 파일이라는 이름으로 저장

• 파일을 저장하고 꺼내는 것은 운영체제라 불리는 소프트웨어의 영역

13년 3월 18일 월요일