Tài nguyên hệ thống là một khái niệm rất rộng. Kích thước file, kích thước ngăn xếp, bộ nhớ RAM, tốc độ xử lý, … đều được hiểu là tài nguyên hệ thống. Tuy nhiên, trong khuôn khổ nghiên cứu của luận văn, tôi tập trung vào hai tài nguyên rất quan trọng. Đó là, bộ nhớ và năng lực tính toán của hệ thống. Nếu các tài
nguyên này bị hạn chế thì sẽ gặp rất nhiều khó khăn khi muốn tích hợp hệ tổng hợp tiếng nói trên hệ thống đó.
Hiện nay, có rất nhiều hệ thống tính toán tài nguyên thấp như các thiết bị di động cầm tay, hệ thống nhúng. Trong đó, các thiết bị di động cầm tay là những hệ thống có bộ nhớ thấp và năng lực tính toán trung bình và thấp. Hệ thống nhúng làm việc với các chip có bộ nhớ và năng lực tính toán cực thấp.
Nokia là một trong những hãng cung cấp điện thoại rất nổi tiếng. Hãng này cung cấp rất nhiều loại điện thoại, từ những chiếc điện thoại rẻ tiền, bộ nhớ rất ít (khoảng vài MB), không có nhiều ứng dụng, chỉ chủ yếu hỗ trợ các nhu cầu cơ bản là nghe, gọi, nhắn tin cho đến những chiếc điện thoại có bộ nhớ lớn hơn, hỗ trợ các tính năng phức tạp như quay phim, chụp ảnh, nghe nhạc, truyền dữ liệu, … Chúng ta có thể xem các thông số chi tiết cho một số điện thoại của Nokia trong bảng 1.5.1:
Bảng 1.5.1: Một số điện thoại của Nokia
1110i Sổ địa chỉ: 200 địa chỉ
Nhật kí cuộc gọi: 10x10x10 (cuộc gọi đến, cuộc gọi đi, cuộc gọi nhỡ) Không hỗ trợ thẻ nhớ Bộ nhớ trong 4MB 6030 Sổ địa chỉ: 250 địa chỉ Nhật ký cuộc gọi 20x20x20 Không hỗ trợ thẻ nhớ Bộ nhớ trong 3Mb 3230 Hệ điều hành S60
Bộ nhớ trong dung lượng 6 MB
5250 Bộ nhớ trong: 51 MB
Khe cắm thẻ nhớ microSD, dễ tháo lắp, lên tới 16 GB
X2-01 Bộ nhớ trong: Combo 128 MB/64 MB
Khe cắm thẻ nhớ microSD, dễ tháo lắp, lên tới 8 GB
Tuy nhiên, với các điện thoại của một số hãng Trung Quốc như QMobile, chỉ với giá thấp hơn rất nhiều, ta vẫn có thể có được một chiếc điện thoại hỗ trợ rất nhiều ứng dụng cần khả năng đồ họa, âm thanh, hình ảnh, chơi game, … mà kích thước của bộ nhớ trong là không lớn. Chúng ta có thể xem thông tin của một số loại điện thoại hãng QMobile trong bảng 1.5.2.
Bảng 1.5.2: Một số điện thoại của QMobile
Q266 Bộ nhớ trong 394KB Sổ địa chỉ: 1000
Sự hạn chế tài nguyên còn có thể được hiểu theo cách khác. Ví dụ khi một hệ thống đã cài rất nhiều các ứng dụng khác làm cho phần bộ nhớ còn dư không đủ lớn. Như chiếc X2-01 tuy có bộ nhớ trong là 128MB nhưng nếu nó đã cài quá nhiều các ứng dụng khiến cho phần bộ nhớ đã sử dụng lên tới 120MB thì việc cài thêm một hệ thống tổng hợp tiếng nói sẽ là khó khăn hơn rất nhiều.
Một loại hệ thống hạn chế tài nguyên bộ nhớ và năng lực tính toán khác chính là các hệ thống nhúng. Sự ra đời của các bộ vi xử lý, vi điều khiển đã đánh dấu sự ra đời và phát triển của các hệ thống nhúng [4]. Chip vi xử lý đầu tiên 4004 vào năm 1971 cho mục đích tính toán thương mại được đưa ra bởi một công ty Nhật bản Busicom và sau đó đã được chắp cánh và phát triển vượt bậc bởi Intel để trở thành các bộ siêu xử lý như các chip được ứng dụng cho PC như ngày nay. Thập kỷ 80 có thể được coi là khởi điểm bắt đầu kỷ nguyên của sự bùng nổ về phát triển các hệ nhúng. Từ đó, khởi nguồn cho làn sóng ra đời của hàng loạt các chủng loại vi xử lý và gắn liền là các hệ nhúng để thâm nhập rộng khắp trong các ứng dụng hàng ngày của cuộc sống chúng ta. Ví dụ như, các thiết bị điện tử sử dụng cho sinh hoạt hàng ngày (lò vi sóng, TV, tủ lạnh, máy giặt, máy điều hoà, ...) và văn phòng làm việc (máy fax, máy in, máy điện thoại...), ... Các bộ vi xử lý và phần mềm cũng ngày càng được sử dụng rộng rãi trong rất nhiều các hệ thống nhỏ. Các loại vi xử lý được sử dụng trong các hệ thống nhúng hiện nay đã vượt xa so với PC về số lượng chủng loại (chiếm đến 79% số các vi xử lý đang tồn tại) và vẫn còn tiếp tục phát triển để nhằm đáp ứng và thoả mãn rất nhiều ứng dụng đa dạng. Trong số đó, vẫn còn ứng dụng với các chip vi xử lý 8 bit, 16 bit và hiện nay chủ yếu là 32 bit (chiếm khoảng 75%). Gắn liền với sự phát triển phần cứng, phần mềm cũng đã phát triển với tốc độ nhanh kém thậm chí sẽ tăng nhanh hơn rất nhiều theo sự phát triển hệ nhúng.
Cùng với sự phát triển của công nghệ điện tử, các thiết bị đo và điều khiển hiện đại càng ngày càng được thu nhỏ về kích thước, giảm về mức tiêu thụ năng lượng. Số lượng cấu kiện điện tử được tích hợp trong một chip IC ngày càng nhiều. Từ đó, dẫn đến việc làm giảm số lượng linh kiện cần cho thiết bị đồng nghĩa với việc giảm giá thành của thiết bị. Các chip được thiết kế cho các mục đích cụ thể như thế được gọi chung là ASIC (Application Specific Integrated Circuits).
Các chip ASIC sơ khai có quá ít cổng logic nên khả năng của các chip này cũng bị giới hạn. Kể từ những năm 1980 công nghệ thiết kế chip FPGA (Field Programmable Gate Array) cho xử lý số và FPAA (Field Programmable Analog Array) cho xử lý tương tự đã xuất hiện. Trong mỗi chip FPGA, số lượng cổng có thể lên tới hàng trăm nghìn và tốc độ xử lý thì ngày càng được nâng cao. Điểm mạnh của FPGA là khả năng tái lập trình không phụ thuộc và nhà sản xuất (Field Programmable) cho phép tạo ra các chip phù hợp với yêu cầu của nhà thiết kế chip. Gần đây, việc sử dụng FPGA càng được đẩy mạnh đặc biệt là khi các phần mềm thiết kế cung cấp khả năng chia sẻ các IP (Intellectual Property) là các thiết kế cơ
sở cho một chức năng. Với việc sử dụng các IP khác nhau, người thiết kế có thể nhanh chóng tạo ra một chip mới từ các tài nguyên đã có. Tuy nhiên, đây cũng là hạn chế của thiết kế FPGA, do các hãng chế tạo chip khác nhau thường không chia sẻ IP cho nhau nên người thiết kế phải phụ thuộc vào thư viện IP mà chính hãng cung cấp.
Một hướng phát triển chip gần đây đang được đẩy mạnh và đem lại nhiều lợi ích trong đơn giản hoá thiết kế và giảm chi phí đầu tư là sử dụng các chip vi hệ thống SOC (System On a Chip). Đây là dạng chip đơn mà trong đó được tích hợp đầy đủ như chức năng của một máy tính bao gồm một lõi xử lý, các bộ nhớ ROM/RAM, các giao diện vào ra, các chức năng số và tương tự, hệ lệnh, … Trong chip SOC có chứa bộ nhớ mà người thiết kế có thể nạp các đoạn chương trình của mình vào nhằm thực hiện một số chức năng phù hợp. Việc sử dụng phần mềm thay thế các khối phần cứng như thế này trong nhiều trường hợp đã đem lại lợi ích vô cùng thiết thực, cắt giảm được việc sử dụng tài nguyên phần cứng. Từ đó giảm đáng kể chi phí thiết kế cũng như kích thước mạch điện tử, đặc biệt đối với các ứng dụng đo điều khiển thông dụng. Đặc biệt, khi mà công nghệ ngày càng phát triển (như công nghệ nano) thì các chip SOC càng ngày càng được bổ sung tài nguyên, tăng tốc độ xử lý thì nó sẽ càng ngày tiệm cận với FPGA về tốc độ xử lý và độ tin cậy, trong khi lại vượt trội về khả năng xử lý tín hiệu hỗn hợp (mixed signals) gồm cả tín hiệu số và tín hiệu tương tự, đồng thời làm tăng hiệu quả của chi phí thiết kế cũng như sản xuất cho không chỉ phần chip mà toàn bộ thiết bị.
Việc thiết kế trên nền SOC tuy nhiên phức tạp hơn rất nhiều khi thiết kế trên FPGA do phải đáp ứng nhiều điều kiện từ thiết kế mạch tới quản lý nhiệt và thử nghiệm. Xây dựng một chip SOC từ các khối, các thư viện khác nhau là một thử thách lớn nhất là khi các khối này không tương thích với nhau. Tuy rằng chi phí và công sức bỏ ra cho việc thiết kế chip SOC là lớn, nhưng với các lợi ích như đã đề cập ở trên và một tương lai đầy triển vọng, rất nhiều nhà sản xuất chip lớn trên thế giới đã bắt đầu đầu tư theo hướng này. Tiêu biểu như Intel với chip SOC lõi Atom, TI với các chip SOC lõi DSP hoặc ARM, Atmel với chip lõi 8051 hoặc ARM, ngay cả IBM cũng liên kết với Sony và Toshiba để phát triển một họ chip SOC gọi là Cell và dùng cho Play Station 3. Ngoài ra còn phải kể đến các hãng khác như Motorola, Philips, STMicroelectronics, AMD, Cypress đều có các sản phẩm chip SOC khác nhau.
Bảng 1.5.3: Các họ chip PSoC
Đặc tính PSoC1 PSoC3 PSoC5
Tốc độ xử lý 24MHz 67MHz 80MHz
Bộ nhớ RAM tối đa 2 KBytes 8 KBytes 64 KBytes Bộ nhớ Flash tối đa 32 KBytes 64 KBytes 256 KBytes
Bảng 1.5.4: Một số PDA
Chúng loại Kích thước bộ nhớ trong Tốc độ xử lý
Acer n30 64MB 266MHz
Chương 2 - TỔNG HỢP TIẾNG NÓI TỪ VĂN BẢN VÀ YÊU CẦU TRÊN HỆ THỐNG TÀI NGUYÊN HẠN CHẾ