5~8장 질문

prana·2024년 1월 12일
0
post-thumbnail

5장 CPU 성능 향상 기법

빠른 CPU를 위한 설계 기법

[문제] 1. (146p) 클럭 속도는 일정하게 유지한다. (O/X)

  • 정답😉 X

계속 일정한 속도를 유지하기보단 고성능을 요하는 순간에는 순간적으로 클럭 속도를 높이거나 낮추기도 하는 기법을 오버클럭킹이라고 한다.

  • 코어란, CPU 내 명령어를 실행하는 부품으로 여러 개 있을 수 있다. (싱글코어, 듀얼코어, 트리플코어, 쿼드 코어, 헥사코어 등-> 멀티코어)

  • 하드웨어적 스레드: 하나의 코어가 동시에 처리하는 명령어 단위

[문제] 2. (149p) 2코어 4스레드 CPU는 한 번에 몇 개의 명령어를 처리할 수 있는가?

정답😉 4개
  • 145쪽 CPU는 8코어 16 스레드면 명령어를 실행하는 부품을 8개 포함하고, 한 번에 열여섯 개의 명령어를 처리할 수 있는 CPU를 말한다.
  • 소프트웨어적 스레드: 하나의 프로그램에서 독립적으로 실행되는 단위
하드웨어적 스레드소프트웨어적 스레드
하나의 코어가 동시에 처리하는 명령어 단위하나의 프로그램에서 독립적으로 실행되는 단위
  • (151p) 멀티스레드 프로세서는 하나의 코어로 여러 명령어를 동시에 처리하는 CPU이다.

  • 하나의 명령어를 실행하기 위해서 꼭 필요한 레지스터들을 여러 개 갖고 있다면, 멀티 프로세서를 설계할 수 있다!

  • 메모리 입장에서 CPU 정보만 알고 있지, 메모리 내 몇코어 몇스레드인지는 알 수 없다. 한 번에 4개씩 실행하는구나를 느낄뿐.

    • 하드웨어 스레드: 논리적인 CPU의 개수라는 의미에서 논리 프로세서라고 부르기도 한다.
레지스터 추가 개념 설명 (7. 스택 포인터 / 8. 베이스 레지스터) -> 주소 지정에 사용 - 스택 주소 지정 방식 - 7. 스택 포인터 : 스택의 꼭대기를 가리키는 레지스터 - 메모리 안에 스택처럼 쓸 수 있는 공간이 미리 지정돼있음 (운영체제 시간에 배움) - 8. 베이스 레지스터 - 오퍼랜드(변위의 값으로 삼고) 얼마나 떨어져있는지, 어떤 레지스터와 더할지 더함

[문제] 3. 빈칸에 맞게 답변하세요.

  • 보기: 멀티 스레드 프로세서 / 멀티코어 프로세서
    1) ______________: 명령어를 실행할 수 있는 하드웨어 부품이 CPU안에 두 개 이상 있는 CPU
    2) ______________: 하나의 코어로 여러 개의 명령어를 동시에 실행할 수 있는 CPU 정답😉 1) 멀티코어 프로세서: 코어를 여러 개 포함하고 있는 CPU 2) 멀티 스레드 프로세서: 하나의 코어로 여러 명령어를 동시에 처리하는 CPU, 여러 개의 하드웨어적 스레드를 지원하는 CPU

[문제] 4. 문제를 보고 답변하세요.

정답😉 ④: 멀티스레드 프로세서는 하나의 코어로도 여러 개의 하드웨어 스레드를 처리할 수 있다.

05-2 명령어 병렬 처리 기법

  • 명령어 파이프 라이닝
  • 슈퍼스칼라
  • 비순차적 명령어 처리
  • 명령어 파이프 라이닝: 동시에 여러 개 명령어를 겹쳐 실행

    • 파이프라인 위험

      • 데이터 위험: 저장되기도 전에 원치 않는 결괏값 실행하려 할 때

      • 제어 위험: 프로그램 카운터의 갑작스러운 변화

        • 프로그램 카운터: 현재 실행 중인 명령어 다음 주소로 갱신
      • 구조적 위험(자원 위험): 서로 다른 명령어가 동시에 CPU 부품 사용하려 할때


  • 슈퍼스칼라: CPU 내부에 여러 개 명령어 파이프라인 포함한 구조
    • 슈퍼스칼라 구조로 명령어 처리가 가능한 CPU: 슈퍼스칼라 프로세서
      • (위험을 피하기 위해 고도로 설계할 필요가 있다.)

  • 비순차적 명령어 처리: Out-of-order execution(OoOE)
    • 명령어의 합법적인 새치기
    • 순서를 바꿔 실행해도 무방한 명령어를 먼저 실행하여, 명령어 파이프라인이 멈추는 것을 방지하는 기법

