PCI 몇 가지에 대해서…

rootuser7의 이미지

안녕하세요 ?
PCI의 몇 가지 개념에 대해서 문의드립니다.
PCI block을 내장하고 있는 processor가 있고,
이 processor에 PCI bus로 어떤 device(ex: Ethernet card)를 연결해서 사용이 가능합니다.

이 때, processor와 Ethernet card 중에서 PCI BUS 제어권을 가지는 쪽을 host라고 합니까? 아니면, master라고 합니까?
그 반대쪽(PCI BUS 제어권을 가지지 않는 쪽)을 device라고 합니까? 아니면, slaver라고 합니까?

PCI controller , PCI arbiter, PCI Bridge의 차이점에 대해서 설명해 주시면 감사하겠습니다.
(대충은 알겠는데 명확한 개념이 안 잡혀서 말입니다.)

SoftOn의 이미지

제가 이해 하는 것만 설명 드릴께요(100% 맞는지는 잘 모르겠습니다.;;)

PCI Bus에서는 device를 Master와 Slave로 구별합니다.

Master와 Slave의 차이는 Master의 경우 어떤 transaction (Ex. I/O Read, Memory Write등등)을 initiate 할 수 있습니다.

그래서 Master의 경우는 어떤 transaction의 initiator도 될 수 있고 target도 될 수 있습니다.

하지만 Slave의 경우는 target만 가능하고요.

중간 정리
1. device의 기능을 보면 Master와 Slave로 구별할 수 있음
2. 하나의 Transaction 기준으로 보면 Initiator와 target으로 나눌 수 있음

하나의 PCI Bus에 여러개의 Master가 붙어 있다고 생각해 보세요.

여러개가 동시에 transaction을 시작할 수 있는 문제가 생깁니다. 이 것 때문에 arbiter라는 것이 어떤 Master가 transaction을 할지 REQ#, GNT# 신호로 Bus의 점유권을 조절해 줍니다.

Quote:

이 때, processor와 Ethernet card 중에서 PCI BUS 제어권을 가지는 쪽을 host라고 합니까? 아니면, master라고 합니까?
그 반대쪽(PCI BUS 제어권을 가지지 않는 쪽)을 device라고 합니까? 아니면, slaver라고 합니까?

제어권이라고 하면 이상하고요. Transaction을 요구한 쪽이 initiator가 되고 요구의 목적지가 target이 됩니다.
예를 들어 processor로 Ethernet card에 값을 읽으면 processor가 initiator, Ethernet Card가 Target이 됩니다. Ethernet Card에서 Processor로 값을 읽거나 쓰면 반대로 됩니다.

Quote:

PCI controller , PCI arbiter, PCI Bridge의 차이점에 대해서 설명해 주시면 감사하겠습니다.

controller는 PCI Bus에 참가할 수 있는 device를 말하는 듯합니다. (좀 애매하네요 ㅡ,.ㅡ)
arbiter는 해당 PCI Bus의 master 중 누구를 initiator로 할지 교통정리를 해 줍니다.
Bridge는 PCI Bus가 2개 일 때 그 2개를 연결 해 줄 수 있습니다.

^^; 명확하지 않을 수 있으니 100%는 믿지 마세요 ^^;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.