하드웨어 관련 공부 이슈

Nadia85의 이미지

컴퓨터 공학을 전공하고 있는 2학년 학생 입니다.

막연히 생각하기를 이번 방학 때, 하드웨어 쪽 공부를 하고 싶습니다.

회로, 전자기학 이런 책들을 봐야 될 것 같긴한데..... 너무 막막하네요......

어떤 책을 봐야 하고, 어떻게 공부를 해야할지... 조언 부탁 드립니다.

(게시판에서 전기전자공학개론/사이텍 이 책 추천하던 글을 보았는데요, 이 책은 대학교재라서 다른 보조자료들을 찾기가 힘드네요....)

penrose의 이미지

전자분야는 스펙트럼이 넓기 때문에 먼저 어떤 목적으로 어떤 것을 하고 싶은지 말씀해주시는 것이 좋을 것 같습니다.

다음 링크가 도움이 될런지 모르겠네요.
http://www.ee.kaist.ac.kr/kor/education/course.asp
http://ee.yonsei.ac.kr/Curriculum/Department/TreeD.asp

What a wonderful world!

Nadia85의 이미지

좋은 자료 감사합니다.

아, 그리고 제가 하드웨어 쪽을 공부하고 싶은 목적는

요즘 컴퓨터 공학쪽 수업을 들으면서, 자꾸 먼가 부족하지 않나... 이런 생각이 들어서
막연히 하드웨어 쪽을 공부해야 겠다고 생각한 것 입니다.

소프트웨어를 한다는게, 하드웨어 밑단을 모르고 한다는데 왠지 꺼림직 한것 같기도 하고,

만약 임베디드 관련 연구를 안다고 하면, 컴퓨터 공학쪽에서 할 수 있는지 뭐가 있을지,
전자 쪽 분야에서는 프로그램으로 해결할 수 있는 걸 SoC로 처리 한다는 소리도 듣고 이쪽으로도 조금 호기심을 느낌니다.

또 막상 사회에 나가면 지금 배운걸 써 먹을 수 있는데가 어디 있나라는 두려움도 느낌니다.

공대에서 입학점수가 가장 높은 과중 하나를 들어왔다고 자부 하고 있었는데
2학년을 끝낸 지금, 내가 뭐했나... 이런 자멸감마저 듬니다 ㅠ,.ㅠ

여기계신 이쪽을 전공하신 선배님들도 저랑 비슷한 고민을 하지 않았을까하는 생각이 드는데요,
조언 부탁 드립니다.

ssehoony의 이미지

좋은 소프트웨어 개발자기 되기 위해 하드웨적인 지식을 요구하신다면, 전자공학 책은 매우 low level한 학문을 선택한듯 하네요.
이미 컴퓨터 과학에는 그럴때 필요한 정보가 담긴 분야가 잘 마련되어 있습니다.
단순히 stand alone 적인 머신을 생각했을 땐 computer architecture, operating system, computer system이 있습니다. CA, OS는 정말 중요합니다.
이런 하드웨어적인 구조에서 어떻게 C같은 중/고 수준의 언어가 만들어지는 지는 compiler 나 program language 를 보시면 되구요.
이제 이런게 익숙해 지시면 네트워크로 가서 하드웨어적으론 어떻게 통신을 하는지 알기 위해선 data and computer communications 를 보시면 되고 소프웨어적인 하이레벨은 computer networks 를 보시고 그 상위는 distributed system 을 보시면 됩니다.

혹시 오해하실까봐 하는 말인데
여기서 하이레벨이나 로우레벨은 난이도나 가치를 말하는게 아니고 추상화 수준을 말하는겁니다.

그리고 컴퓨터 모니터나 프린터가 어떻게 만들어지에 대한 건 컴터 분야에는 없네요. ㅎㅎ 그건 어쩔 수 없이 전기/전자 공학을 ^^;;

penrose의 이미지

ssehoony님께서 잘 설명해주셨는데,
Computer Architecture와 Operating System이 가장 필수적인 과목인 것 같습니다.
그리고 디지털 회로에 관한 과목을 이에 앞서 들으시면 더 좋을 것 같습니다.
제가 학부 때에는 Katz의 'Contemporary Logic Design'이라는 책으로 배웠습니다.
조금 오래 된 책이네요.

Computer Architecture는 Patterson & Hennesy의 'Computer Organization & Design - The Hardware/Software Interface'이라는 책으로 배웠습니다.
부제가 말이 말해주듯이 Microprocessor 개발자나 OS개발자 모두에게 필요한 과목이 아닌가 싶습니다.
조금 더 심화된 내용을 알고 싶으시면 같은 저자의 'Computer Architecture - A Quantitative Approach'라는 책을 추천합니다.

여기까지 배우면 아마도 RTL 수준에서 간단한 CPU를 설계한다거나,
각종 Processor Architecture Manual등을 이해하는데 무리가 없을 것 같습니다.

혹시나라도 이후에 디지털 하드웨어 설계에 관심이 있으시다면,
Rabaey의 'Digital Integrated Circuits'와 Weste의 'Principles of CMOS VLSI Design'이라는 책을 추천합니다.

------
저는 Nadia85님과 반대로 전자공학을 전공했고 (현재 microprocessor 분야를 공부하고 있습니다.)
컴퓨터 공학에 관심이 있어서 이번에 System Programming이라는 과목을 수강했습니다.
OS랑 거의 비슷한 과목인데, 약간 practical한 부분을 배웁니다.
주교재로 많이들 보시는 OS책을 사용했고,
부교재로 Stevens의 'Advanced Programming in the UNIX Environment'와 'TCP/IP Illustrated, Vol. 1',
그리고 McKusick의 'The Design and Implementation of the 4.4BSD Operating System'를 사용했네요.

What a wonderful world!

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.