05-3 CISC와 RISC

  • ISA: 명령어 집합(instruction set ;cpu가 어떤 명령어 이해하는지에 따라 컴퓨터 구조 및 설계 방식이 달라짐)
  • CISC
  • RISC
  • ISA: CPU의 언어이자, 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속

문제 5. ISA가 달라도 CPU가 이해할 수 있는 명령어 및 어셈블리어는 같다(O/X)

정답😉 X : ISA가 다르면 CPU가 이해할 수 있는 명령어가 다르다는 것이고, 명령어가 달라지면 어셈블리어도 달라진다.
  • CISC: Complex Instruction Set Computer
    • 가변 길이 명령어; 복잡하고 다양한 명령어 활용 가능
    • 상대적으로 적은 수의 명령어로도 프로그램 실행
    • 적은 수의 명령어만으로도 프로그램 동작-> 메모리 공간 절약
    • 단점: 명령어의 크기와 실행되기까지의 시간이 일정하지 않다.
  • RISC: Reduced Instruction Set Computer
    • load-store 구조
    • CISC에 비해 명령어의 종류가 적고, 되도록 1클럭 내외로 실행
    • 고정 길이 명령어
    • 명령어 파이프라인에 유리
    • 메모리 접근을 단순화, 최소화 하는 대신 레지스터를 적극적으로 활용
    • 범용 레지스터 개수도 더 많다.

06 메모리와 캐시 메모리

06-1 RAM의 특징과 종류

주기억장치의 종류 RAM/ROM, 그 중 메모리는 RAM 지칭

  • 메모리라는 용어 대신 RAM
  • DRAM
  • SRAM
  • SDRAM
  • DDR SDRAM

[문제] 1. RAM은 휘발성? 비휘발성? 저장 장치

정답😉 휘발성 저장장치 : 전원을 끄면 데이터가 모두 날아간다. - 비휘발성: 하드디스크, SSD, CD-ROM, USB 메모리 등

문제 2. 빈칸에 알맞은 말을 넣으세요.

보조기억장치는 전원을 꺼도 내용을 ㅇㅈ하지만, CPU는 보조기억장치에 직접 접근하지 못한다.

  • 보조기억장치인 비휘발성 저장 장치에는 ㅂㄱ할 대상을 저장하고, 휘발성 저장장치인 RAM에는 ㅅㅎ할 대상을 저장한다.
  • CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면, 이를 RAM으로 복사하여 ㅈㅈ한 뒤 ㅅㅎ한다.
  • 정답😉 유지, 보관, 실행, 저장, 실행
  • DRAM : Dynamic RAM

    • 데이터가 동적으로 변하는(사라지는) RAM
    • 소비전력 비교적 낮고, 저렴, 집적도 높음-> 대용량 설계 용이
  • 삼성전자 홈페이지 FAQ 구경하기💻

  • SRAM: Static RAM

    • 저장된 데이터가 변하지 않음
    • DRAM보다 속도가 더 빠름
  • 💥비휘발성 메모리인 것은 아니다. 전원이 공급되지 않으면 날아간다.

  • SDRAM: Synchronous Dynamic RAM

    • 클럭 신호와 동기화된 발전된 형태의 DRAM
  • DDR SDRAM: Double Data Rate SDRAM

    • 대역폭 넓혀 속도를 빠르게 만든 SDRAM
    • 대역폭: 데이터를 주고받는 길의 너비
  • SDR SDRAM: Single Data Rate SDRAM

    • 한 클럭당 하나씩 데이터를 주고받을 수 있는 SDRAM
  • DDR2 SDRAM: DDR SDRAM보다 대역폭 2배 넓음

    SDR SDRAMDDR SDRAMDDR2 SDRAM

06-2 메모리의 주소 공간

  • 물리 주소: 메모리 하드웨어가 사용하는 주소
    • 정보가 실제로 저장된 하드웨어상의 주소
  • 논리 주소: CPU와 실행 중인 프로그램이 사용하는 주소
    • 실행 중인 프로그램 각각에 부여된 0번지부터 시작되는 주소

[문제] 3. (189p) 논리주소와 물리주소 간 변환할 수 있는 하드웨어는?

정답😉 MMU: Memory Management Unit
  • CPU가 발생시킨 논리주소 + 베이스 레지스터 값 더함
    • 베이스 레지스터: 프로그램의 가장 작은 물리 주소
    • 논리 주소: 프로그램 시작점으로부터 떨어진 거리



  • 메모리 보호 기법
    • 한계 레지스터:
      • 다른 프로그램의 영역을 침범할 수 있는 명령어는 위험
      • 논리 주소 범위를 벗어나는 명령어 실행을 방지
      • 실행 중인 프로그램이 다른 프로그램에 영향 받지 않도록 해줌

[문제] 4. 메모리 보호 기법으로 한계 레지스터를 통한 물리 주소 범위는?

정답😉 - 물리 주소 범위: 베이스 레지스터 값 이상, 베이스 레지스터 값 + 한계 레지스터값(논리 주소의 최대 크기) 미만

06-3 캐시 메모리

  • 저장 장치 계층 구조
  • 캐시 메모리
  • 참조 지역성 원리
  • 캐시 메모리
    • 접근 속도: 메모리 < 캐시 메모리
    • 코어와 가장 가까운 캐시 메모리부터 L1, L2, L3 캐시

[문제] 5. L1~L3의 속도와 가격 순서를 비교하세요.

속도:
가격:

정답😉 속도: L1 (빠름)< L2 < L3(느림) 가격: L1 (비쌈) > L2 > L3
  • CPU가 메모리 내 데이터가 필요하다고 판단, L1캐시에 해당 데이터가 있는지를 알아보고, 없다면 L2, L3 캐시 순으로 데이터를 검색

  • L3 캐시는 여러 코어가 공유하는 형태로 사용

  • 참조 지역성의 원리

    • 캐시 히트💘: 캐시 메모리는 메모리에서 자주 사용될 것으로 예측한 데이터가 실제 들어 맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우
    • 캐시 미스: 예측이 틀려 메모리에서 필요한 데이터 직접 가져옴

1) CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향 -> 시간 지역성
2) 접근한 메모리 공간 근처를 접근하려는 경향 -> 공간 지역성

  • 실행하려는 프로그램은 관련된 데이터들끼리 한 데 모여있다.

07 - 보조기억장치

07-1 다양한 보조기억장치

  • 하드디스크(HDD; Hard Disk Drive)
  • 하드디스크(자기 디스크 magnetic disk)

  • 탐색 시간 : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간

  • 회전 지연 : 헤드가 있는 곳으로 플래터를 회전시키는 시간

  • 전송 시간 : 하드디스크와 컴퓨터 간 데이터를 전송하는 시간

플래시 메모리

  • ex) USB 메모리, SD 카드, SSD 등 모두 플래시 메모리 기반의 보조기억장치

  • ROM에도 사용, 일상적으로 접하는 전자제품 안에 플래시 메모리가 내장되어있다고 봐도 무방.

  • : 플래시 메모리에서 데이터를 저장하는 가장 단위

    • SLC(Single Level Cell; 한 셀에 1비트 저장)

      • 비트의 빠른 입출력 가능
      • 용량 대비 가격 높음
      • 혼자 살면 감당해야 할 주거 비용 커지는 것과 비유

    • MLC(Multiple Level Cell; 한 셀에 2비트 저장)

      • SLC 타입보다 대용화하기 유리
      • SLC 타입보다 용량 대비 가격 저렴

    • TLC(Triple Lebel Cell; 한 셀에 3비트 저장)

      • 대용량화 하기 유리
      • 수명과 속도가 앞 타입들에 비해 떨어지지만 용량 대비 가격 저렴

문제 1. 빈칸에 적절한 단어를 넣으세요.

보기: 다이, 플레인, 페이지, 블록, 셀

  • __a__이 모여 만들어진 단위를 __b__,
    그리고 __b__가 모여 만들어진 단위를 __c__,
    __c__이 모여 __d__,
    __d__이 모여 __e__가 됩니다.
  • 정답😉 셀, 페이지, 블록, 플레인, 다이
  • 읽기와 쓰기는 페이지 단위
  • 삭제는 페이지보다 큰 블록 단위

⭐⭐⭐ 읽기/쓰기 단위와 삭제 단위가 다르다는 것이 플래시 메모리의 가장 큰 특징

페이지의 3가지 상태

  • Free: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태

  • Valid : 이미 유효한 데이터를 저장하고 있는 상태

  • Invalid: 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태

  • 👉1. C라는 새로운 데이터 저장할 경우

  • 👉2. A에서 수정하여 A' 데이터를 저장할 경우

    • 메모리에서 덮어쓰기는 불가능 하므로, 기존 저장된 A는 Invalid 상태-> 쓰레기값이 되고, A'가 저장된다.

가비지 컬렉션

-⭐⭐⭐ 1.에서 유효한 페이지들만을 새로운 블록으로 복사한 뒤, 2. 기존의 블록을 삭제한다.

  • 블록 X의 모든 유효한 페이지를 새로운 블록 Y로 옮기고, 블록 X를 삭제하는 것이다.


07-2 RAID의 정의와 종류

RAID의 정의

  • 데이터의 안정성 또는 높은 성능을 위해 여러 개의 물리적 보조장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술

RAID의 종류

  • RAID 구성 방법을 RAID 레벨이라 표현
    👉 RAID 0, RAID 1, RAID 4, RAID 5, RAID 6

[문제] 2. 그림을 보고 RAID 구성 방법을 맞추세요. (2개)

  • 정답😉 RAID 6, RAID 5
  1. RAID 0
  • 데이터 번갈아가면서 저장
  • 줄무늬처럼 분산되어 저장된 데이터: 스트라입,
  • 분산하여 저장 -> 스트라이핑
  • 스트라이핑 하게 되면, 데이터를 읽고 쓰는 데 빨라짐
    • 하나의 대용량 저장장치였다면, 여러 번에 읽고 썼을텐데!
    • 1TB 저장장치 네 개의 속도가 이론상 네 배가량 빨라짐
    • 🤔⚠️: 저장된 정보가 안전하지 않다. 하나 문제가 생기면 모든 하드디스크 정보를 읽는데 문제가 생긴다.

  1. RAID 1
  • 복사본 만드는 방식 : 미러링
  • RAID 0 보다는 속도 느림
  • 복구가 매우 간단. 하나에 문제가 발생해도 읽어버린 정보 되찾기 가능
  • 🤔⚠️: 하드 디스크 개수가 한정되었을 때, 사용 가능한 용량이 적어지는 단점 발생
    • 많은 양의 하드디스크 필요하게 되고, 비용이 증가하게 된다.
  1. RAID 4
  • 완전한 복사본 만드는 대신, 오류를 검출하고 복구를 위한 정보를 저장한 장치를 두는 구성 방식
  • 패리티 비트: 오류 검출하고 복구하기 위한 정보
  • 패리티를 저장한 장치를 이용해, 다른 장치들의 오류를 검출하고, 오류가 있다면 복구한다.
  • 참고❗❗❗❗
    1. RAID 4에서는 패리티 정보를 저장한 장치로써, 나머지 장치들의 오류를 검출/복구한다.
    1. 패리티 비트는 본래 오류 검출용 정보지만, RAID에서는 오류 복구😊도 가능하다.

  1. RAID 5
  • 🤔⚠️ RAID 4에서 패리티를 저장하는 디스크에도 데이터를 쓰게 되므로 패리티 저장 장치에 병목현상이 생김
  • 패리티 정보를 분산하여 저장
  1. RAID 6
  • 구성은 RAID 5와 같으나, 서로 다른 패리티를 두는 방식
  • 오류를 검출/복구할 수 있는 수단 두 개 생김
  • RAID 4/5보다 안전한 구성이라 볼 수 있다.
  • 쓰기 속도는 RAID 5보다는 느림.
  • 💡저장 속도를 조금 희생하더라도, 데이터를 더욱 안전하게 보관하고 싶을 때 사용하는 방식


08 입출력장치

08-1 장치 컨트롤러와 장치 드라이버

장치 컨트롤러

  • 입출력 장치에는 종류가 너무 많다.
  • 일반적으로 CPU와 메모리 데이터 전송률은 높으나, 입출력장치의 데이터 전송률은 낮다.
    • 전송률: 데이터를 얼마나 빨리 교환할 수 있는지
  • 어떤 입출력 장치는 CPU/메모리보다 전송률이 높은 경우도 있다.

  • 이러한 이유로 입출력 장치는 컴퓨터에 직접 연결되지 않고,
    장치 컨트롤러(입출력 제어기, 입출력 모듈) 라는 하드웨어를 통해 연결된다.
  • CPU와 입출력 장치간의 통신 중개
  • 오류 검출
  • 데이터 버퍼링

버퍼란?

  • 데이터 버퍼링: 전송률이 높은 장치와 낮은 장치에 주고받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방법

장치 컨트롤러의 내부 구조

  • 데이터 레지스터 : CPU와 입출력 장치에 주고받을 데이터가 담김, 버퍼 역할을 함. 최근에는 레지스터 대신 RAM 사용하기도 한다.
  • 상태 레지스터: 입출력 작업 상태 정보
  • 제어 레지스터: 입출력 장치가 수행할 내용에 대한 제어 정보/명령 저장

장치 드라이버

  • 장치 드라이버: 장치 컨트롤러의 동작 감지, 제어함으로써 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램

[문제] 1. (239p) 문제를 보고 답하세요.

  • 정답😉 2, 컴퓨터가 장치 드라이버를 인식하고 실행할 수 있다면 해당 입출력장치의 사용이 가능하다.

08-2 다양한 입출력 방법

  • 입출력 작업 수행하려면, CPU와 장치 컨트롤러가 정보를 주고받아야 한다.
  1. 프로그램 입출력
  2. 인터럽트 기반 입출력
  3. DMA 기반 입출력

프로그램 입출력

  • 프로그램 속 명령어로 입출력 제어장치 제어

    CPU가 프로그램 속 명령어를 실행하는 과정에서 입출력 명령어 만나면, CPU는 입출력 장치에서 연결된 장치 컨트롤러와 상호작용

  1. CPU는 제어 레지스터에 쓰기명령 보냄
  2. 하드디스크는 하드디스크 상태를 확인하고, 상태 레지스터에 준비완료 표시
  3. CPU는 상태 레지스터를 주기적으로 읽어보며 하드디스크의 준비 여부를 확인
  • 준비됐음을 알게되면, 백업할 메모리 정보를 데이터 레지스터에 쓴다.
    - 백업(쓰기)작업이 끝나지 않았다면 상태 레지스터부터 반복, 끝나면 작업 종료


    👉 CPU가 장치 컨트롤러의 레지스터 값을 읽고 씀으로써 이루어짐
  • 🤔⚠️ CPU는 여러 장치 컨트롤러 속 레지스터들을 모두 알고 있기란 어렵다.

    • 메모리 맵 입출력고립형 입출력

  • 메모리 맵 입출력

    • 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 하나의 주소 공간으로 간주하는 방법
  • ⭐⭐ CPU는 메모리의 주소들이나 장치 컨트롤러의 레지스터들이나 모두 똑같이 메모리 주소를 대하듯 하면 된다는 점이다.

    • 메모리에 접근하는 명령어와 입출력 장치에 접근하는 명령어가 굳이 다르지 않다.
  • 고립형 입출력

    • 메모리를 위한 주소 공간과 입출력장치를 위한 주소 공간을 분리하는 방법
    • 메모리 읽기/쓰기(명령어 실행할 땐 메모리에 접근)선 외
      입출력장치 읽기/쓰기 선(명령어 실행 시 장치 컨트롤러에 접근)이 따로 있다면, 메모리에도 1024개의 주소 공간을 활용, 입출력장치에도 1024개의 주소 공간 활용 가능

인터럽트 기반 입출력

  • 입출력 장치에 의한 하드웨어 인터럽트는 정확히 말하자면 입출력장치가 아닌 장치 컨트롤러에 의해 발생
  • 입출력 장치에 의한 하드웨어 인터럽트: 입출력 장치가 아닌, 장치 컨트롤러에 의해 발생한다.
    • 장치 컨트롤러가 입출력장치를 제어하며 입출력을 수행하는 동안, CPU는 다른 일을 할 수 있다.

폴링(Polling)

  • 프로그램 입출력을 학습할 때, CPU는 주기적으로 장치 컨트롤러의 상태 레지스터를 확인하여 입출력장치 상태를 확인한다고 했다.
  • 입출력 장치의 상태는 어떤지, 처리할 데이터가 있는지를 주기적으로 확인하는 방식
  • 인터럽트 방식보다 CPU의 부담이 더 크다.

  • 일반적인 입출력 장치 많을 때
    • 순서대로 인터럽트를 처리하는 방법
    • 우선순위가 높은게 먼저 등장하면 도중에 먼저 다른걸 수행하게 된다.
    • 플래그 레지스터 속 인터럽트 비트가 활성화되어 있는 경우, NMI(Non-Maskable interrupt)가 발생한 경우, CPU는 우선순위가 높은 인터럽트부터 처리하게 된다.

NMI

  • NMI: 인터럽트 비트를 비활성화해도 무시할 수 없는 인터럽트

PIC (프로그래머블 인터럽트 컨트롤러)

  • PIC는 여러 장치 컨트롤러에 연결돼 장치 컨트롤러에서 보낸 하드웨어 인터럽트 요청들의 우선순위를 판별한 뒤, CPU에 지금 처리해야 할 것이 무엇인지 알려주는 장치
  • 🤔 PIC는 NMI까지 우선순위를 판별해주지는 않는다.
  1. PIC가 장치 컨트롤러에서 인터럽트 요청 신호 받아들임
  2. 우선순위 판단한 뒤 CPU에 처리해야 할 인터럽트 요청 신호 보냄
  3. CPU는 PIC에 인터럽트 확인 신호를 보냄
  4. PIC는 데이터 버스를 통해 CPU에 인터럽트 벡터를 보낸다.
  5. CPU는 인터럽트 벡터를 통해 인터럽트 요청의 주체를 알게되고, 해당 장치의 인터럽트 서비스 루틴을 실행한다.

DMA 기반 입출력

DMA(Direct Memory Access)

  • 👍🏻 입출력 장치와 메모리가 CPU를 거치지 않고도 상호작용 할 수 있는 입출력 방식
  • 직접 메모리에 접근할 수 있는 입출력 기능
  • 👉 DMA 입출력을 하기 위해서는 시스템 버스에 연결된 DMA 컨트롤러라는 하드웨어가 필요하다.
  1. CPU는 DMA 컨트롤러에 입출력 장치 주소, 수행할 연산(읽기/쓰기), 읽거나 쓸 메모리의 주소 등과 같은 정보로 입출력 작업을 명령
  2. DMA 컨트롤러는 CPU 대신 장치 컨트롤러와 상호작용 하며 입출력 작업 수행
  • DMA 컨트롤러는 필요한 경우 에모리에 직접 접근하여 정보를 읽고씀
  1. 입출력 작업 마치면 DMA 컨트롤러는 CPU에 인터럽트를 걸어 작업이 끝났음을 알림

입출력 버스

  • DMA를 위해 시스템 버스를 너무 자주 사용하면, 그만큼 CPU가 시스템 버스를 이용하지 못한다.
  • DMA 컨트롤러와 장치 컨트롤러가 서로 데이터 전송할 때 시스템 버스를 이용할 필요가 없으므로 시스템 버스의 사용 빈도를 줄일 수 있게 된다.
  • 입출력 버스에는 PCI 버스 등 종류가 많다.
  • 우리가 사용하는 대부분의 입출력 장치들은 입출력 버스와 연결되는 통로를 통해 시스템 버스를 타고 CPU와 정보를 주고 받는다.

[문제] 2. 그림을 보고 입출력 방식을 답하세요. (2개)

  • 정답😉 메모리 맵 입출력 방식, 고립형 입출력ㄴ

0개의 댓글